利用SPSS进行主成分分析
【例子】 以全国31个省市的8项经济指标为例,进行主成分分析。 第一步:录入或调入数据(图1)。
图1 原始数据(未经标准化)
第二步:打开“因子分析”对话框。
沿着主菜单的“Analyze→Data Reduction→FactorΚ”的路径(图2)打开因子分析选项框(图3)。
图2 打开因子分析对话框的路径
1
图3 因子分析选项框
第三步:选项设置。
首先,在源变量框中选中需要进行分析的变量,点击右边的箭头符号,将需要的变
。在本例中,全部8个变量都要用上,故全部调入量调入变量(Variables)栏中(图3)
(图4)。因无特殊需要,故不必理会“ValueΚ”栏。下面逐项设置。
图4 将变量移到变量栏以后
⒈ 设置Descriptives选项。
,弹出Descriptives对话框(图5)。 单击Descriptives按钮(图4)
2
图5 描述选项框
在Statistics栏中选中Univariate descriptives复选项,则输出结果中将会给出原始数据的抽样均值、方差和样本数目(这一栏结果可供检验参考);选中Initial solution复选项,则会给出主成分载荷的公因子方差(这一栏数据分析时有用)。
在Correlation Matrix栏中,选中Coefficients复选项,则会给出原始变量的相关系数矩阵(分析时可参考);选中Determinant复选项,则会给出相关系数矩阵的行列式,如果希望在Excel中对某些计算过程进行了解,可选此项,否则用途不大。其它复选项一般不用,但在特殊情况下可以用到(本例不选)。
设置完成以后,单击Continue按钮完成设置(图5)。
⒉ 设置Extraction选项。
打开Extraction对话框(图6)。因子提取方法主要有7种,在Method栏中可以看到,系统默认的提取方法是主成分(Πρινχιπαλ χομπονεντσ),因此对此栏不作变动,就是认可了主成分分析方法。
在Analyze栏中,选中Correlation matirx复选项,则因子分析基于数据的相关系数矩阵进行分析;如果选中Covariance matrix复选项,则因子分析基于数据的协方差矩阵进行分析。对于主成分分析而言,由于数据标准化了,这两个结果没有分别,因此任选其一即可。
在Display栏中,选中Unrotated factor solution(非旋转因子解)复选项,则在分析结果中给出未经旋转的因子提取结果。对于主成分分析而言,这一项选择与否都一样;对于旋转因子分析,选择此项,可将旋转前后的结果同时给出,以便对比。
“山麓”图),则在分析结果中给出特征根按大小分布的折线图(形选中Scree Plot(
如山麓截面,故得名),以便我们直观地判定因子的提取数量是否准确。
在Extract栏中,有两种方法可以决定提取主成分(因子)的数目。一是根据特征根(Eigenvalues)的数值,系统默认的是λc=1。我们知道,在主成分分析中,主成分得分的方差就是对应的特征根数值。如果默认λc=1,则所有方差大于等于1的主成分将被保留,其余舍弃。如果觉得最后选取的主成分数量不足,可以将λc值降低,例如取λc=0.9;如果认为最后的提取的主成分数量偏多,则可以提高λc值,例如取λc=1.1。主成分数目是否合适,要在进行一轮分析以后才能肯定。因此,特征根数值的设定,要在反复试验以后才能决定。一般而言,在初次分析时,最好降低特征根的临
3
界值(如取λc=0.8) ,这样提取的主成分将会偏多,根据初次分析的结果,在第二轮分析过程中可以调整特征根的大小。
第二种方法是直接指定主成分的数目即因子数目,这要选中Number of factors复选项。主成分的数目选多少合适?开始我们并不十分清楚。因此,首次不妨将数值设大一些,但不能超过变量数目。本例有8个变量,因此,最大的主成分提取数目为8,不得超过此数。在我们第一轮分析中,采用系统默认的方法提取主成分。
图6 提取对话框
需要注意的是:主成分计算是利用迭代(Iterations)方法,系统默认的迭代次数是25次。但是,当数据量较大时,25次迭代是不够的,需要改为50次、100次乃至更多。对于本例而言,变量较少,25次迭代足够,故无需改动。
设置完成以后,单击Continue按钮完成设置(图6)。
⒊ 设置Scores设置。
选中Save as variables栏,则分析结果中给出标准化的主成分得分(在数据表的后面)。至于方法复选项,对主成分分析而言,三种方法没有分别,采用系统默认的“回归”(Regression)法即可。
图7 因子得分对话框
4
选中Display factor score coefficient matrix,则在分析结果中给出因子得分系数矩阵及其相关矩阵。
设置完成以后,单击Continue按钮完成设置(图7)。
⒋ 其它。
对于主成分分析而言,旋转项(Rotation)可以不必设置;对于数据没有缺失的情况下,Option项可以不必理会。
全部设置完成以后,点击OK确定,SPSS很快给出计算结果(图8)。
图8 主成分分析的结果
第四步,结果解读。
在因子分析结果(Output)中,首先给出的Descriptive Statistics,第一列Mean对应的变量的算术平均值,计算公式为
1nj=∑xij ni=1
第二列Std. Deviation对应的是样本标准差,计算公式为
1nσj=[(xij?j)2]1/2 ∑n?1i=1
第三列Analysis N对应是样本数目。这一组数据在分析过程中可作参考。 5
接下来是Correlation Matrix(相关系数矩阵),一般而言,相关系数高的变量,大多会进入同一个主成分,但不尽然,除了相关系数外,决定变量在主成分中分布地位的因素还有数据的结构。相关系数矩阵对主成分分析具有参考价值,毕竟主成分分析是从计算相关系数矩阵的特征根开始的。相关系数阵下面的Determinant=1.133E-0.4是相关矩阵的行列式值,根据关系式det(λI?R)=0可知,det(λI)=det(R),从而Determinant=1.133E-0.4=λ1*λ2*λ3*λ4*λ5*λ6*λ7*λ8。这一点在后面将会得到验证。
在Communalities(公因子方差)中,给出了因子载荷阵的初始公因子方差(Initial)和提取公因子方差(Extraction),后面将会看到它们的含义。
在Total Variance Explained(全部解释方差) 表的Initial Eigenvalues(初始特
6
征根)中,给出了按顺序排列的主成分得分的方差(Total),在数值上等于相关系数矩阵的各个特征根λ,因此可以直接根据特征根计算每一个主成分的方差百分比(% of Variance)。由于全部特征根的总和等于变量数目,即有m=∑λi=8,故第一个特征根的方差百分比为λ1/m=3.755/8=46.939,第二个特征根的百分比为λ2/m=2.197/8= 27.459,……,其余依此类推。然后可以算出方差累计值(Cumulative %)。在Extraction Sums of Squared Loadings,给出了从左边栏目中提取的三个主成分及有关参数,提取的原则是满足λ>1,这一点我们在图6所示的对话框中进行了限定。
主成分的数目可以根据相关系数矩阵的特征根来判定,如前所说,相关系数矩阵的特 7
征根刚好等于主成分的方差,而方差是变量数据蕴涵信息的重要判据之一。根据λ值决定主成分数目的准则有三:
i 只取λ>1的特征根对应的主成分
从Total Variance Explained表中可见,第一、第二和第三个主成分对应的λ值都大于1,这意味着这三个主成分得分的方差都大于1。本例正是根据这条准则提取主成分的。
ii 累计百分比达到80%~85%以上的λ值对应的主成分
在Total Variance Explained表可以看出,前三个主成分对应的λ值累计百分比达到89.584%,这暗示只要选取三个主成分,信息量就够了。
iii 根据特征根变化的突变点决定主成分的数量
从特征根分布的折线图(Scree Plot)上可以看到,第4个λ值是一个明显的折点,这暗示选取的主成分数目应有p≤4(图8)。那么,究竟是3个还是4个呢?根据前面两条准则,选3个大致合适(但小有问题)。
在Component Matrix(成分矩阵)中,给出了主成分载荷矩阵,每一列载荷值都显示了各个变量与有关主成分的相关系数。以第一列为例,0.885实际上是国内生产总值(GDP)与第一个主成分的相关系数。将标准化的GDP数据与第一主成分得分进行回归,决定系数R2=0.783(图9),容易算出R=0.885,这正是GDP在第一个主成分上的载荷。
下面将主成分载荷矩阵拷贝到Excel上面作进一步的处理:计算公因子方差和方差贡献。首先求行平方和,例如,第一行的平方和为
h12=0.88492+0.38362+0.12092=0.9449
这是公因子方差。然后求列平方和,例如,第一列的平方和为
s12=0.88492+0.60672+…+0.82272=3.7551
这便是方差贡献(图10)。在Excel中有一个计算平方和的命令sumsq,可以方便地算出一组数据的平方和。显然,列平方和即方差贡献。事实上,有如下关系成立:
至于行平方和,显然与前面公因子方差(Communalities)表中的Extraction列对应的数据一样。如果我们将8个主成分全部提取,则主成分载荷的行平方和都等于1(图11),即有hi=1,sj=λj。到此可以明白:在Communalities中,Initial对应的是初始公因子方差,实际上是全部主成分的公因子方差;Extraction对应的是提取的主成分的公因子方差,我们提取了3个主成分,故计算公因子方差时只考虑3个主成分。
8
4.00000
第一主成分
2.00000
0.00000
-2.00000
国内生产总值
图9 国内生产总值(GDP)的与第一主成分的相关关系(标准化数据)
9
提取主成分的原则上要求公因子方差的各个数值尽可能接近,亦即要求它们的方差极小,当公因子方差完全相等时,它们的方差为0,这就达到完美状态。实际应用中,只要公因子方差数值彼此接近(不相差太远)就行了。从上面给出的结果可以看出:提取3个主成分的时候,居民消费的公因子方差偏小,这暗示提取3个主成分,居民消费方面的信息可能有较多的损失。至于方差贡献,反映对应主成分的重要程度,这一点从方差的统计学意义可以得到理解。
在图11中,将最后一行的特征根全部乘到一起,得0.0001133,这正是相关系数矩阵的行列式数值(在Excel中,求一组数据的乘积之和的命令是product)。
最后说明Component Score Coefficient Matrix(成分得分系数矩阵)和Component Score Covariance Matrix(成分得分协方差矩阵),前者是主成分得分系数,后者是主成分得分的协方差即相关系数。从Component Score Covariance Matrix可以看出,标准化主成分得分之间的协方差即相关系数为0(j≠k)或1(j=k),这意味着主成分之间彼此正交即垂直。
初学者常将Component Score Coefficient Matrix表中的数据当成主成分得分或因子得分,这是误会。成分得分系数矩阵的数值是主成分载荷除以相应的特征根得到的结果。在Component Matrix表中,将第一列数据分别除以λ1=3.755,第二列数值分别除以
立即得到Component Score Coefficient;反过来,如果将Component Score λ2=2.197,…,
Coefficient Matrix表中的各列数据分别乘以λ1=3.755,λ2=2.197,…,则可将其还原为主成分载荷即Component Matrix中的数据。
10
实际上,主成分得分在原始数据所在的SPSS当前数据栏中给出,不过给出的都是标准化的主成分得分(图12a);将各个主成分乘以相应的√λ即特征根的二次方根可以将其还原为未经标准化的主成分得分。
a.标准化的主成分得分 b. 非标准化的主成分得分
图12 两种主成分得分
计算标准化主成分得分的协方差或相关系数,结果与Component Score Covariance 11
Matrix表中的给出的结果一致(见图13)。
第一因子 第二因子 第三因子
第一因子 1 第二因子 0.00000 1 第三因子 0.00000 0.00000 1
图13 主成分(得分)之间的相关系数矩阵
第五步,计算结果分析。
从Component Matrix即主成分载荷表中可以看出,国内生产总值、固定资产投资和工业产值在第一主成分上载荷较大,亦即与第一主成分的相关系数较高;职工工资和货物周转量在第二主成分上的载荷绝对值较大,即负相关程度较高;消费价格指数在第三主成分上的载荷较大,即相关程度较高。
因此可将主成分命名如下:
第一主成分:投入-产出主成分; 第二主成分:工资-物流主成分; 第三主成分:消费价格主成分。
问题在于:一方面,居民消费和商品零售价格指数的归类比较含混;另一方面,主成分的命名结构不清。因此,有必要作进一步的因子分析。
数据分析咨询请扫描二维码
在准备数据分析师面试时,掌握高频考题及其解答是应对面试的关键。为了帮助大家轻松上岸,以下是10个高频考题及其详细解析,外加 ...
2024-12-20互联网数据分析师是一个热门且综合性的职业,他们通过数据挖掘和分析,为企业的业务决策和运营优化提供强有力的支持。尤其在如今 ...
2024-12-20在现代商业环境中,数据分析师是不可或缺的角色。他们的工作不仅仅是对数据进行深入分析,更是协助企业从复杂的数据信息中提炼出 ...
2024-12-20随着大数据时代的到来,数据驱动的决策方式开始受到越来越多企业的青睐。近年来,数据分析在人力资源管理中正在扮演着至关重要的 ...
2024-12-20在数据分析的世界里,表面上的技术操作只是“入门票”,而真正的高手则需要打破一些“看不见的墙”。这些“隐形天花板”限制了数 ...
2024-12-19在数据分析领域,尽管行业前景广阔、岗位需求旺盛,但实际的工作难度却远超很多人的想象。很多新手初入数据分析岗位时,常常被各 ...
2024-12-19入门数据分析,许多人都会感到“难”,但这“难”究竟难在哪儿?对于新手而言,往往不是技术不行,而是思维方式、业务理解和实践 ...
2024-12-19在如今的行业动荡背景下,数据分析师的职业前景虽然面临一些挑战,但也充满了许多新的机会。随着技术的不断发展和多领域需求的提 ...
2024-12-19在信息爆炸的时代,数据分析师如同探险家,在浩瀚的数据海洋中寻觅有价值的宝藏。这不仅需要技术上的过硬实力,还需要一种艺术家 ...
2024-12-19在当今信息化社会,大数据已成为各行各业不可或缺的宝贵资源。大数据专业应运而生,旨在培养具备扎实理论基础和实践能力,能够应 ...
2024-12-19阿里P8、P9失业都找不到工作?是我们孤陋寡闻还是世界真的已经“癫”成这样了? 案例一:本硕都是 985,所学的专业也是当红专业 ...
2024-12-19CDA持证人Louis CDA持证人基本情况 我大学是在一个二线城市的一所普通二本院校读的,专业是旅游管理,非计算机非统计学。毕业之 ...
2024-12-18最近,知乎上有个很火的话题:“一个人为何会陷入社会底层”? 有人说,这个世界上只有一个分水岭,就是“羊水”;还有人说,一 ...
2024-12-18在这个数据驱动的时代,数据分析师的技能需求快速增长。掌握适当的编程语言不仅能增强分析能力,还能帮助分析师从海量数据中提取 ...
2024-12-17在当今信息爆炸的时代,数据分析已经成为许多行业中不可或缺的一部分。想要在这个领域脱颖而出,除了热情和毅力外,你还需要掌握 ...
2024-12-17数据分析,是一项通过科学方法处理数据以获取洞察并支持决策的艺术。无论是在商业环境中提升业绩,还是在科研领域推动创新,数据 ...
2024-12-17在数据分析领域,图表是我们表达数据故事的重要工具。它们不仅让数据变得更加直观,也帮助我们更好地理解数据中的趋势和模式。相 ...
2024-12-16在当今社会,我们身处着一个飞速发展、变化迅猛的时代。不同行业在科技进步、市场需求和政策支持的推动下蓬勃发展,呈现出令人瞩 ...
2024-12-16在现代商业世界中,数据分析师扮演着至关重要的角色。他们通过解析海量数据,为企业战略决策提供有力支持。要有效完成这项任务, ...
2024-12-16在当今数据爆炸的时代,数据分析师是组织中不可或缺的导航者。他们通过从大量数据中提取可操作的洞察力,帮助企业在竞争激烈的市 ...
2024-12-16