统计学─从数据到结论第十章主成分分析和因子分析汇报什么?假定你是一个公司的财务经理,掌握了公司的所有数据,这包括众多的变量,如:固定资产、流动资金、借贷的数额和期限、各种税费、工资支出、原料消耗、产值、利润、折旧、职工人数、分工和教育程度等等。如果让你向上级或有关方面介绍公司状况,你能够把这些指标和数字都原封不动地摆出去吗?需要高度概括在如此多的变量之中,有很多是相关的。人们希望能够找出它们的少数“代表”来对它们进行描述。需要把这种有很多变量的数据进行高度概括。本章介绍两种把变量维数降低以便于描述、理解和分析的方法:主成分分析(principalcomponentanalysis)和因子分析(factoranalysis)。实际上主成分分析可以说是因子分析的一个特例。在引进主成分分析之前,先看下面的例子。10.1主成分分析成绩数据(student.txt)100个学生的数学、物理、化学、语文、历史、英语的成绩如下表(部分)。SPSS数据形式从本例可能提出的问题目前的问题是,能否把这个数据的6个变量用一两个综合变量来表示呢?这一两个综合变量包含有多少原来的信息呢?能否利用找到的综合变量来对学生排序或据此进行其他分析呢?空间的点例中数据点是六维的;即每个观测值是6维空间中的一个点。希望把6维空间用低维空间表示。先假定只有二维,即只有两个变量,由横坐标和纵坐标所代表;每个观测值都有相应于这两个坐标轴的两个坐标值;空间的点如果这些数据形成一个椭圆形状的点阵(这在二维正态的假定下是可能的)该椭圆有一个长轴和一个短轴。在短轴方向上数据变化很少;在极端的情况,短轴如退化成一点,长轴的方向可以完全解释这些点的变化,由二维到一维的降维就自然完成了。-4-2024-4-2024椭圆的长短轴当坐标轴和椭圆的长短轴平行,那么代表长轴的变量就描述了数据的主要变化,而代表短轴的变量就描述了数据的次要变化。但是,坐标轴通常并不和椭圆的长短轴平行。因此,需要寻找椭圆的长短轴,并进行变换,使得新变量和椭圆的长短轴平行。椭圆的长短轴如果长轴变量代表了数据包含的大部分信息,就用该变量代替原先的两个变量(舍去次要的一维),降维就完成了。椭圆的长短轴相差得越大,降维也越有道理。-4-2024-4-2024主轴和主成分多维变量的情况和二维类似,也有高维的椭球,只不过不那么直观罢了。首先把高维椭球的主轴找出来,再用代表大多数数据信息的最长的几个轴作为新变量;这样,主成分分析就基本完成了。主轴和主成分正如二维椭圆有两个主轴,三维椭球有三个主轴一样,有几个变量,就有几个主轴。和二维情况类似,高维椭球的主轴也是互相垂直的。这些互相正交的新变量是原先变量的线性组合,叫做主成分(principalcomponent)。主成分之选取选择越少的主成分,降维就越好。什么是标准呢?那就是这些被选的主成分所代表的主轴的长度之和占了主轴长度总和的大部分。有些文献建议,所选的主轴总长度占所有主轴长度之和的大约85%即可,其实,这只是一个大体的说法;具体选几个,要看实际情况而定。主成分分析的数学要寻找方差最大的方向。即,使向量X的线性组合a’X的方差最大的方向a.而Var(a’X)=a’Cov(X)a;由于Cov(X)未知;于是用X的样本相关阵R来近似.要寻找向量a使得a’Ra最大(注意相关阵和协方差阵差一个常数)这涉及相关阵和特征值。回顾一下吧!选择几个主成分呢?要看“贡献率.”•对于我们的数据,SPSS输出为•这里的InitialEigenvalues就是这里的六个主轴长度,又称特征值(数据相关阵的特征值)。头两个成分特征值累积占了总方差的81.142%。后面的特征值的贡献越来越少。TotalVarianceExplained3.73562.25462.2543.73562.25462.2541.13318.88781.1421.13318.88781.142.4577.61988.761.3235.37694.137.1993.32097.457.1532.543100.000Component123456Total%ofVarianceCumulative%Total%ofVarianceCumulative%InitialEigenvaluesExtractionSumsofSquaredLoadingsExtractionMethod:PrincipalComponentAnalysis.•特征值的贡献还可以从SPSS的所谓碎石图看出ScreePlotComponentNumber654321Eigenvalue43210•怎么解释这两个主成分。主成分是原始六个变量的线性组合。这由下表给出。ComponentMatrixa-.806.353-.040.468.021.068-.674.531-.454-.240-.001-.006-.675.513.499-.181.002.003.893.306-.004-.037.077.320.825.435.002.079-.342-.083.836.425.000.074.276-.197MATHPHYSCHEMLITERATHISTORYENGLISH123456ComponentExtractionMethod:PrincipalComponentAnalysis.6componentsextracted.a.•这里每一列代表一个主成分作为原来变量线性组合的系数(比例)。比如第一主成分为数学、物理、化学、语文、历史、英语这六个变量的线性组合,系数(比例)为-0.806,-0.674,-0.675,0.893,0.825,0.836。•如用x1,x2,x3,x4,x5,x6分别表示原先的六个变量,而用y1,y2,y3,y4,y5,y6表示新的主成分,那么,第一和第二主成分为11234562123456-0.806-0.674-0.6750.8930.8250.8360.3530.5310.5130.3060.4350.425yxxxxxxyxxxxxx•这些系数称为主成分载荷(loading),它表示主成分和相应的原先变量的相关系数。•比如y1表示式中x1的系数为-0.806,这就是说第一主成分和数学变量的相关系数为-0.806。•相关系数(绝对值)越大,主成分对该变量的代表性也越大。可以看得出,第一主成分对各个变量解释得都很充分。而最后的几个主成分和原先的变量就不那么相关了。11234562123456-0.806-0.674-0.6750.8930.8250.8360.3530.5310.5130.3060.4350.425yxxxxxxyxxxxxx•可以把第一和第二主成分的载荷点出一个二维图以直观地显示它们如何解释原来的变量的。这个图叫做载荷图。ComponentPlotComponent11.0.50.0-.5-1.0Component21.0.50.0-.5-1.0englishhistoryliteratchemphysmath该图左面三个点是数学、物理、化学三科,右边三个点是语文、历史、外语三科。图中的六个点由于比较挤,不易分清,但只要认识到这些点的坐标是前面的第一二主成分载荷,坐标是前面表中第一二列中的数目,还是可以识别的。10.2因子分析主成分分析从原理上是寻找椭球的所有主轴。原先有几个变量,就有几个主成分。而因子分析是事先确定要找几个成分,这里叫因子(factor)(比如两个),那就找两个。这使得在数学模型上,因子分析和主成分分析有不少区别。而且因子分析的计算也复杂得多。根据因子分析模型的特点,它还多一道工序:因子旋转(factorrotation);这个步骤可以使结果更好。10.2因子分析对于计算机,因子分析并不费事。从输出的结果来看,因子分析也有因子载荷(factorloading)的概念,代表了因子和原先变量的相关系数。但是在因子分析公式中的因子载荷位置和主成分分析不同。因子分析也给出了二维图;其解释和主成分分析的载荷图类似。•主成分分析与因子分析的公式上的区别11111221221122221122ppppppppppyaxaxaxyaxaxaxyaxaxax1111122112211222221122mmmmppppmmpxafafafxafafafxafafaf11111221221122221122ppppmmmmppfxxxfxxxfxxx主成分分析因子分析(mp)因子得分•对于我们的数据,SPSS因子分析输出为RotatedComponentMatrixa-.387.790-.172.841-.184.827.879-.343.911-.201.913-.216MATHPHYSCHEMLITERATHISTORYENGLISH12ComponentExtractionMethod:PrincipalComponentAnalysis.RotationMethod:VarimaxwithKaiserNormalization.Rotationconvergedin3iterations.a.•这个表说明六个变量和因子的关系。为简单记,我们用x1,x2,x3,x4,x5,x6来表示math(数学),phys(物理),chem(化学),literat(语文),history(历史),english(英语)等变量。这样因子f1和f2与这些原变量之间的关系是(注意,和主成分分析不同,这里把成分(因子)写在方程的右边,把原变量写在左边;但相应的系数还是主成分和各个变量的线性相关系数,也称为因子载荷):112212312412512612-0.3870.790;-0.1720.841;-0.1840.8270.879-0.343;0.911-0.201;0.913-0.216xffxffxffxffxffxff这里,第一个因子主要和语文、历史、英语三科有很强的正相关;而第二个因子主要和数学、物理、化学三科有很强的正相关。因此可以给第一个因子起名为“文科因子”,而给第二个因子起名为“理科因子”。从这个例子可以看出,因子分析的结果比主成分分析解释性更强。ComponentPlotinRotatedSpaceComponent11.0.50.0-.5-1.0Component21.0.50.0-.5-1.0englishhistoryliteratchemphysmath•这些系数所形成的散点图(在SPSS中也称载荷图)为可以直观看出每个因子代表了一类学科计算因子得分可以根据输出ComponentScoreCoefficientMatrix.036.377.165.474.155.462.357.052.417.151.413.142MATHPHYSCHEMLITERATHISTORYENGLISH12ComponentExtractionMethod:PrincipalComponentAnalysis.RotationMethod:VarimaxwithKaiserNormalization.•算出每个学生的第一个因子和第二个因子的大小,即算出每个学生的因子得分f1和f2。•该输出说明第一和第二主因子为(习惯上用字母f来表示因子)可以按照如下公式计算,该函数称为因子得分(factorscore)。112345621234560.0360.1650.1550.3570.4170.4130.3770.4740.4620.0520.1510.142fxxxxxxfxxxxxx人们可以根据这两套因子得分对学生分别按照文科和理科排序。当然得到因子得分只是SPSS软件的一个选项。10.3因子分析和主成分分析的一些注意事项可以看出,因子分析和