主成分分析在SPSS中的操作应用一、引言主成分分析和因子分析在社会经济统计综合评价中是两个常被使用的统计分析方法。
现在SPSS、SAS等统计软件使用越来越普遍,但SPSS并未像SAS一样,将主成分分析与因子分析作为两个独立的方法并列处理[注:主成分分析与因子分析二者是又有着区别与联系,最主要的不同在于它们的数学模型的构建上,具体区别请见参考文献2],而是根据二者之间的关系有机地将主成分分析嵌入到因子分析之中,这样虽然简化了分析程序,却为主成分分析的计算带来不便。
且国内许多SPSS教程并没有详细讲解如果应用SPSS进行主成分分析,如何使用SPSS对主成分分析进行计算呢?为使读者能够正确使用SPSS软件进行主成分分析,本文将通过一个实例来详细介绍如何用SPSS做主成分分析。
接下来先简单介绍主成分分析原理与模型,以便读者对主成分分析有个大致的了解。
二、主成分分析原理和模型[1](一)主分成分析原理主成分分析是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标。
通常数学上的处理就是将原来P个指标作线性组合,作为新的综合指标。
最经典的做法就是用F1(选取的第一个线性组合,即第一个综合指标)的方差来表达,即Var(F1)越大,表示F1包含的信息越多。
因此在所有的线性组合中选取的F1应该是方差最大的,故称F1为第一主成分。
如果第一主成分不足以代表原来P个指标的信息,再考虑选取F 2即选第二个线性组合,为了有效地反映原来信息,F1已有的信息就不需要再出现再F2中,用数学语言表达就是要求Cov(F1, F2)=0,则称F2为第二主成分,依此类推可以构造出第三、第四,……,第P个主成分。
(二)主成分分析数学模型F 2=a12ZX1+a22ZX2……+ap2ZXp……F p =a1mZX1+a2mZX2+……+apmZXp其中a1i , a2i, ……,api(i=1,……,m)为X的协方差阵Σ的特征值多对应的特征向量,ZX1, ZX2, ……, ZXp是原始变量经过标准化处理的值,因为在实际应用中,往往存在指标的量纲不同,所以在计算之前须先消除量纲的影响,而将原始数据标准化,本文所采用的数据就存在量纲影响[注:本文指的数据标准化是指Z标准化]。
A=(aij )p×m=(a1,a2,…am,),Rai=λiai,R为相关系数矩阵,λi、ai是相应的特征值和单位特征向量,λ1≥λ2≥…≥λp≥0 。
进行主成分分析主要步骤如下:1. 指标数据标准化(SPSS软件自动执行);2. 指标之间的相关性判定;3. 确定主成分个数m;4. 主成分Fi表达式;5. 主成分Fi命名;主成分与综合主成分(评价)值。
三、对沿海10个省市经济综合指标进行主成分分析(一)指标选取原则本文所选取的数据来自《中国统计年鉴2003》中2002年的统计数据,在沿海10省市经济状况主要指标体系中选取了10个指标:X 1——GDP X2——人均GDPX 3——农业增加值 X4——工业增加值X 5——第三产业增加值 X6——固定资产投资X 7——基本建设投资 X8——国内生产总值占全国比重(%)X 9——海关出口总额 X10——地方财政收入图表 1 沿海10个省市经济数据(二)主成分分析在SPSS中的具体操作步骤运用SPSS统计分析软件Factor过程[2]对沿海10个省市经济综合指标进行主成分分析。
具体操作步骤如下:1. AnalyzeàData ReductionàFactor Analysis,弹出Factor Analysis 对话框2. 把X1~X10选入Variables框3. Descriptives: Correlation Matrix框组中选中Coefficients,然后点击Continue,返回Factor Analysis对话框4. 点击“OK”图表 2 Factor Analyze对话框与Descriptives子对话框SPSS在调用Factor Analyze过程进行分析时,SPSS会自动对原始数据进行标准化处理,所以在得到计算结果后指的变量都是指经过标准化处理后的变量,但SPSS不会直接给出标准化后的数据,如需要得到标准化数据,则需调用Descriptives过程进行计算。
图表 3 相关系数矩阵图表 4 方差分解主成分提取分析表图表 5 初始因子载荷矩阵从图表3可知GDP与工业增加值,第三产业增加值、固定资产投资、基本建设投资、社会消费品零售总额、地方财政收入这几个指标存在着极其显著的关系,与海关出口总额存在着显著关系。
可见许多变量之间直接的相关性比较强,证明他们存在信息上的重叠。
主成分个数提取原则为主成分对应的特征值大于1的前m个主成分。
注:特征值在某种程度上可以被看成是表示主成分影响力度大小的指标,如果特征值小于1,说明该主成分的解释力度还不如直接引入一个原变量的平均解释力度大,因此一般可以用特征值大于1作为纳入标准。
通过图表4(方差分解主成分提取分析)可知,提取2个主成分,即m=2,从图表5(初始因子载荷矩阵)可知GDP、工业增加值、第三产业增加值、固定资产投资、基本建设投资、社会消费品零售总额、海关出口总额、地方财政收入在第一主成分上有较高载荷,说明第一主成分基本反映了这些指标的信息;人均GDP和农业增加值指标在第二主成分上有较高载荷,说明第二主成分基本反映了人均GDP和农业增加值两个指标的信息。
所以提取两个主成分是可以基本反映全部指标的信息,所以决定用两个新变量来代替原来的十个变量。
但这两个新变量的表达还不能从输出窗口中直接得到,因为“Component Matrix”是指初始因子载荷矩阵,每一个载荷量表示主成分与对应变量的相关系数。
用图表5(主成分载荷矩阵)中的数据除以主成分相对应的特征值开平方根便得到两个主成分中每个指标所对应的系数[2]。
将初始因子载荷矩阵中的两列数据输入(可用复制粘贴的方法)到数据编辑窗口(为变量B1、B2),然后利用“TransformàCompute Variable”,在Compute Variable对话框中输入“A1=B1/SQR(7.22)” [注:第二主成分SQR后的括号中填1.235],即可得到特征向量A1(见图表6)。
同理,可得到特征向量A2。
将得到的特征向量与标准化后的数据相乘,然后就可以得出主成分表达式[注:因本例只是为了说明如何在SPSS进行主成分分析,故在此不对提取的主成分进行命名,有兴趣的读者可自行命名]:F 1=0.353ZX1+0.042ZX2-0.041ZX3+0.364ZX4+0.367ZX5+0.366ZX6+0.352ZX7+0.364ZX8+0.298ZX9+0.355ZX10F 2=0.175ZX1-0.741ZX2+0.609ZX3-0.004ZX4+0.063ZX5-0.061ZX6-0.022ZX7+0.158ZX8-0.046ZX9-0.115ZX10图表 6 Compute Variable对话框前文提到SPSS会自动对数据进行标准化,但不会直接给出,需要我们自己另外算,我们可以通过AnalyzeàDescriptive Statisticsà Descriptives对话框来实现:弹出Descriptives对话框后,把X1~X10选入Variables框,在Save standardized valuesas variables前的方框打上钩,点击“OK”,经标准化的数据会自动填入数据窗口中,并以Z开头命名。
图表 7 Descriptives对话框以每个主成分所对应的特征值占所提取主成分总的特征值之和的比例作为权重计算主成分综合模型:即可得到主成分综合模型:F=0.327ZX1-0.072ZX2+0.054ZX3+0.310ZX4+0.323ZX5+0.304ZX6+0.297ZX7+0.334ZX8+0.248ZX9+0.286ZX10根据主成分综合模型即可计算综合主成分值,并对其按综合主成分值进行排序,即可对各地区进行综合评价比较,结果见图表8。
图表 8 综合主成分值对得出的综合主成分(评价)值,我们可用实际结果、经验与原始数据做聚类分析进行检验,对有争议的结果,可用原始数据做判别分析解决争议,具体评价与检验本文不做论述,如读者有兴趣可自行进行检验论述。
四、小结本文旨在阐述如何利用SPSS软件进行正确的主成分分析,使读者能正确使用SPSS进行主成分分析,以解决实际问题;避免出现读者因子分析与主成分分析混用的情况,并希望今后的相关教科书能够说明清楚主成分分析在SPSS中的操作。