主成分分析
主成分分析:将多个有一定相关性的指标进行线性组合,以最少的维度解释原数据中尽可能多的信息为目标进行降维,降维后的各变量间彼此线性无关。
从其介绍中我们可以知道,主成分分析实际上是将相关性很强的变量通过一定的线性组合合并成一个综合变量,达到降维的效果,因此对于主成分分析只对那些变量间相关性强的变量才能有效降维。
- 推导角度一:
原来样本有p个变量x1···xp,现首先期望通过一个线性组合
使得相应的方差最大,接下来,类似的再通过一个线性组合找到第二个新变量
,使其在原样本信息中除被第一维度y1解释掉的部分,剩余部分信息的方差最大,依次类推下去,直到能够解释足够多的原样本空间信息(一般累计方差占80%以上),舍弃剩余的一些信息,以达到降维的效果。
详细的推导见下面两张图片(划得有点乱了,实在抱歉啦)

图1

图2
- 推导角度二:
对于正交空间的样本点,寻找一个超平面,使得- 最近重构性:样本点到这个超平面的距离足够近;
- 最大可分性:样本点在这个超平面上的投影能尽可能分开;
周志华老师的书中表明这两种方法得到的是公式是等价的。

图3

图4
我觉得周老师书中的最近重构性也可以理解为丢失掉的信息尽可能少,因为得到新的正交坐标系的基向量{w1,w2,w3`xd},然后丢弃掉一些坐标维度后,将源空间的样本点投影到新空间得到新空间样本点Zi,然后基于Zi重构xi,最后计算两者的距离,使其距离和最小,实际上就是通过距离来度量损失掉的信息,令丢失掉的信息最少,即距离最大,得到新的坐标维度。
因子分析
- 因子分解
因子分析概括来说就是要得到一些公共因子,利用这些因子来解释原来的样本空间数据,即将X进行分解,X=AF,即
.目标也是尽可能保留x中的信息。
- 因子旋转
- 因子得分计算
得到意义明确的公共因子之后,由于我们之前实际上是得到了因子载荷矩阵A,即得到了下述方程组
,但是我们会发现,方程数量p多余我们要求的值F的数量,这样一来我们需要用一些手段来得到近似F,比如回归法等等,来计算出因子得分,也就是各个样本各个因子的实际值。
详细推导见下述,也画的有点多了,见谅
因子分解的推导

图5

图6

图7
因子旋转的具体过程

图8

图9
因子得分的计算

图10
——————————————————————————————————————
总结一下主成分分析的步骤和因子分析的步骤:
主成分分析分析过程:
因子分分析分析过程:
- 将原始数据标准化,以消除变量间在数量级和量纲上的不同。
- 求标准化数据的相关矩阵。(标准化数据的协方差矩阵就是原数据的相关系数矩阵)
- 求相关矩阵的特征值和特征向量。
- 计算方差贡献率与累计方差贡献率。
- 确定因子:设F1,F2,F3…Fp为p个主成分,其中前m个因子的的总信息量(方差贡献度)不低于80%时,课提取前m个因子来反映原评价对象。
- 因子旋转:若所获得的m个因子无法确定或其实际意义不是很明显,这时需将因子进行旋转以获得较为明显的实际意义。
- 用原指标的线性组合来计算各因子得分:采用回归估计法,Bartlett估计法计算因子得分
- 综合得分:以各因子的方差贡献率为权,由各因子的线性组合得到综合评价指标函数

- 得分排序:利用总得分得到得分名次
———————————————————————————————————————
说一下我的理解:主成分分析和因子分析的区别和联系(可能理解有误,希望大家能指正)
1、主成分的目的是将原来的几个相联系的变量通过线性组合压缩成少数的几个综合变量,加以考察,但是这几个综合变量往往不具有明显的现实意义,而因子分析则是期望将一些相互联系的变量压缩,也是通过线性组合得到一些公共因子,这些公共因子往往有明显的现实意义。一个在于将原来的变量综合(Y=AX),一个在于将变量分解,提取公共因素(X=AF)。
2、主成分分析的目标是以尽可能少的综合变量去蕴含原来数据中尽可能多的信息,而因子分析的目标是尽可能包含原数据尽可能多的信息量,没有要求要以尽可能少的因子。也就是说主成分分析的关键在于“变异数”的问题,希望综合指标尽可能少,而因子分析在于共变异数的问题,也就是希望变量能够提取出原数据中共有信息(共有方差/变异)。
对于其中说的共有方差/变异有些难理解,我是这样来理解的。

因子分解如上图所示,这个等式X=AF+e可以理解成一个回归式,因变量是X,自变量是F,e是误差(随机变量),所以实际上该因子分解时在做一个提取影响X的自变量(公共因子)的过程,也就是提取共有方差。
3、当因子分析的特殊因子方差贡献率为0时,主成分分析和因子分析(使用主成分法求公共因子)是完全等价的。两者的系数矩阵之间只是相差一个系数,这个系数是各个特征根的二次平方根。当主成分分析取标准化系数时,两个系数矩阵就完全一致了。

——————————————————————————————————
验证性因子分析
上面所说的因子分析也就是常用的探索性因子分析,而实际因子分析还有一种验证性因子分析,验证性因子分析正如其名字,是用来验证一种结构的,举一个例子:根据理论我们可以构建出一个问卷,问卷中有很多题目,其中1-3题共同反映因子A,4-6题共同反映因子B,然后便可以使用验证性因子分析(CFA),去验证这种关系是否存在,以及问卷设计的信效度是否很好。具体的介绍可以我的这篇博文
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218981.html原文链接:https://javaforall.net
