1主成分分析和因子分析吴喜之2汇报什么?•假定你是一个公司的财务经理,掌握了公司的所有数据,比如固定资产、流动资金、每一笔借贷的数额和期限、各种税费、工资支出、原料消耗、产值、利润、折旧、职工人数、职工的分工和教育程度等等。•如果让你向上面介绍公司状况,你能够把这些指标和数字都原封不动地摆出去吗?•当然不能。•你必须要把各个方面作出高度概括,用一两个指标简单明了地把情况说清楚。3主成分分析•每个人都会遇到有很多变量的数据。•比如全国或各个地区的带有许多经济和社会变量的数据;各个学校的研究、教学等各种变量的数据等等。•这些数据的共同特点是变量很多,在如此多的变量之中,有很多是相关的。人们希望能够找出它们的少数“代表”来对它们进行描述。•本章就介绍两种把变量维数降低以便于描述、理解和分析的方法:主成分分析(principalcomponentanalysis)和因子分析(factoranalysis)。实际上主成分分析可以说是因子分析的一个特例。在引进主成分分析之前,先看下面的例子。4成绩数据(student.sav)•100个学生的数学、物理、化学、语文、历史、英语的成绩如下表(部分)。5从本例可能提出的问题•目前的问题是,能不能把这个数据的6个变量用一两个综合变量来表示呢?•这一两个综合变量包含有多少原来的信息呢?•能不能利用找到的综合变量来对学生排序呢?这一类数据所涉及的问题可以推广到对企业,对学校进行分析、排序、判别和分类等问题。6空间的点•例中的的数据点是六维的;也就是说,每个观测值是6维空间中的一个点。我们希望把6维空间用低维空间表示。•先假定只有二维,即只有两个变量,它们由横坐标和纵坐标所代表;因此每个观测值都有相应于这两个坐标轴的两个坐标值;如果这些数据形成一个椭圆形状的点阵(这在变量的二维正态的假定下是可能的)•那么这个椭圆有一个长轴和一个短轴。在短轴方向上,数据变化很少;在极端的情况,短轴如果退化成一点,那只有在长轴的方向才能够解释这些点的变化了;这样,由二维到一维的降维就自然完成了。7-4-2024-4-20248椭球的长短轴•当坐标轴和椭圆的长短轴平行,那么代表长轴的变量就描述了数据的主要变化,而代表短轴的变量就描述了数据的次要变化。•但是,坐标轴通常并不和椭圆的长短轴平行。因此,需要寻找椭圆的长短轴,并进行变换,使得新变量和椭圆的长短轴平行。•如果长轴变量代表了数据包含的大部分信息,就用该变量代替原先的两个变量(舍去次要的一维),降维就完成了。•椭圆(球)的长短轴相差得越大,降维也越有道理。9-4-2024-4-202410主轴和主成分•对于多维变量的情况和二维类似,也有高维的椭球,只不过无法直观地看见罢了。•首先把高维椭球的主轴找出来,再用代表大多数数据信息的最长的几个轴作为新变量;这样,主成分分析就基本完成了。•注意,和二维情况类似,高维椭球的主轴也是互相垂直的。这些互相正交的新变量是原先变量的线性组合,叫做主成分(principalcomponent)。11主成分之选取•正如二维椭圆有两个主轴,三维椭球有三个主轴一样,有几个变量,就有几个主成分。•选择越少的主成分,降维就越好。什么是标准呢?那就是这些被选的主成分所代表的主轴的长度之和占了主轴长度总和的大部分。有些文献建议,所选的主轴总长度占所有主轴长度之和的大约85%即可,其实,这只是一个大体的说法;具体选几个,要看实际情况而定。12主成分分析的数学•要寻找方差最大的方向。即使得向量X的线性组合a’X的方差最大的方向a.•而Var(a’X)=a’Cov(X)a;由于Cov(X)未知;于是用X的样本相关阵R来近似.因此,要寻找向量a使得a’Ra最大(注意相关阵和协方差阵差一个常数•记得相关阵和特征值问题吗?回顾一下吧!•选择几个主成分呢?要看“贡献率.”13•对于我们的数据,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.14•特征值的贡献还可以从SPSS的所谓碎石图看出ScreePlotComponentNumber654321Eigenvalue4321015•怎么解释这两个主成分。前面说过主成分是原始六个变量的线性组合。是怎么样的组合呢?SPSS可以输出下面的表。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。16•如用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。•相关系数(绝对值)越大,主成分对该变量的代表性也越大。可以看得出,第一主成分对各个变量解释得都很充分。而最后的几个主成分和原先的变量就不那么相关了。17•可以把第一和第二主成分的载荷点出一个二维图以直观地显示它们如何解释原来的变量的。这个图叫做载荷图。18ComponentPlotComponent11.0.50.0-.5-1.0Component21.0.50.0-.5-1.0englishhistoryliteratchemphysmath该图左面三个点是数学、物理、化学三科,右边三个点是语文、历史、外语三科。图中的六个点由于比较挤,不易分清,但只要认识到这些点的坐标是前面的第一二主成分载荷,坐标是前面表中第一二列中的数目,还是可以识别的。19因子分析•主成分分析从原理上是寻找椭球的所有主轴。因此,原先有几个变量,就有几个主成分。•而因子分析是事先确定要找几个成分,这里叫因子(factor)(比如两个),那就找两个。•这使得在数学模型上,因子分析和主成分分析有不少区别。而且因子分析的计算也复杂得多。根据因子分析模型的特点,它还多一道工序:因子旋转(factorrotation);这个步骤可以使结果更好。•当然,对于计算机来说,因子分析并不比主成分分析多费多少时间。•从输出的结果来看,因子分析也有因子载荷(factorloading)的概念,代表了因子和原先变量的相关系数。但是在因子分析公式中的因子载荷和主成分分析中的因子载荷位置不同。因子分析也给出了二维图;但解释和主成分分析的载荷图类似。20•主成分分析与因子分析的公式上的区别11111221221122221122ppppppppppyaxaxaxyaxaxaxyaxaxax1111122112211222221122mmmmppppmmpxafafafxafafafxafafaf11111221221122221122ppppmmmmppfxxxfxxxfxxx主成分分析因子分析(mp)因子得分21因子分析的数学•因子分析需要许多假定才能够解.具体来说.22•对于我们的数据,SPSS因子分析输出为RotatedComponentMatrixa-.387.790-.172.841-.184.827.879-.343.911-.201.913-.216MATHPHYSCHEMLITERATHISTORYENGLISH12ComponentExtractionMethod:PrincipalComponentAnalysis.RotationMethod:VarimaxwithKaiserNormalization.Rotationconvergedin3iterations.a.23•这个表说明六个变量和因子的关系。为简单记,我们用x1,x2,x3,x4,x5,x6来表示math(数学),phys(物理),chem(化学),literat(语文),history(历史),english(英语)等变量。这样因子f1和f2与这些原变量之间的关系是(注意,和主成分分析不同,这里把成分(因子)写在方程的右边,把原变量写在左边;但相应的系数还是主成分和各个变量的线性相关系数,也称为因子载荷):24112212312412512612-0.3870.790;-0.1720.841;-0.1840.8270.879-0.343;0.911-0.201;0.913-0.216xffxffxffxffxffxff25这里,第一个因子主要和语文、历史、英语三科有很强的正相关;而第二个因子主要和数学、物理、化学三科有很强的正相关。因此可以给第一个因子起名为“文科因子”,而给第二个因子起名为“理科因子”。从这个例子可以看出,因子分析的结果比主成分分析解释性更强。26ComponentPlotinRotatedSpaceComponent11.0.50.0-.5-1.0Component21.0.50.0-.5-1.0englishhistoryliteratchemphysmath•这些系数所形成的散点图(在SPSS中也称载荷图)为可以直观看出每个因子代表了一类学科27计算因子得分•可以根据输出ComponentScoreCoefficientMatrix.036.377.165.474.155.462.357.052.417.151.413.142MATHPHYSCHEMLITERATHISTORYENGLISH12ComponentExtractionMethod:PrincipalComponentAnalysis.RotationMethod:VarimaxwithKaiserNormalization.•算出每个学生的第一个因子和第二个因子的大小,即算出每个学生的因子得分f1和f2。28•该输出说明第一和第二主因子为(习惯上用字母f来表示因子)可以按照如下公式计算,该函数称为因子得分(factorscore)。112345621234560.0360.1650.1550.3570.4170.4130.3770.4740.4620.