实验六主成分分析.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流实验六主成分分析.精品文档.实验课:主成分分析实验目的理解主成分(因子)分析的基本原理,熟悉并掌握SPSS中的主成分(因子)分析方法及其主要应用。一、 相关知识1 概念因子分析(Factor analysis):就是用少数几个因子来描述许多指标或因素之间的联系,以较少几个因子来反映原资料的大部分信息的统计学分析方法。 主成分分析(Principal component analysis):是因子分析的一个特例,是使用最多的因子提取方法。它通过坐标变换手段,将原有的多个相关变量,做线性变化,转换为另外一组不相关的变量。选取前面几个方差最大的主成分,这样达到了因子分析较少变量个数的目的,同时又能与较少的变量反映原有变量的绝大部分的信息。从数学角度来看,主成分分析是一种化繁为简的降维处理技术。两者关系:主成分分析(PCA)和因子分析(FA)是两种把变量维数降低以便于描述、理解和分析的方法,而实际上主成分分析可以说是因子分析的一个特例。2 特点(1)因子变量的数量远少于原有的指标变量的数量,因而对因子变量的分析能够减少分析中的工作量。(2)因子变量不是对原始变量的取舍,而是根据原始变量的信息进行重新组构,它能够反映原有变量大部分的信息。(3)因子变量之间不存在显著的线性相关关系,对变量的分析比较方便,但原始部分变量之间多存在较显著的相关关系。(4)因子变量具有命名解释性,即该变量是对某些原始变量信息的综合和反映。在保证数据信息丢失最少的原则下,对高维变量空间进行降维处理(即通过因子分析或主成分分析)。显然,在一个低维空间解释系统要比在高维系统容易的多。3 类型根据研究对象的不同,把因子分析分为R型和Q型两种。当研究对象是变量时,属于R型因子分析;当研究对象是样品时,属于Q型因子分析。但有的因子分析方法兼有R型和Q型因子分析的一些特点,如因子分析中的对应分析方法,有的学者称之为双重型因子分析,以示与其他两类的区别。4分析原理假定:有n个地理样本,每个样本共有p个变量,构成一个n×p阶的地理数据矩阵 : 当p较大时,在p维空间中考察问题比较麻烦。这就需要进行降维处理,即用较少几个综合指标代替原来指标,而且使这些综合指标既能尽量多地反映原来指标所反映的信息,同时它们之间又是彼此独立的。线性组合:记x1,x2,xP为原变量指标,z1,z2,zm(mp)为新变量指标(主成分),则其线性组合为: Lij是原变量在各主成分上的载荷 无论是哪一种因子分析方法,其相应的因子解都不是唯一的,主因子解仅仅是无数因子解中之一。Z为因子变量或公共因子,可以理解为在高维空间中互相垂直的m个坐标轴。 zi与zj相互无关; z1是x1,x2,xp的一切线性组合中方差最大者,z2是与z1不相关的x1,x2,的所有线性组合中方差最大者。则,新变量指标z1,z2,分别称为原变量指标的第一,第二,主成分。主成分分析实质就是确定原来变量xj(j=1,2 ,p)在各主成分zi(i=1,2,m)上的荷载 lij。从数学上容易知道,从数学上也可以证明,它们分别是相关矩阵的m个较大的特征值所对应的特征向量。5分析步骤5.1 确定待分析的原有若干变量是否适合进行因子分析(第一步)因子分析是从众多的原始变量中重构少数几个具有代表意义的因子变量的过程。其潜在的要求:原有变量之间要具有比较强的相关性。因此,因子分析需要先进行相关分析,计算原始变量之间的相关系数矩阵。如果相关系数矩阵在进行统计检验时,大部分相关系数均小于0.3且未通过检验,则这些原始变量就不太适合进行因子分析。进行原始变量的相关分析之前,需要对输入的原始数据进行标准化计算(一般采用标准差标准化方法,标准化后的数据均值为0,方差为1)。SPSS在因子分析中还提供了几种判定是否适合因子分析的检验方法。主要有以下3种:巴特利特球形检验(Bartlett Test of Sphericity)反映象相关矩阵检验(Anti-image correlation matrix)KMO(Kaiser-Meyer-Olkin)检验(1)巴特利特球形检验该检验以变量的相关系数矩阵作为出发点,它的零假设H0为相关系数矩阵是一个单位阵,即相关系数矩阵对角线上的所有元素都为1,而所有非对角线上的元素都为0,也即原始变量两两之间不相关。巴特利特球形检验的统计量是根据相关系数矩阵的行列式得到。如果该值较大,且其对应的相伴概率值小于用户指定的显著性水平,那么就应拒绝零假设H0,认为相关系数不可能是单位阵,也即原始变量间存在相关性。(2)反映象相关矩阵检验该检验以变量的偏相关系数矩阵作为出发点,将偏相关系数矩阵的每个元素取反,得到反映象相关矩阵。偏相关系数是在控制了其他变量影响的条件下计算出来的相关系数,如果变量之间存在较多的重叠影响,那么偏相关系数就会较小,这些变量越适合进行因子分析。(3)KMO(Kaiser-Meyer-Olkin)检验该检验的统计量用于比较变量之间的简单相关和偏相关系数。KMO值介于0-1,越接近1,表明所有变量之间简单相关系数平方和远大于偏相关系数平方和,越适合因子分析。其中,Kaiser给出一个KMO检验标准:KMO>0.9,非常适合;0.8<KMO<0.9,适合;0.7<KMO<0.8,一般;0.6<KMO<0.7,不太适合;KMO<0.5,不适合。5.2 构造因子变量因子分析中有很多确定因子变量的方法,如基于主成分模型的主成分分析和基于因子分析模型的主轴因子法、极大似然法、最小二乘法等。前者应用最为广泛。主成分分析法(Principal component analysis):该方法通过坐标变换,将原有变量作线性变化,转换为另外一组不相关的变量Zi(主成分)。求相关系数矩阵的特征根i (1,2,p>0)和相应的标准正交的特征向量li;根据相关系数矩阵的特征根,即公共因子Zj的方差贡献(等于因子载荷矩阵L中第j列各元素的平方和),计算公共因子Zj的方差贡献率与累积贡献率。主成分分析是在一个多维坐标轴中,将原始变量组成的坐标系进行平移变换,使得新的坐标原点和数据群点的重心重合。新坐标第一轴与数据变化最大方向对应。通过计算特征根(方差贡献)和方差贡献率与累积方差贡献率等指标,来判断选取公共因子的数量和公共因子(主成分)所能代表的原始变量信息。公共因子个数的确定准则:1)根据特征值的大小来确定,一般取大于1的特征值对应的几个公共因子/主成分。2)根据因子的累积方差贡献率来确定,一般取累计贡献率达85-95%的特征值所对应的第一、第二、第m(mp)个主成分。也有学者认为累积方差贡献率应在80以上。5.3 因子变量的命名解释因子变量的命名解释是因子分析的另一个核心问题。经过主成分分析得到的公共因子/主成分Z1,Z2,Zm是对原有变量的综合。原有变量是有物理含义的变量,对它们进行线性变换后,得到的新的综合变量的物理含义到底是什么?在实际的应用分析中,主要通过对载荷矩阵进行分析,得到因子变量和原有变量之间的关系,从而对新的因子变量进行命名。利用因子旋转方法能使因子变量更具有可解释性。计算主成分载荷,构建载荷矩阵A。计算主成分载荷,构建载荷矩阵A。载荷矩阵A中某一行表示原有变量 Xi与公共因子/因子变量的相关关系。载荷矩阵A中某一列表示某一个公共因子/因子变量能够解释的原有变量 Xi的信息量。有时因子载荷矩阵的解释性不太好,通常需要进行因子旋转,使原有因子变量更具有可解释性。因子旋转的主要方法:正交旋转、斜交旋转。正交旋转和斜交旋转是因子旋转的两类方法。前者由于保持了坐标轴的正交性,因此使用最多。正交旋转的方法很多,其中以方差最大化法最为常用。方差最大正交旋转(varimax orthogonal rotation)基本思想:使公共因子的相对负荷的方差之和最大,且保持原公共因子的正交性和公共方差总和不变。可使每个因子上的具有最大载荷的变量数最小,因此可以简化对因子的解释。斜交旋转(oblique rotation)因子斜交旋转后,各因子负荷发生了变化,出现了两极分化。各因子间不再相互独立,而是彼此相关。各因子对各变量的贡献的总和也发生了改变。斜交旋转因为因子间的相关性而不受欢迎。但如果总体中各因子间存在明显的相关关系则应该考虑斜交旋转。适用于大数据集的因子分析。无论是正交旋转还是斜交旋转,因子旋转的目的:是使因子负荷两极分化,要么接近于0,要么接近于1。从而使原有因子变量更具有可解释性。5.4 计算因子变量得分因子变量确定以后,对于每一个样本数据,我们希望得到它们在不同因子上的具体数据值,即因子得分。估计因子得分的方法主要有:回归法、Bartlette法等。计算因子得分应首先将因子变量表示为原始变量的线性组合。即:回归法,即Thomson法:得分是由贝叶斯Bayes思想导出的,得到的因子得分是有偏的,但计算结果误差较小。贝叶斯(BAYES)判别思想是根据先验概率求出后验概率,并依据后验概率分布作出统计推断。Bartlett法:Bartlett因子得分是极大似然估计,也是加权最小二乘回归,得到的因子得分是无偏的,但计算结果误差较大。因子得分可用于模型诊断,也可用作进一步分析如聚类分析、回归分析等的原始资料。关于因子得分的进一步应用将在案例介绍一节分析。5.5 结果的分析解释此部分详细见案例分析二、案例分析1 研究问题20名大学生关于价值观的9项测试结果,包括合作性、对分配的看法、行为出发点、工作投入程度、对发展机会的看法、社会地位的看法、权力距离、职位升迁和领导风格的偏好。要求根据这9项内容进行主成分分析,得到维度较少的几个因子。2 实现步骤【1】在“Analyze”菜单“Data Reduction”中选择“Factor”命令,如下图所示。【2】在弹出的下图所示的Factor Analysis对话框中,从对话框左侧的变量列表中选择这9个变量,使之添加到Variables框中。【3】点击“Descriptives”按钮,弹出“Factor Analysis:Descriptives”对话框,如图所示。Statistics框用于选择哪些相关的统计量,其中:Univariate descriptives(变量描述):输出变量均值、标准差;Initial solution (初始结果)Correlation Matrix框中提供了几种检验变量是否适合做引子分析的检验方法,其中:Coefficients (相关系数矩阵)Significance leves (显著性水平)Determinant (相关系数矩阵的行列式)Inverse (相关系数矩阵的逆矩阵)Reproduced (再生相关矩阵,原始相关与再生相关的差值)Anti-image (反影像相关矩阵检验)KMO and Bartletts test of sphericity (KMO检验和巴特利特球形检验)本例中,选中该对话框中所Coefficients、KMO and Bartletts test of sphericity选项,单击Continue按钮返回Factor Analysis对话框。【4】单击“Extraction”按钮,弹出“Factor Analysis:Extraction”对话框,选择因子提取方法,如下图所示:因子提取方法在Method下拉框中选取,SPSS共提供了7种方法:Principle Components Analysis (主成分分析)Unweighted least squares(未加权最小平方法)Generalized least squares (综合最小平方法)Maximum likelihood (最大似然估价法)Principal axis factoring (主轴因子法)Alpha factoring (因子)Image factoring (影像因子)Analyze框中用于选择因子提取变量依据,其中:Correlation matrix (相关系数矩阵)Covariance matrix (协方差矩阵)Extract框用于指定因子个数的标准,其中:Eigenvaluse over (大于给定的特征值)Number of factors (因子个数)Display框用于选择输出哪些与因子提取有关的信息,其中:Unrotated factor solution (未经旋转的因子载荷矩阵)Screen plot (特征值排列图)Maximun interations for Convergence框用于指定因子分析收敛的最大迭代次数,系统默认的最大迭代次数为25。本例选用Principal components方法,选择Correlation matrix相关系数矩阵作为提取因子变量的依据,选中Unrotated factor solution项,输出未经过旋转的因子载荷矩阵;选择Eigenvaluse over项,在该选项后面可以输入1,指定提取特征值大于1的因子。单击Continue按钮返回Factor Analysis对话框。【5】单击Factor Analysis对话框中的Rotation按钮,弹出Factor Analysis: Rotation对话框,如下图所示:该对话框用于选择因子载荷矩阵的旋转方法。旋转目的是为了简化结构,以帮助我们解释因子。SPSS默认不进行旋转(None)。Method框用于选择因子旋转方法,其中:None(不旋转)Varimax(正交旋转)Direct Oblimin(直接斜交旋转)Quanlimax(四分最大正交旋转)Equamax(平均正交旋转)Promax(斜交旋转)Display框用于选择输出哪些与因子旋转有关的信息,其中:Rotated solution(输出旋转后的因子载荷矩阵)Loading plots(输出载荷散点图)本例选择正交旋转Varimax,并选中Rotated solution项,表示输出旋转后的因子载荷矩阵,单击Continue按钮返回Factor Analysis对话框。【6】单击Factor Analysis对话框中的Scores按钮,弹出Factor Analysis: Scores对话框,如下图所示:该对话框用以选择对因子得分进行设置,其中:Regression(回归法):因子得分均值为0,采用多元相关平方;Bartlett (巴特利法):因子得分均值为0,采用超出变量范围各因子平方和被最小化;Anderson-Rubin (安德森-洛宾法):因子得分均值为0,标准差1,彼此不相关;Display factor score coefficient matrix:选择此项将在输出窗口中显示因子得分系数矩阵。【7】单击Factor Analysis对话框中的Options按钮,弹出Factor Analysis: Options对话框,如下图所示:该对话框可以指定其他因子分析的结果,并选择对缺失数据的处理方法,其中: Missing Values框用于选择缺失值处理方法:Exclude cases listwise:去除所有缺失值的个案Exclude cases pairwise:含有缺失值的变量,去掉该案例Replace with mean:用平均值代替缺失值Cofficient Display Format框用于选择载荷系数的显示格式:Sorted by size:载荷系数按照数值大小排列Suppress absolute values less than:不显示绝对值小于指定值的载荷量本例选中Exclude cases listwise 、Sorted by size项,单击Continue按钮返回Factor Analysis对话框,完成设置。单击OK,完成计算。3 结果与讨论(1)SPSS输出的第一部分如下:第一个表格中列出了9个原始变量的统计结果,包括平均值、标准差和分析的个案数。这个是步骤3中选中Univariate descriptives项的输出结果。Descriptive StatisticsMeanStd. DeviationAnalysis Nquan16.901.65120she17.451.76120fen16.501.93320chu15.502.06520he16.452.32820gong16.351.72520fa16.751.51720zhi16.601.69820ling16.952.01220(2)SPSS输出结果的第二部分如下:KMO and Bartlett's TestKaiser-Meyer-Olkin Measure of Sampling Adequacy.585Bartlett's Test of SphericityApprox. Chi-Square74.733df36Sig.000该部分给出了KMO检验和Bartlett球度检验结果。其中KMO值为0.585,根据统计学家Kaiser给出的标准,KMO取值小于0.6,不太适合因子分析。Bartlett球度检验给出的相伴概率为0.00,小于显著性水平0.05,因此拒绝Bartlett球度检验的零假设,认为适合于因子分析。(3)SPSS输出结果文件中的第三部分如下:CommunalitiesInitialExtractionquan1.000.799she1.000.871fen1.000.848chu1.000.708he1.000.722gong1.000.504fa1.000.863zhi1.000.681ling1.000.486Extraction Method: Principal Component Analysis.这是因子分析初始结果,该表格的第一列列出了9个原始变量名;第二列是根据因子分析初始解计算出的变量共同度。利用主成分分析方法得到9个特征值,它们是因子分析的初始解,可利用这9个初始解和对应的特征向量计算出因子载荷矩阵。由于每个原始变量的所有方差都能被因子变量解释掉,因此每个变量的共同度为1;第三列是根据因子分析最终解计算出的变量共同度。根据最终提取的m个特征值和对应的特征向量计算出因子载荷矩阵。(此处由于软件的原因有点小问题)这时由于因子变量个数少于原始变量的个数,因此每个变量的共同度必然小于1。(4)输出结果第四部分为Total Variance Explained表格Total Variance ExplainedComponentInitial EigenvaluesExtraction Sums of Squared LoadingsRotation Sums of Squared LoadingsTotal% of VarianceCumulative %Total% of VarianceCumulative %Total% of VarianceCumulative %13.57639.73039.7303.57639.73039.7303.19635.51335.51321.88620.95260.6821.88620.95260.6822.02922.54058.05331.02211.35072.0321.02211.35072.0321.25813.97972.0324.8459.38581.4175.6387.08588.5026.5185.75394.2557.2502.77497.0308.1862.06999.0999.081.901100.000Extraction Method: Principal Component Analysis.该表格是因子分析后因子提取和因子旋转的结果。其中,Component列和Initial Eigenvalues列(第一列到第四列)描述了因子分析初始解对原有变量总体描述情况。第一列是因子分析9个初始解序号。第二列是因子变量的方差贡献(特征值),它是衡量因子重要程度的指标,例如第一行的特征值为3.576,后面描述因子的方差依次减少。第三列是各因子变量的方差贡献率(% of Variance),表示该因子描述的方差占原有变量总方差的比例。第四列是因子变量的累计方差贡献率,表示前m个因子描述的总方差占原有变量的总方差的比例。第五列和第七列则是从初始解中按照一定标准(在前面的分析中是设定了提取因子的标准是特征值大于1)提取了3个公共因子后对原变量总体的描述情况。各列数据的含义和前面第二列到第四列相同,可见提取了3个因子后,它们反映了原变量的大部分信息。第八列到第十列是旋转以后得到的因子对原变量总体的刻画情况。各列的含义和第五列到第七列是一样的。(5)SPSS输出的该部分的结果如下:-因子变量Component MatrixaComponent123quan.763.248-.394she.133.558.737fen.596-.701-.029chu.823-.130-.120he.493-.626.295gong-.222.537-.407fa.787.479.122zhi.781.239.117ling.650.194-.162Extraction Method: Principal Component Analysis.a. 3 components extracted.该表格是最终的因子载荷矩阵A,对应前面的因子分析的数学模型部分。根据该表格可以得到如下因子模型:X=AF+a权利x1=0.763F1+0.248F2-0.394F3 (6) SPSS输出的该部分的结果如下Rotated Component MatrixaComponent123quan.879-.045-.154she.100-.071.925fen.314.799-.333chu.733.400-.105he.157.835-.024gong.090-.698-.095fa.834.004.409zhi.752.191.282ling.695.051.010Extraction Method: Principal Component Analysis. Rotation Method: Varimax with Kaiser Normalization.a. Rotation converged in 5 iterations.这是前面设定的方差极大法(正交旋转法)对因子载荷矩阵旋转后的结果,未经旋转的载荷矩阵中,因子变量在许多变量上都有较高的载荷,这样的话,涵义就比较模糊,经过旋转后因子载荷就比较清晰,载荷大的越大,载荷小的越小。第一个因子基本上反映了权力距离、发展机会、职位升迁。第二个因子基本上反映了团队合作和分配的看法。第三个因子反映了社会地位。(7)SPSS输出的该部分的结果如下:该部分输出的是因子转换矩阵,表明了因子提取的方法是主成分分析,旋转的方法是方法极大法。Component Transformation MatrixComponent1231.902.424.0782.330-.797.5063-.276.431.859Extraction Method: Principal Component Analysis. Rotation Method: Varimax with Kaiser Normalization. (8)SPSS输出的该部分的结果如下:Component Score Coefficient MatrixComponent123quan.343-.181-.248she-.068.091.772fen.035.355-.199chu.217.102-.118he-.065.447.091gong.148-.425-.203fa.249-.058.249zhi.207.041.180ling.242-.073-.070Extraction Method: Principal Component Analysis. Rotation Method: Varimax with Kaiser Normalization. Component Scores.该表格是因子得分矩阵。这是根据回归算法计算出来的因子得分函数的系数,根据这个表格可以看出下面的因子得分函数。F1=0.343x1-0.068x2+0.35x3+0.217x4-0.065x5+0.148x6+0249x7+0.207x8+0.242x9(9)数据库-SPSS根据这9个因子的得分函数,自动计算20个样本的3个引子得分,并且将3个引子得分作为新变量,保存在SPSS数据编辑窗口中(分别为FAC1_1、FAC2_1、FAC3_1)(10)SPSS输出的该部分的结果如下:Component Score Covariance MatrixComponent12311.000.000.0002.0001.000.0003.000.0001.000Extraction Method: Principal Component Analysis. Rotation Method: Varimax with Kaiser Normalization. Component Scores. 该输出部分是因子变量的协方差矩阵。在前面已经说明,所得到的因子变量应该是正交、不相关的。从协方差矩阵看,不同因子之间的相关性都为0,因而也证实了3个主成分之间是不相关的。