一、主成分分析
主成分分析流程
1、原始数据标准化。
2、计算标准化变量间的相关系数矩阵。
3、计算相关系数矩阵的特征值和特征向量。
4、计算主成分变量值。
5、统计结果分析,提取所需的主成分。
相关系数公式
主成分计算公式
其中Y是主成分变量矩阵,X是原始数据标准化后的矩阵,U是相关系数矩阵的特征向量。
特征值和特征向量的关系
主成分变量对应的特征向量的每个元素,与对应的特征值的平方根的乘积,等于该主成分变量,与该元素列标签对应的原始变量之间的相关系数。这是特征值与特征向量隐藏的
秘密,可以用矩阵代数严格推导出来。看不懂请看下图。图中的eigVec1至eigVec4是4个特征向量,对应的特征值分别为eigVal1至eigVal4。在每个列中进行操作,用特征向量
每个元素分别乘以对应特征值的平方根,得到该主成分变量与所有原始变量的相关系数。
一些概念:
原始变量之间的相关系数矩阵:可以看出原始变量之间的相关性。
原始变量和主成分变量之间的相关系数矩阵:可以看出主成分变量受原始变量影响的程度。
主成分变量之间的相关系数矩阵:主成分变量之间相关系数为零。
特征值:原始变量相关系数矩阵的特征值。
特征向量:原始变量相关系数矩阵的特征向量。
二、主成分分析与因子分析的联系与区别
两种方法的出发点都是变量的相关系数矩阵,在损失较少信息的前提下,把多个变量(这些变量之间要求存在较强的相关性,以保证能从原始变量中提取主成分)综合成少数几
个综合变量来研究总体各方面信息的多元统计方法,且这少数几个综合变量所代表的信息不能重叠,即变量间不相关。
主要区别:
1. 主成分分析是通过变量变换把注意力集中在具有较大变差的那些主成分上,而舍弃那些变差小的主成分;因子分析是因子模型把注意力集中在少数不可观测的潜在变量(即公
共因子)上,而舍弃特殊因子。
2. 主成分分析是将主成分表示为原观测变量的线性组合,
(1)
主成分的个数i=原变量的个数p,其中j=1,2,…,p, 是相关矩阵的特征值所对应的特征向量矩阵中的元素,是原始变量的标准化数据,均值为0,方差为1。其实质是p维空间的坐
标变换,不改变原始数据的结构。
而因子分析则是对原观测变量分解成公共因子和特殊因子两部分。因子模型如式(2),
(2)
其中i=1,2,…,p, m是因子分析过程中的初始因子载荷矩阵中的元素, 是第j个公共因子,是第i个原观测变量的特殊因子。且此处的与的均值都为0,方差都为1。
3. 主成分的各系数,是唯一确定的、正交的。不可以对系数矩阵进行任何的旋转,且系数大小并不代表原变量与主成分的相关程度;而因子模型的系数矩阵是不唯一的、可
以进行旋转的,且该矩阵表明了原变量和公共因子的相关程度。
4. 主成分分析,可以通过可观测的原变量X直接求得主成分Y,并具有可逆性;因子分析中的载荷矩阵是不可逆的,只能通过可观测的原变量去估计不可观测的公共因子,即公
共因子得分的估计值等于因子得分系数矩阵与原观测变量标准化后的矩阵相乘的结果。还有,主成分分析不可以像因子分析那样进行因子旋转处理。
5.综合排名。主成分分析一般依据第一主成分的得分排名,若第一主成分不能完全代替原始变量,则需要继续选择第二个主成分、第三个等等,此时综合得分=∑(各主成分得
分×各主成分所对应的方差贡献率),主成分得分是将原始变量的标准化值,代入主成分表达式中计算得到;而因子分析的综合得分=∑(各因 子得分×各因子所对应的方差贡献
率)÷∑各因子的方差贡献率,因子得分是将原始变量的标准化值,代入因子得分函数中计算得到。
由于上文提到主成分可表示为原观测变量的线性组合,其系数为原始变量相关矩阵的特征值所对应的特征向量,且这些特征向量正交,因此,从X到Y的转换关系是可逆的,便
得到如下的关系:
(3)
下面对其只保留前m个主成分(贡献大),舍弃剩下贡献很小的主成分,得:
i=1,2,...p(4)
由此可见,式(4)在形式上已经与因子模型(2)忽略特殊因子后的模型即:
(2)*
相一致,且 (j=1,2,…,m)之间相互独立。由于模型(2)*是因子分析中未进行因子载荷旋转时建立的模型,故如果不进行因子载荷旋转,许多应用者将容易把此时的因子分析
理解成主成分分析,这显然是不正确的。
然而此时的主成分的系数阵即特征向量与因子载荷矩阵确实存在如下关系:
主成分分析中,主成分的方差等于原始数据相关矩阵的特征根,其标准差也即特征根的平方根,于是可以将除以其标准差(单位化)后转化成合适的公因子,即令,,则式(4)变为:(4)*
可得, (5)
式(5)便是主成分系数矩阵与初始因子载荷阵之间的联系。不能简单地将初始因子载荷矩阵认为是主成分系数矩阵(特征向量矩阵),否则会造成偏差。