4因子分析-Factor Analysis
往往会有一些共同的因子支配着几种分析变量,造成这些分析变量之间往往存在相关性。因子分析就是通过对多个变量的相关系数矩阵的研究,找出同时影响或支配所有变量的共性因子。因子分析的应用有:(1)通过对变量相关关系探测,寻找作用于这些有强相关关系的变量的共同因子。用这些较少的几个因子代表原数据的基本结构;(2)用个数较少的几个因子变量代替原变量进行回归分析、聚类分析等。因子分析的基本思想是:(1)假定可用变量间的相关性把它们分组,即假设组内所有的变量之间是高度相关,而不同组变量间是弱相关;(2)假定每一组变量存在一个导致其组内变量高度相关的潜在(不能观察)公共因子;(3)假定因子对观测变量的影响是线性的。这些潜在的公共因子有以下特点:(1)因子变量的个数远远少于原始变量的个数;(2)因子变量并不是原始变量的简单取舍,而是一种新的综合;(3)因子变量之间没有线性关系;(4)因子变量具有明显的解释
性,可以最大限度地发挥专业分析作用。 4.1数学模型
设有p个经过标准化的观测变量x1,x2,…,xp, 每个变量可由一组因子变量f1,f2,…fm的线性组合表示,即:
x1?a11f1?a12f2?...?a1mfm??1x2?a21f1?a22f2?...?a2mfm??2?
xp?ap1f1?ap2f2?...?apmfm??pX?利用矩阵记号:p?1P?mm?1Af?ep?1
各个指标变量都受到fi的影响,因此fi称为公共因子,A称为因子载荷矩阵,ei…,是单变量Xi所特有的因子,称为Xi的特殊因子(unique factor)。设f1,f2,
fm分别是均值为0,方差为1的随机变量,即D(f)?Im;特殊因子e1,e2,…,
22,…,dp的随机变量,即ep分别是均值为0,方差为d12,d222各特殊因子之间及特殊因子与公共因子之间都是D(e)?diadg12(,d2,?,dp)?D;相互独立的,即Cov(ei,ej)?0,i?j及Cov(e,f)?0。aji是第j个变量在第i个公共因子上的负荷,从投影的角度看,aji就是Xj在坐标轴fi上的投影。 主成份分析的目标是降维,而因子分析的目标是找出公共因素及特有的因素,即公共因子与特殊因子。在主成份分析中,残差通常是彼此相关的。在公因子分析中,特殊因子起到残差的作用,但被定义为彼此不相关且和公因子也不相关。而且每个公因子假定至少对两个变量有贡献,否则它将是一个特殊因子。在开始提取公因子时,为了简便还假定公因子彼此不相关且具有单位方差。在这种情况下,向量X(其每一个元素是一个向量,所以X实际上是一个矩阵)的协方差矩阵Σ可以表为
??D(X)?D(Af?e)?AA??D(D是对角阵)
22),diag表示对角矩阵。如果假定已将X标准化(类似上这里D=diag(d12,d2,?,dp面的数据的中心化),也就是说的X每一个分量Xi的均值都为0,方差都是1,即
D(Xi)?1,那么
?Xi?ai1f1?ai2f2???aimfm?ei?m ?1?Var(X)?a2?d2?iiji?j?1?1?hi2?di2,i?1,2,?,p
称为公共因子f对Xi的“贡献”。hi2实际反映了变量Xi对hi2反映了公共因子f对Xi的影响,公共因子f的依赖程度。
另一方面,还可以考虑指定的一个公共因子fj对各个变量Xi的影响。实际上,fj对各个变量Xi的影响可由A中第j列的元素来描述,那么
2 g??aij2ji?1p
2称为公共因子fj对X的“贡献”。显然gj越大,fj对X的影响就越大,gj成为衡量因子重要性的一个尺度。实际上
2Cov(Xi,fj)??aikCov(fk,fj)?Cov(ei,fj)?aij
k?1m那么矩阵A的统计意义就非常清楚:
? aij是Xi和fj的相关系数; ?
hi2是Xi对公共因子f的依赖程度;
2? gj是公共因子fj对X的各个分量总的影响。
下面我们来看怎样求解因子载荷矩阵A。
因子载荷矩阵的求解
如果已知X协方差矩阵?和D,可以很容易地求出A。??D?AA?。记?*???D,则?*是非负定矩阵。若记矩阵?的p个特征值?1≥?2≥?≥?m>?m?1 = ? =
*
?p= 0,且m个
非零特征值所对应的特征向量分别为?1,?2,?,?m,则?*的谱分解式为
???2?2?2?????m?m?m??*??1?1?1 ?只要令
??1?1,?2?2,?,?m?mA????1?1,?2?2,?,?m?m??
(36.9)
??1?1,?2?2,?,?m?m
?(36.10)
就可以求出因子载荷矩阵A。
但在实际问题中,我们并不知道?、D,即不知道?*,已知的只是n个样品,每个样品测得p个指标,共有np个数据,样品数据见表6.1所示。为了建立公因子模型,首先要估计因子载荷A和特殊因子方差di2。常用的参数估计方法有以下三种:主成份法、主因子解法和极大似然法。
1. 主成份法
主成份法求因子载荷矩阵A的具体求法如下:首先从资料矩阵出发求出样品的协方差矩阵,?,其特征值为????????0,相应单位正交特征向量为?,?,?,?,当记之为?12p12p?进行谱分解可以近似为 最后p?m个特征值较小时,则对????1?1?1???2?2?2?????m?m?m??D ??相应的前m个较大特征值。先取a?其中?1≥?2≥?≥?m> 0是协方差矩阵?1(36.11)
?1?1,然
??aa?是否接近对角阵。如果接近对角阵,说明公共因子只要取一个就行了,所有指后看?11??aa?不是近似对角阵,就取a?标主要受到这一个公共因子的影响;如果?112?2?2,然后
??aa??aa?是否接近对角阵,如果接近对角阵,就取两个公共因子;否则再取看?1122a3??3?3,?,直到满足“要求”为止。这里的“要求”要视具体情况而定,一般而言,
就象主成分分析一样,直接取前q个特征值和特征向量,使得它们的特征值之和占全部特征
q??值之和的85%以上即可。此时,特殊因子方差d??ii2i?at?12ti,i?1,2,?,p。
2. 主因子解法--------是一种迭代法
主因子解法是主成份法的一种修正,它是从资料矩阵出发求出样品的相关矩阵R,设
?*)2,也就是已R?AA??D,则R?D?AA?。如果我们已知特殊因子方差的初始估计(di?*)2?1?(d?*)2,则约相关阵R?R?D为 知了先验公因子方差的估计为(hii*?*)2?(hr12?r1p?1??*2??r21(h2)?r2p?*R???(类同AA’)
?????????????*)2?rr?(h??p2p?p1?*(36.12)
**计算R的特征值和特征向量,取前m个正特征值?1??*2????m?0及相应特征向量为**,则有近似分解式 ?1*,?2,?,?mR*?AA?
*1*1*2*2*m*mm(36.13)
?2?1?a2,i?1,2,?,p,则A和其中A?(??,??,?,??),令d?tiit?1?2,d?2,?,d?2)为因子模型的一个解,这个解就称为主因子解。 D*?diag(d12p?*)2,那么特殊因子方差的初始上面的计算是我们假设已知特殊因子方差的初始估计(di估计值如何得到呢?由于在实际中特殊因子方差di2(或公因子方差hi2)是未知的。以上得到的解是近似解。为了得到近似程度更好的解,常常采用迭代主因子法。即利用上面得到的
?2,d?2,?,d?2)作为特殊方差的初始估计,重复上述步骤,直到解稳定为止。 D*?diag(d12p公因子方差(或称变量的共同度)常用的初始估计有下面三种方法:
? hi2取为第i个变量与其他所有变量的多重相关系数的平方(或者取di2?1/rii,其
中r是相关矩阵R的可逆矩阵Rii?1的对角元素,则hi2?1?di2);
? hi2取为第i个变量与其他所有变量相关系数绝对值的最大值; ? 取hi2=1,它等价于主成份解。
3. 极大似然法
假定公共因子f和特殊因子e服从正态分布,那么我们可得到因子载荷阵和特殊方差的极大似然估计。设p维的n个观察向量x(1),x(2),?,x(n)为来自正态总体Np(?,?)的随机样本,则样本似然函数为?和?的函数L(?,?)。设??AA??D,取??x,对于一组确定的随机
?已经变成了确定已知的值,样本,则似然函数L(?,?)可以转换为A和D的函数?(A,D)。
接下来就可以求A和D取什么值,函数?(A,D)能达到最大。为了保证得到唯一解,可以附