资源描述
第13章 主成分分析与因子分析,介绍: 1、主成分分析与因子分析的概念 2、主成分分析与因子分析的过程,主成分分析与因子分析的概念,需要与可能:在各个领域的科学研究中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。多变量大样本无疑会为科学研究提供丰富的信息,但也在一定程度上增加了数据采集的工作量,更重要的是在大多数情况下,许多变量之间可能存在相关性而增加了问题分析的复杂性,同时对分析带来不便。如果分别分析每个指标,分析又可能是孤立的,而不是综合的。盲目减少指标会损失很多信息,容易产生错误的结论。因此需要找到一个合理的方法,减少分析指标的同时,尽量减少原指标包含信息的损失,对所收集的资料作全面的分析。由于各变量间存在一定的相关关系,因此有可能用较少的综合指标分别综合存在于各变量中的各类信息。主成分分析与因子分析就是这样一种降维的方法。 主成分分析与因子分析是将多个实测变量转换为少数几个不相关的综合指标的多元统计分析方法 直线综合指标往往是不能直接观测到的,但它更能反映事物的本质。因此在医学、心理学、经济学等科学领域以及社会化生产中得到广泛的应用。,主成分分析与因子分析的概念(续),由于实测的变量间存在一定的相关关系,因此有可能用较少数的综合指标分别综合存在于各变量中的各类信息,而综合指标之间彼此不相关,即各指标代表的信息不重叠。综合指标称为因子或主成分(提取几个因子),一般有两种方法: 特征值1 累计贡献率0.8,主成分分析实例P316不旋转,使用默认值进行最简单的主成分分析(默认为主成分分析法:Principal components) 例子P316:对美国洛杉矶12个人口调查区的5个经济学变量的数据进行因子分析,data13-01a,数据见下一张幻灯片) 菜单:AnalyzeData ReductionFactor Variables :pop,School,employ,Services, house 其他使用默认值(主成分分析法Principal components,选取特征值1,不旋转) 比较有用的结果:两个主成分(因子)f1,f2及因子载荷矩阵(Component Matrix),根据该表可以写出每个原始变量(标准化值)的因子表达式: Pop0.581f1 + 0.806f2 School 0.767f1 - 0.545f2 employ 0.672f1 + 0.726f2 Services 0.932f1 - 0.104f2 house 0.791f1 - 0.558f2 每个原始变量都可以是5个因子的线性组合,提取两个因子f1和f2,可以概括原始变量所包含信息的93.4%。 f1和f2前的系数表示该因子对变量的影响程度,也称为变量在因子上的载荷。 但每个因子(主成分)的系数(载荷)没有很明显的差别,所以不好命名。因此为了对因子进行命名,可以进行旋转,使系数向0和1两极分化,这就要使用选择项。,洛衫矶对12个人口调查区的数据,编号 总人口 中等学校平均 总雇员数 专业服务 中等房价 no pop 校龄School employ 项目数Services house 1 5700 12.8 2500 270 25000 2 1000 10.9 600 10 10000 3 3400 8.8 1000 10 9000 4 3800 13.6 1700 140 25000 5 4000 12.8 1600 140 25000 6 8200 8.3 2600 60 12000 7 1200 11.4 400 10 16000 8 9100 11.5 3300 60 14000 9 9900 12.5 3400 180 18000 10 9600 13.7 3600 390 25000 11 9600 9.6 3300 80 12000 12 9400 11.4 4000 100 13000,因子分析实例322旋转Rotation,由于系数没有很明显的差别,所以要进行旋转(Rotation:method一般用Varimax方差最大旋转),使系数向0和1两极分化, 例子同上 菜单:AnalyzeData ReductionFactor Variables :pop,School,employ,Services, house Extraction:使用默认值( method:Principal components,选取特征值1) Rotation:method选Varimax Score:Save as variables 和Display factor score Coefficient matrix 比较有用的结果:两个主成分(因子)f1,f2及旋转后的因子载荷矩阵(Rotated Component Matrix) ,根据该表可以写出每个原始变量(标准化值)的因子表达式: Pop 0.01602 f1 + 0.9946f2 School 0 .941f1 - 0.00882f2 employ 0.137f1 + 0.98f2 Services 0.825f1 +0.447f2 house 0.968f1 - 0.00605f2 第一主因子对中等学校平均校龄,专业服务项目,中等房价有绝对值较大的载荷(代表一般社会福利-福利条件因子); 而第二主因子对总人口和总雇员数有较大的载荷(代表人口-人口因子). P326 比较有用的结果:因子得分fac1_1, fac2_1。其计算公式:因子得分系数和原始变量的标准化值的乘积之和(P326)。然后可以利用因子得分进行聚类p327(Analyze-Classify-Hierarchical Cluster)。,主成分分析实例P330 不旋转 市场研究中的顾客偏好分析,在市场研究中,常常要求分析顾客的偏好和当前市场的产品与顾客偏好之间的差别,从而找出新产品开发的方向。顾客偏好分析时常用到主成分分析方法(因子没有旋转)。 例子P330:数据来自SAS公司,1980年一个汽车制造商在竞争对手中选择了17种车型,访问了25个顾客,要求他们根据自己的偏好对17种车型打分。打分范围09.9, 9.9表示最高程度的偏好。data13-02a(1725:17个case,25个变量V1-V25) 菜单:AnalyzeData ReductionFactor Variables :V1-V25 Extraction:method:Principal components Extract:Number of factors:3 要三个主成分 Score:Save as variables 比较有用的结果:3个主成分及其因子载荷矩阵(Component Matrix):第一主成分和第二主成分的载荷图(Loading plots) 比较有用的结果:因子得分fac1_1, fac2_1 , fac3_1。然后可以利用因子得分进行各种分析:做偏好图: 用fac1_1, fac2_1做散点图(Graphs-Scatter:X- fac1_1 , Y- fac2_1):第一主成分反映了车的产地,第二主成分反映了车的特性(质量、动力、座位数等) 具体见P332-334,补充:主成分分析和因子分析,以下的讲义是吴喜之教授有关主成分分析和因子分析的讲义,我觉得比书上讲得清楚。,主成分分析和因子分析,汇报什么?,假定你是一个公司的财务经理,掌握了公司的所有数据,比如固定资产、流动资金、每一笔借贷的数额和期限、各种税费、工资支出、原料消耗、产值、利润、折旧、职工人数、职工的分工和教育程度等等。 如果让你向上面介绍公司状况,你能够把这些指标和数字都原封不动地摆出去吗? 当然不能。 你必须要把各个方面作出高度概括,用一两个指标简单明了地把情况说清楚。,主成分分析,每个人都会遇到有很多变量的数据。 比如全国或各个地区的带有许多经济和社会变量的数据;各个学校的研究、教学等各种变量的数据等等。 这些数据的共同特点是变量很多,在如此多的变量之中,有很多是相关的。人们希望能够找出它们的少数“代表”来对它们进行描述。 本章就介绍两种把变量维数降低以便于描述、理解和分析的方法:主成分分析(principal component analysis)和因子分析(factor analysis)。实际上主成分分析可以说是因子分析的一个特例。在引进主成分分析之前,先看下面的例子。,成绩数据(student.sav),100个学生的数学、物理、化学、语文、历史、英语的成绩如下表(部分)。,从本例可能提出的问题,目前的问题是,能不能把这个数据的6个变量用一两个综合变量来表示呢? 这一两个综合变量包含有多少原来的信息呢? 能不能利用找到的综合变量来对学生排序呢?这一类数据所涉及的问题可以推广到对企业,对学校进行分析、排序、判别和分类等问题。,主成分分析,例中的的数据点是六维的;也就是说,每个观测值是6维空间中的一个点。我们希望把6维空间用低维空间表示。 先假定只有二维,即只有两个变量,它们由横坐标和纵坐标所代表;因此每个观测值都有相应于这两个坐标轴的两个坐标值;如果这些数据形成一个椭圆形状的点阵(这在变量的二维正态的假定下是可能的) 那么这个椭圆有一个长轴和一个短轴。在短轴方向上,数据变化很少;在极端的情况,短轴如果退化成一点,那只有在长轴的方向才能够解释这些点的变化了;这样,由二维到一维的降维就自然完成了。,主成分分析,当坐标轴和椭圆的长短轴平行,那么代表长轴的变量就描述了数据的主要变化,而代表短轴的变量就描述了数据的次要变化。 但是,坐标轴通常并不和椭圆的长短轴平行。因此,需要寻找椭圆的长短轴,并进行变换,使得新变量和椭圆的长短轴平行。 如果长轴变量代表了数据包含的大部分信息,就用该变量代替原先的两个变量(舍去次要的一维),降维就完成了。 椭圆(球)的长短轴相差得越大,降维也越有道理。,主成分分析,对于多维变量的情况和二维类似,也有高维的椭球,只不过无法直观地看见罢了。 首先把高维椭球的主轴找出来,再用代表大多数数据信息的最长的几个轴作为新变量;这样,主成分分析就基本完成了。 注意,和二维情况类似,高维椭球的主轴也是互相垂直的。这些互相正交的新变量是原先变量的线性组合,叫做主成分(principal component)。,主成分分析,正如二维椭圆有两个主轴,三维椭球有三个主轴一样,有几个变量,就有几个主成分。 选择越少的主成分,降维就越好。什么是标准呢?那就是这些被选的主成分所代表的主轴的长度之和占了主轴长度总和的大部分。有些文献建议,所选的主轴总长度占所有主轴长度之和的大约85%即可,其实,这只是一个大体的说法;具体选几个,要看实际情况而定。,对于我们的数据,SPSS输出为,这里的Initial Eigenvalues就是这里的六个主轴长度,又称特征值(数据相关阵的特征值)。头两个成分特征值累积占了总方差的81.142%。后面的特征值的贡献越来越少。,特征值的贡献还可以从SPSS的所谓碎石图看出,怎么解释这两个主成分。前面说过主成分是原始六个变量的线性组合。是怎么样的组合呢?SPSS可以输出下面的表。,这里每一列代表一个主成分作为原来变量线性组合的系数(比例)。比如第一主成分作为数学、物理、化学、语文、历史、英语这六个原先变量的线性组合,系数(比例)为-0.806, -0.674, -0.675, 0.893, 0.825, 0.836。,如用x1,x2,x3,x4,x5,x6分别表示原先的六个变量,而用y1,y2,y3,y4,y5,y6表示新的主成分,那么,原先六个变量x1,x2,x3,x4,x5,x6与第一和第二主成分y1,y2的关系为: X1=-0.806y1 + 0.353y2 X2=-0.674y1 + 0.531y2 X3=-0.675y1 + 0.513y2 X4= 0.893y1 + 0.306y2 x5= 0.825y1 + 0.435y2 x6= 0.836y1 + 0.425y2 这些系数称为主成分载荷(loading),它表示主成分和相应的原先变量的相关系数。 比如x1表示式中y1的系数为-0.806,这就是说第一主成分和数学变量的相关系数为-0.806。 相关系数(绝对值)越大,主成分对该变量的代表性也越大。可以看得出,第一主成分对各个变量解释得都很充分。而最后的几个主成分和原先的变量就不那么相关了。,可以把第一和第二主成分的载荷点出一个二维图以直观地显示它们如何解释原来的变量的。这个图叫做载荷图。,该图左面三个点是数学、物理、化学三科,右边三个点是语文、历史、外语三科。图中的六个点由于比较挤,不易分清,但只要认识到这些点的坐标是前面的第一二主成分载荷,坐标是前面表中第一二列中的数目,还是可以识别的。,因子分析,主成分分析从原理上是寻找椭球的所有主轴。因此,原先有几个变量,就有几个主成分。 而因子分析是事先确定要找几个成分,这里叫因子(factor)(比如两个),那就找两个。 这使得在数学模型上,因子分析和主成分分析有不少区别。而且因子分析的计算也复杂得多。根据因子分析模型的特点,它还多一道工序:因子旋转(factor rotation);这个步骤可以使结果更好。 当然,对于计算机来说,因子分析并不比主成分分析多费多少时间。 从输出的结果来看,因子分析也有因子载荷(factor loading)的概念,代表了因子和原先变量的相关系数。但是在输出中的因子和原来变量相关系数的公式中的系数不是因子载荷,也给出了二维图;该图虽然不是载荷图,但解释和主成分分析的载荷图类似。,主成分分析与因子分析的公式上的区别,主成分分析 P312,因子分析(mp) P314,因子得分 P315,对于我们的数据,SPSS因子分析输出为,这里,第一个因子主要和语文、历史、英语三科有很强的正相关;而第二个因子主要和数学、物理、化学三科有很强的正相关。因此可以给第一个因子起名为“文科因子”,而给第二个因子起名为“理科因子”。从这个例子可以看出,因子分析的结果比主成分分析解释性更强。,这两个因子的系数所形成的散点图(虽然不是载荷,在SPSS中也称载荷图,,可以直观看出每个因子代表了一类学科,计算因子得分,可以根据前面的因子得分公式(因子得分系数和原始变量的标准化值的乘积之和),算出每个学生的第一个因子和第二个因子的大小,即算出每个学生的因子得分f1和f2。 人们可以根据这两套因子得分对学生分别按照文科和理科排序。当然得到因子得分只是SPSS软件的一个选项(可将因子得分存为新变量、显示因子得分系数矩阵),因子分析和主成分分析的一些注意事项,可以看出,因子分析和主成分分析都依赖于原始变量,也只能反映原始变量的信息。所以原始变量的选择很重要。 另外,如果原始变量都本质上独立,那么降维就可能失败,这是因为很难把很多独立变量用少数综合的变量概括。数据越相关,降维效果就越好。 在得到分析的结果时,并不一定会都得到如我们例子那样清楚的结果。这与问题的性质,选取的原始变量以及数据的质量等都有关系 在用因子得分进行排序时要特别小心,特别是对于敏感问题。由于原始变量不同,因子的选取不同,排序可以很不一样。,SPSS实现(因子分析与主成分分析),拿student.sav为例,选AnalyzeData ReductionFactor进入主对话框; 把math、phys、chem、literat、history、english选入Variables,然后点击Extraction, 在Method选择一个方法(如果是主成分分析,则选Principal Components), 下面的选项可以随意,比如要画碎石图就选Scree plot,另外在Extract选项可以按照特征值的大小选主成分(或因子),也可以选定因子的数目; 之后回到主对话框(用Continue)。然后点击Rotation,再在该对话框中的Method选择一个旋转方法(如果是主成分分析就选None), 在Display选Rotated solution(以输出和旋转有关的结果)和Loading plot(以输出载荷图);之后回到主对话框(用Continue)。 如果要计算因子得分就要点击Scores,再选择Save as variables(因子得分就会作为变量存在数据中的附加列上)和计算因子得分的方法(比如Regression);之后回到主对话框(用Continue)。这时点OK即可。,
展开阅读全文