《主成分分析与因子分析关系探讨及软件实现.pdf》由会员分享,可在线阅读,更多相关《主成分分析与因子分析关系探讨及软件实现.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主成分分析与因子分析关系探讨及软件实现O 弓I 畜别、德山(辽宁师范大学数学学院,辽宁大连11 6 0 2 9)摘要:文章论述了主成分分析与因子分析之间的区别与联系同时指出S P S S 软件实现主成分分析的错误之处,并给出其正确的实现方法。另外,针对文献【4,5 1 中提出的因子分析模型精确解加以探讨,指出其精确解实际上就是主成分解,并以具体实例加以说明。关键词:主成分分析;因子分析;特征值;特征向量;栽荷矩阵中图分类号:0 2 1文献标识码:A文章编号:1 0 0 2 6 4 8 7(2 0 0 8)1 3-0 1 5 3 0 3实际中所研究的问题经常涉及多个指标变量由于变量个数太多,并且
2、彼此之问存在一定的相关性使得数据存在着一定的信息重叠。于是人们希望能用较少的综合变量来代替原来信息冗余的较多的变量,且这几个综合变量又能充分反映原来变量的信息。且彼此之间不相关。主成分分析就是将多个指标化为少数几个综合指标的统计方法。因子分析是主成分分析的推广因子分析的目的是用几个潜在的随机量去描述多变量间的协方差关系,这些随机量叫做因子。因子分析与主成分分析存在密切的联系,但也有显著的区别。目前已经有很多软件能够实现主成分分析和因子分析,其中最常用的是S P S S 和S A S。S P S S 并没有单独实现主成分分析的功能模块而是将其嵌入在因子分析模块中。这也使得在应用时容易造成二者之间
3、的混淆。本文将阐述它们之间的区别与联系,从而揭示二者之间的易混淆之处并给出其正确的软件实现方法。另外,本文将针对文献【4,5】中的因子分析模型精确解展开一些讨论。1主成分分析与因-T-f r#i t l,2 31 1 主成分分析设研究对象涉及P 个指标,分别用X。,X 2,X。表示,这P 个指标构成的P 维随机向量为x=(x。,X 2,X p)7。设随机向量X 的均值为斗,协方差矩阵为。主成分分析就是对X进行线性变换以形成新的综合变量用Y 表示,即满足下式:Y i-u X+1 1 一+u P i=l,2,p(1)为了使新的综合变量能够充分反映原来变量的信息希望Y;的方差尽可能大且各Y;之间不相
4、关。由于没有限制条件方差可以任意大,于是有下面的约束条件:u i l 2-b l l i 2 2+u 占l(i=l,2,p)。满足条件的Y 被称为第i 个主成分。理沦推导可知主成分可以由协方差矩阵求出。设协方差矩阵的特征值一特征向量对为(入U),供,u p),其中入-入2 入。I 0,则第i 个主成分为Y;-1 1 于是有v a r(Y J=k。一般选取累计贡献率达到8 5 以上的前几个主成分作为研究的指标。主成分的选取也要考虑其解释能力。当协方差矩阵未知时,一般南样本协方差矩阵来代替。主成分也可以由相关矩阵求出但其结果有时与协方差矩阵求出的结果是不同的。一般为了消除量纲的影响经常由相关矩阵求
5、主成分。当数据被标准化处理后,协方差矩阵和相关矩阵是相同的。1 2 因子分析主成分分析是将原始变星综合成若干个主成分变量来表示,而因子分析是将原始变量用若干个公共的因子变量来表示。因子分析有R 型因子分析和Q 型因子分析,这里我们只讨论R 型因子分析。为了方便这里把原始变量及标准化后的变量均用X 表示,F 1,F z,,蹦m p),表示标准化后的公共因子。构造因子分析模型需要以下条件满足:(1)X=()(1,x 2,x p)7 是可观测随机向量,E(X)-0,C O V()【)=,这里将X 看作是标准化变量。所以协方差矩阵与相关矩阵R 相等。(2)F=伊I,F 2,,F J 7(m p)是不可
6、观测的变量E(D-0,c o v(D:I,即F 的各分量是互不相关。(3)e=(8 I,8 2,8 p)7 与F 互不相关,且E(e)-0,协方差矩阵为对角矩阵。=d i a g(t r u 2,c r 2 2 2,叮0,即8 的各分量之间也是互不相关的。因子分析模型为X i=a l l F l+a 垃F 一+a h。F:一i,i=l,2,p(2)模型(2 1 写成矩阵形式为:X=A F+8。(3)a“1其中,A=l;il,F 为公共因子A 为因子载荷矩阵,e【J为特殊因子。由因子分析假设易知C O v()【。D=a i i,由于都是标准化变量,所以也是二者的相关系数。称h i 2=a i l
7、 2+a 淑i-l,2,统计与决策2 0 0 8 年第1 3 期(总第2 6 5 期)1 5 3 万方数据p)为x i 的共同度,其表明X;对公共因子的依赖程度,其值越大表明公共因子解释X;方差的比例越大,因子分析的效果越好。另外g j 2=a-j 2+2 0=1,2,-,m),为公共因子E 对x 所提供的方差贡献。通过该值的大小可以提炼出最有影响的公共因子。2 主成分分析与因-子J Y T 的区别与联系由前所述我们不难理解求主成分相对简单。只要求出协方差矩阵(或相关矩阵)的特征值和特征向量,然后通过式(1)就可以计算出主成分得分,进而完成主成分分析。而因子分析可分为确定因子载荷、因子旋转及计
8、算因子得分三个步骤。确定因子载荷的方法有主成分法、主轴因子法、极大似然法等。不管何种方法确定的初始因子载荷矩阵都不是唯一的。其因子的意义往往含糊不清。为此,往往采用因子旋转的方法得到更明确、更具实际意义的公共因子。因子旋转法有正交旋转和斜交旋转等。因子载荷矩阵确定以后,还要计算各个因子得分。由于公共因子是不可观测的,一般通过式(2)无法直接计算因子得分。计算因子得分的方法有加权最d*-乘法、回归法等。由此可知因子分析的意义更广泛。因子分析中确定因子载荷矩阵的主成分法可以建立因子分析与主成分分析之间的联系。下面给出确定因子载荷矩阵的主成分法。由于式(1)中各个特征向量是正交的,因此很容易得到由Y
9、 到X 的转换关系:X i-u u Y I+u J 一+u _ Y P i=l,2,P”只保留前m 个主成分而把后面的部分用;代替,则(4)变为:X i-U I i Y l+u z Y 2+u d Y。I+扣i=l,2,p(5)(5)式在形式上与因子分析模型(2)是一致的,且X(i-1,2,m)之间互不相关。为了使Y;为满足条件的公共因子,只需将其标准化。于是令F i=Y i k i i,a i i、ku i,则(5)变为:X;=a l l F l+a 岔F 一+a i。F m+8 j i=l,2,p(6)于是根据主成分法求得的初始因子载荷矩阵(未旋转)为:A=(、入IU b、入2u 2 。、
10、入l。u J式(7)正是主成分分析与因子分析的联系所在。当然因子分析可进一步进行因子旋转而得到最终的因子载荷矩阵。3主成分分析的S P S S 软件实现下面给出主成分分析的S P s S 软件实现方法,并与S A S软件的结果进行比较。S P S S 软件中没有单独的主成分分析模块,而是将其嵌入在因子分析模块中但应用时很容易将二者混淆,进而导致错误的结果。目前很多关于S P S S 软件的书上介绍主成分分析的操作步骤都是不完善的,原因是所做的结果实际上是未旋转的因子分析。下面以文献【3 中的一个例子来说明正确的操作方法。该例是随机抽取的3 0 名学生的数据,包括身高、体重、胸围和坐高四个指标。
11、这里略去原1 5 4统计与决策2 0 0 8 年第1 3 期(总第2 6 5 期)始数据。S P S S 软件实现主成分分析的步骤为:(1)选A n a l y 距一D a t aR e d u c t i o n-*F a c t o r 打开因子分析对话框;(2)将四个指标变量选入V 商a b l e s 窗1 2 1 中;(3)在D e s c r i p t i v e s 按钮的对话框下选中c o e f f i c i e n t s。表明按照相关矩阵计算;在E x t r a c t i o n按钮对话框下M e t h o d 下选P r i n c i p a lc o m
12、p o n e n t s,E x t r a c tN u m b e ro ff a c t o r s 取2;(4)R o t a t i o n 按钮对话框下,M e t h o d 选N o n e,表示不旋转;(5)S c o r e s 按钮对话框下,选中S a v ea sv a r i a b l e s。M e t h o d 选R e g r e s s i o n;(6)点击O K 完成。前两个特征值为3 5 4 1 和0 3 1 3 主成分的累计贡献率为9 6 3 6。表l 列出了前1 0 个样本的得分情况,即F,F 2。注意这里并不是主成分得分,而是因子得分很多教材
13、中将此结果误认为主成分得分。可以根据关系式F I=Y V 酉得主成分表达式为Y i _、kF i。因此只要将表l 的F a c t o r l 乘上、丽。f a c t o r 2 乘上、丽就能得到主成分得分。这个计算过程可以通过S P S S 的T r a n s f o r m 菜单下的C o m p u t e 来完成。S A S 软件可以直接得到主成分得分,经过上面乘系数后的主成分得分与S A S 得到的结果一致。以上结果表明。主成分分析和采用主成分法的未旋转的因子分析非常相近。它们的得分只差一个系数而已。之所以人们长期采用S P s S 进行错误的主成分分析而并未引起人们的注意就是因
14、为其与因子分析只差一个系数而并不影响主成分得分的最终排序。衰1因子得分学生序号F a c t o r lF a c t o r 2学生序号F a c t o r lF a c t o r 2l一0 3 6 5 34 1 8 2 461 1 0 0 1 2 5一5 6 7 0 12一8 3 3 4 91 2 6 1 8 677 4 2 4 71 0 6 3 l31 4 8 7 9 9一6 8 4 2 084 3 1 4 81 3 7 1 7 24一3 9 7 0 7一1 4 1 5 6 694 8 8 3 31 0 2 6 9 051 4 3 1 4 2一0 3 0 1 71 0-1 2 3 5
15、 4 86 4 1 6 24 因子分析模型的软件实现结合文献【4,5】中的例子讨论关于因子分析模型的精确解,并给出因子分析模型的软件实现过程。数据来自于2 0 0 2年广东卷烟工业企业其中变量指标为7 个,样本数也是7个。这是一个小样本数据。首先给出文献4,5 1 0 的因子分析模型精确解。因子分析模型L 未旋转的精确解为:g m=g?ZF Z?v 产k i-l,2,n l,B 产B 只Z|=v i=u m,B,Z|=B;8 庐K 善t其中B m 为因子载荷矩阵,B。o(Q 入。I 2,,伍A。;乙为降维因子,Z?鲁(f l 入。一1 1 2,工k ,B。为误差因子载荷矩阵,B 粤(。l-u+
16、。入。I 2,叭;z。称为随机误差因子,8 0 皇(f 0 I x。巴,K 马;v。称为因子z i 的方差贡献;(入。a。),(k 曲(k k k o)为相关矩阵的特征值一特征向量对;f;i=l,2,r 为主成分解。因子分析模型L 旋转后的精确解就是将初始因子载荷矩阵乘上一个旋转矩阵C。这里不再给出。万方数据根据本文第2 部分的关系式F i=Y 八i,并与(7)式比较可知,因子分析模型L 未旋转的精确解实际上就是(7)式,旋转后的精确解就是将(7)式乘上一个旋转矩阵。下面结合S P S S 和S A S 软件给出本例的解。为了与文献【4,5】中的结果比较这里采用主成分法求因子载荷矩阵,主成分个
17、数取3 并采用最大方差正交旋转法求旋转矩阵。因子分析模型的S P s S 实现参考第4 部分的步骤只是在第4 步的R o t a t i o n 按钮对话框下,在M e t h o d 下选择一种旋转方法,本例选择方差最大正交旋转。因子分析的S A S 实现程序见表2,其中选项“e i g e n v e c t o r s”表明输出相应的特征向量。襄2因子分析程序d a t as h u j u;i n p u tT l a m e lx l-x 7;c a r d s;,数据略;p r o cf a c t o rd a t a f s h u j um 幽o d-#nt o t a t
18、e=vn-3 _ c o mo m=o u f fe i g e n v e c t o r sv a tx l-x 7;r u n;p r o cp r i md a t a=o u a;v f a e t o r lf a c t o r 2f a c t o r 3;r u n;由相关矩阵求得前三个特征值为:h-4 1 8 2 8 6 1 7 9,沁=1 3 2 7 5 7 0 1 1,入F 1 1 2 1 8 5 9 2 0,其累积贡献率为9 4 7 5;对应的特征向量分别为:Q I-(O 4 5 0 8 9 80 1 2 1 0 5 00 4 4 2 0 7 70 3 9 0 3 8
19、 20 3 6 6 6 6 60 4 4 8 9 8 10 3 1 3 3 3 6),毗=(-o 2 2 0 3 5 40 4 7 7 7 9 30 0 9 3 9 2 9 _ o 5 0 7 2 1 60 5 1 3 9 9 20 2 6 5 4 3 5-0 3 4 9 8 9 2),a 3-0 0 5 7 9 0 40 7 3 3 4 2 7-o 3 0 4 1 1 90 0 5 0 3 2 2-0 1 2 9 0 4 9_ o 1 7 1 7 7 80 5 6 3 5 1 5)。根据(7)式可求出初始因子载荷阵:f0 9 2 2 1 9 0 2 4 7 5 70 9 0 4 1 40 7
20、 9 8 4 10 7 4 9 9 10 9 1 8 2 60 6 4 0 8 4A=I-0 2 5 3 8 90 5 5 0 5 10 1 0 8 2 2-0 3 8 4 4 20 5 9 2 2 20 3 0 5 8 3-0 4 0 3 1 511 0 6 1 3 3o 7 7 6 8 3 0 3 2 2 1 20 0 5 3 3 0 o 1 3 6 6 9 n 1 8 1 9 4o j 9 6 8 6 o 7 7 0 40 6 2 6 8 10 11 8 9 7 最大方差旋转矩阵为c=1 0 4 8 4 6 2-0 6 9 5 9 4o 5 2 9 9 3I。-0 4 1 4 9 6o
21、3 5 0 4 lo 8 3 9 6 6 由此得旋转后的因子载荷矩阵:0 6 1 2 5 20 1 3 5 明0 8 8 2 3 30 3 0 9 4 70 9 2 11 80 9 3 0 0 0 5 0 4 21A C=f 0 7 3 3 2 30 0 4 4 2 70 3 7 8 5 30 9 2 5 8 40 0 1 0 0 0 0 2 9 8 9 8 0 8 9 1 3 9ll-0 0 7 6 3 30 9 7 3 4 6-0 1 0 5 5 5-0 1 6 9 9 50 2 8 8 2 80 1 1 8 5 5 0 3 6 3 7 6tS P s S 和S A S 所求得的因子载荷矩
22、阵与上面的载荷矩阵完全相同表明两种软件都是通过上述方法求因子载荷矩,阵,文献【4,5】中的方法也是如此。根据因子载荷矩阵,S P S S 和S A S 通过回归法求样本的因子得分,如表3 所示这里略去计算综合排名。由于不同软件的计算精度的差异,其结果可能稍有不同。本例中两种软件的计算结果除了个别样本小数点后几位稍有不同外其结果几乎一样。衰3因子得分企业名称F a c t o r i捧名F a c t o r 2排名F a c t o r 3排名广州一厂7 9 0 4 l2一7 1 6 4 66一1 8 7 7 5 87广州二厂1 8 7 4 0 910 4 0 2 251 0 4 1 8 0l
23、韶关厂一2 2 2 1 747 1 1 2 826 0 5 5 53梅州厂一6 6 8 5 751 1 2 4 6 2l一0 5 1 1 95南海厂一1 5 6 4 532 4 5 9 340 6 7 7 64湛江厂一6 7 7 5 864 5 1 7 83一5 9 7 6 66廉江厂一9 3 9 7 37-1 8 5 7 3 678 1 1 3 22根据主成分法进行的因子分析,由于有关系式E=Y、。因此只要求出特征向量和特征值就可直接求得因子得分,而并不需要根据回归法来计算因子得分。S P s S 和S A S 软件一般根据回归法求因子得分。当然也可选择其它方法。本例中两种软件求得的因子得分
24、系数矩阵是不同的但其求得的因子得分是相同的。这说明两种软件在处理小样本数据时计算因子得分系数矩阵的方式是不同的,但其计算结果是正确的。参考文献:【l】何晓群编著现代统计分析方法与应用(第二版)【M】北京:中国人民大学出版社2 0 0 7。【2 R i c h a r dA J o h m o n。D e a nW W i e h e m 著,陆破,葛余博等译实用多元统计分析(第四版)【M】北京:清华大学出版社,2 0 0 1【3 1 高惠琏鳊著实用统计方法与S A S 系统【M 1 北京:北京大学出版社2 0 0 1【4】林海明王翊因子分析模型L 及其解是更好的叨统计研究,2 0 0 7,(8
25、)【5】林海明小样本因子分析的S A S 软件计算与综合评价【刀统计与决策(理论版),2 0 0 6,(1 2)(责任编辑易永生)统计与决策2 0 0 8 年第1 3 期(总第2 6 5 期)1 5 5 万方数据主成分分析与因子分析关系探讨及软件实现主成分分析与因子分析关系探讨及软件实现作者:孙德山作者单位:辽宁师范大学数学学院,辽宁,大连,116029刊名:统计与决策英文刊名:STATISTICS AND DECISION年,卷(期):2008(13)被引用次数:1次 参考文献(5条)参考文献(5条)1.何晓群 现代统计分析方法与应用 20072.Richard A.Johnson.Dean W.Wichem.陆漩.葛余博 实用多元统计分析 20013.高惠璇 实用统计方法与SAS系统 20014.林海明.王翊 因子分析模型L及其解是更好的期刊论文-统计研究 2007(08)5.林海明 小样本因子分析的SAS软件计算与综合评价期刊论文-统计与决策 2006(12)引证文献(1条)引证文献(1条)1.徐旭初 农民专业合作社绩效评价体系及其验证期刊论文-农业技术经济 2009(4)本文链接:http:/
限制150内