关于主成分分析因子载荷矩阵中的负值?
的有关信息介绍如下:
前些天跟一位刚接触R的读者朋友聊了几句,TA问了几个关于主成分分析(PCA)的问题,而且我也不太清楚或者是忘了。PCA类似于因子分析,也有许多容易混淆的概念,以及让人困惑的地方。虽然在以前的一篇文章记录过PCA的基础知识,不过现在看来还需深入琢磨下,算是进行答疑解惑了。
我们先来重温下参考文章1(下称参1)的内容。PCA方法可以将一组变量转换成另一组变量(成分),并且采用排名靠前、分量较重的主要成分(主成分),来代表原先数据所包含的信息。通过降维的方式,实现信息的简化,但仍保留其主要方面的内容。
参1里所举例子用的数据是305个女孩8个身体指标(变量)的相关系数矩阵(见下图--图1)。例子打算通过PCA方法,用较少的变量来代替描述原始数据的基本特征。从图中我们可以了解到数据的基本面貌,身高与小腿、指距和前臂最为相关,而体重则是与股骨转子间径、胸围和胸宽最为相关。
参1还提到协方差矩阵在PCA中有着重要的地位,这是因为特征值和特征向量要根据它来计算。不过例子只是提供了相关系数矩阵,这样可以吗?答案是肯定的,将原始数据标准化后,计算得到的协方差矩阵就等于原始指标的相关系数矩阵。
我们先拿二阶矩阵(A)进行相关概念的说明,其相对应的二维向量(v)可以看做是平面中的一个(带箭头的)点,再把矩阵看做是一种运动。v左乘A后,其点的位置发生移动(见下图左--图2)。下图(2)指出A运动的特殊情形,并解释了何为A的特征值和特征向量。下图(3)则是解释了通过矩阵连乘的方式,找到原始数据的最大特征值及其对应的特征向量(详见参考文章2)。
现在,我们用eigen()函数来获得协方差矩阵(相关系数矩阵)的特征值和特征向量(见下图--图3),其中特征值之和等于相关系数矩阵对角线8个指标方差之和(1*8=8)。这个事情很能说明问题,即数据的变异一开始是分布在8个变量上,现在重新构建了一组变量,使得变异程度集中在了前两个变量上。它俩的方差分别为4.67和1.77,也即说明特征值就是方差。
上图还表明,8个特征向量组成了一个新的矩阵,称之为正交矩阵,8个列向量被称为单位正交基[3]。要是有原始数据,将其标准化后,左乘特征向量矩阵,就会得到新的一组变量,其中前两列变量的方差就是4.67和1.77。该过程被称作正交变换。
因此,PCA的求解过程大致是这样的。根据相关系数矩阵每次求得最大特征值,并找到对应的特征向量;删除对应变量后,依次求得其它特征值及其特征向量。然后,PCA会以八个特征向量为基建立新的坐标空间。如果有原始数据,通过投影操作,就能产生新的向量数据。
向量数据变换从另一个角度的解释是,在特征向量正交的前提下,特征值能够确定向量拉伸的大小,而特征向量则指明了拉伸的方向(通过旋转操作)。因此,协方差矩阵表示的是一种线性变换,它相当于是多个向量空间变换的函数。
PCA按照特征值的大小排序,将第一个成分对应最大特征值,第二个成分对应第二大特征值,以此类推。参1提到两种主成分(前几个成分)的提取方法,碎石图里选取拐点之上的主成分,而随机数据矩阵方法会生成相应的特征值,真实数据特征值大于它们的会被选取作为主成分。
上图(图4)是参1例子里提取两个主成分的结果。第一主成分(PC1)对原始数据的方差解释性最大(58%,算式为4.67/8),第二主成分(PC2)次之(22%,算式为1.77/8),两者总共解释了81%的方差。对于身高变量,两个主成分能够解释其88%的方差(h2列),体重则是85%的解释度。u2列数值等于1-h2,指示两个主成分无法解释的比例。
另外,SS loadings行指出了每个主成分所对应的特征值。黄框内容指示主成分的载荷,表明主成分与指标之间的相关系数。PC1与8个指标都是正相关,而PC2与前4个指标负相关、与后四个指标正相关。就相关系数而言,这里的4个负相关倒也没问题。
黄框内容里的主成分载荷并不是主成分与八个变量的线性组合系数,两者的关系是:系数等于载荷除以对应主成分特征值的平方根。例如PC1里,身高系数(0.184)=身高载荷(0.859)/特征值(4.673)(见下图--图5)。这里实际是除以特征值,应该是principal()函数的问题。
正确的系数可以查看图3里的特征向量矩阵部分,只是还有个小问题,为啥第一列成分的系数全是负的?明明上图PC1列的系数都是正的,虽然它们的数值要乘以4.673的平方根才对。而且第二列成分系数的正负符号又是匹配的,前四个负的、后四个正的。下图(图6)对成分与系数的关系做了呈现,还指出同一个成分所有系数组成的向量即是对应的特征向量。
为了构建恰当的概念,以便更好地对主成分进行解释,我们需要对目前的载荷矩阵进行旋转。同因子分析一样,PCA的旋转方法也分为正交旋转和斜交旋转,前者保持主成分之间的不相关,而后者是让它们变得相关。
上图(图7)是通过方差最大化正交旋转法得到的结果。这种方法通过坐标变换的方式,选择方差较大的维度来去除冗余信息。结果是,任何一个指标只在一个主成分上是高载荷,而在其它主成分上的载荷较小;任何一个主成分只在部分变量上是高载荷,而在其它变量上的载荷较低。
正交旋转后,第一主成分(此时用RC1表示)与前四个指标的相关度很高,更能代表身高相关的信息;而第二主成分(RC2)与后四个指标的相关度很高,更能代表体重相关的信息。两个主成分仍然不相关,而且它们对变量的解释度仍然保持不变(见h2列)。
两个主成分累计可以解释的方差还是81%,只是第一主成分方差的解释度有所下降(现在是44%),而第二主成分方差的解释度有所上升(现在是37%)。因此准确来说,此时主成分的称呼要变回成分了,因为第一主成分方差最大化的性质并没有保留。

