手把手教你用SPSSAU做主成分分析

1.主成分分析能做什么

主成分分析是一种降维处理的统计方法,实践中有三个应用场景:

ü 信息浓缩:将多个分析项浓缩成几个关键概括性指标;

ü 权重计算:利用方差解释率值计算各概括性指标的权重;

ü 综合评价:基于主成分得分构造综合得分数据,用于综合评价。

接下来,以一个具体案例来学习主成分分析用于综合评价。

2.案例数据探索

案例数据原始来源:《直辖市、副省级城市、经济特区和沿海开放城市统计资料汇编(2004)》,直接来源:马力, 史锦凤. 15个副省级城市区域经济发展水平的实证分析[J]. 科技进步与对策, 2006, 23(12):3.

选取反映区域经济发展水平的7个指标,对我国15个副省级城市的经济发展水平进行综合评价研究。

2.1 浏览数据与变量

数据上传SPSSAU后,在 “我的数据”中查看浏览原始数据,前5行数据如下:

图1 “我的数据”查看浏览数据集

7项经济指标包括:GDP、农业总产值、工业总产值、第三产业总产值、固定资产投资总额、消费品零售总额、城乡居民储蓄年末余额,均为连续型数据资料。

2.2 相关系数矩阵初探关系

在“通用方法”栏目下,选择“相关”,将GDP等7个经济指标拖拽至【定量分析项】框内,默认要求输出Pearson相关系数矩阵。

图2 经济指标间的相关性

 

上图展示了7个指标两两之间Pearson相关系数,相关程度范围为0.10~0.97。农业总产值、固定资产投资总额、消费品零售总额与其他指标相关性普遍低于0.3,而其他指标之间的相关性则相对较高,总体看指标间有一定的相关性基础。

3.主成分分析操作过程

3.1 主成分分析对数据的要求

之所以要使用主成分分析,是因为可用来评价研究对象的指标过多,如果现有数据中仅有少数比如1~3个指标,那大概率来说,我们做主成分分析的必要性并不大。

因此,有较多的评价指标有待于被降维处理或信息浓缩处理,这是基本出发点,要求这些指标须是连续型数据资料,且有一定的相关性基础。

 

还有一个需要了解的知识点,原则上我们应该先对这些指标变量进行标准化处理,以统一众多指标变量量纲单位。但在SPSSAU中,大家需要知道一下,它在执行主成分分析时会对数据默认进行标准化操作,因此我们并不需要单独地提前去做这一项工作。

3.2 SPSSAU主成分分析操作

在SPSSAU的“进阶方法”栏目下选择“主成分”,将GDP等7个连续型指标变量数据拖拽至【定量分析项】,也就是说现在我们要对这7个指标进行信息浓缩,那么,浓缩为几个主成分呢?

图3 SPSSAU主成分分析操作

SPSSAU可以自动智能化帮助我们做出决策,如果说你对未来主成分有较成熟的专业认识或经验判断,那么可以自定义主成分的个数。本例选择让SPSSAU自动决策。

当然,我们也可以执行一个类似于“回马枪”的做法。让SPSSAU先做自动主成分,然后我们根据输出的特征值、方差比例、碎石图等信息再行讨论和决策,返回主成分操作界面,直接指定主成分的个数。

总的来说,主成分个数的确认主要有三个依据,第一个特征值大于1;第二个是累计方差贡献达到能接受的水平(比如80%以上);第三个是碎石图陡坡信息(看到明显拐点)。

SPSSAU还提供了两项计算,可以计算并另存出成分得分数据,以及综合得分数据,该两项可帮忙自动计算主成分得分和综合得分,下述有具体说明。

最后点【开始分析】,执行主成分分析。

3.3 主成分分析旋转操作

上面进行的主成分分析操作,我们发现整个过程没有“旋转”主成分的功能或提示,这里要和因子分析进行区别。

主成分分析并不刻意强调主成分的实际合理性,没有严格规定必须要对主成分做命名或实际意义的提炼。这与因子分析是有区别的,因子分析强调公共因子命名,即给公因子实际含义进行信息归纳总结。

小结一下,主成分分析可以做命名也可以不做。如果你的研究需要对主成分进行合理性命名,可以借助SPSSAU的因子分析功能,经因子旋转操作来给主成分进行命名(SPSSAU默认直接执行旋转操作)。

稍后,本例会进行示范。

4.主成分分析结果解读

来看结果。

4.1 KMO值与Bartlett检验

主成分和因子分析都要求多维度指标间存在一定的相关性,如何做出判断呢?目前主要基于KMO值和Bartlett检验。

本例结果如下表所示。


图4 kmo和bartlett检验结果

 

KMO值如果高于0.8,则说明非常适合进行分析;介于0.7~0.8之间,则说明比较适合进行分析;如果此值介于0.6~0.7,则说明可以进行分析;如果此值小于0.6,说明不适合进行分析。另有说法是KMO指须大于0.5。

Bartlett检验对应p值小于0.05通过检验,也说明适合进行主成分分析。

本例,KMO值=0.658,Bartlett检验对应p值<0.05,均说明案例数据适合做主成分。

4.2 特征值、方差解释率及碎石图

主成分分析是基于相关系数矩阵或协方差矩阵计算的,而矩阵运算有一个非常重要的概念叫做特征值或特征根。根据特征根,可以计算每个主成分的方差贡献比例(或称之为方差解释率,下同),特征根,方差解释率是我们判断主成分个数的核心依据。

原本我们有众多指标,假设是k个,做主成分分析的目的是为了降维、信息浓缩,从k个指标中构建(或称为提取)出少数几个主成分,问题是,我们构建几个主成分合适呢?

常见或一般地做法是,选择那些特征根大于1的成分,而且要求这少数几个成分的累积方差解释率足够高。有时为强调更高的累积方差解释率,选择特征根接近1(小于1)的成分也是可以的。

SPSSAU会根据特征根大于1的标准,自动确认主成分的个数,本例结果如下表所示。

图5 特征根、方差解释率表格

从上表可知:主成分分析将构建出3个主成分(前3个成分做累积方差计算),特征根值均大于1,依次为3.519、1.646、1.047。

此3个主成分的方差解释率分别是50.266%、23.512%、14.954%,累积方差解释率为88.733%。这表示,第一主成分可解释我们待降维的7个指标50.266%的信息量,第二主成分可解释23.512%的信息量,第三主成分可解释14.954%。

累积方差解释率多大合适呢?常见的说法是80%,当然这并非一个严格标准,实践中70%以上,或60%也并非不可。我们总是期望累积方差解释率高一些,但实际当中往往并非如此,还需要根据实际情况综合决策。

SPSSAU将为本例构建三个主成分,如果给他们各自一个权重,可以用各自的方差比例除以累积方差来计算。本例的三个主成分权重依次为50.266/88.733=56.65%、23.512/88.733=26.50%和14.954/88.733=16.85%。

碎石图在主成分和因子分析中应用极广,它其实就是各成分的特征根的可视化图形。本例碎石图如下:

图6  碎石图

碎石图形象展示各成分特征根“陡坡势能”的变化过程,落差幅度越大说明对应的成分越重要,解释能力越强。碎石图一般是前几个特征根陡坡落差幅度比较大,越往后越平缓。

本例,前三个陡坡落差幅度较大,提示构建三个主成分是合适的。

4.3 载荷系数与共同度

SPSSAU将构建三个主成分,这些主成分各自与哪些指标有关系呢?总体上如何评价三个主成分的效果呢?

载荷系数和共同度指标可以回答以上问题。载荷系数反映了主成分与指标间的相关关系,共同度总体上反映所构建的主成分的解释能力。

本例对应的结果,见下表:

图7  载荷系数、共同度表格

可以看到,本案例的共同度指标在0.707~0.969之间,表现良好(一般要求大于0.4或0.5)。而各指标与三个主成分载荷系数,尤其是第一主成分与第二主成分的载荷系数纠缠不清,同一个指标在第一和第二主成分上都有较高的载荷。如果是强调主成分命名,那么这样的载荷是不利于命名的。应当采取“旋转”策略,让载荷系数向0和1两极化,以提高主成分命名的能力。

图8  SPSSAU因子分析旋转后的载荷系数

如果确需旋转处理,则需使用SPSSAU的因子分析(默认采取正交旋转法),工作界面和操作和主成分基本类似。本例旋转后的载荷表格如上表所示。

可以发现,第一主成分与GDP、工业总产值、第三产业总产值有关;第二主成分与固定资产投资总额、消费品零售总额、城乡居民储蓄年末余额有关;第三主成分与农业总产值有关。 本案例并不关心命名问题,所以暂不考虑旋转处理,我们直接读取SPSSAU主成分结果即可。

5.计算主成分得分构造综合得分

5.1 线性组合系数与权重

前面我们用载荷系数形容指标与主成分间的关系。从原理上,主成分是指标变量的线性组合,即给指标变量数据线性组合的系数,就可以计算主成分得分数据。

 

图9 主成分表达式

ZX表示指标变量的标准化值,u表示线性组合系数,F为主成分,本例中我们采用PC表示F。

SPSSAU直接帮我们计算出线性组合系数,见下表。我们只需要将原始数据标准化获得标准化数据,那么就可以计算主成分得分PC。

图10 SPSSAU计算的线性组合系数

据上表可写出三个主成分得分数据的表达式。以第一主成分为例:

PC1=0.393*ZX1+0.103*ZX2+0.404* ZX3+0.454*ZX4+0.342 *ZX5+0.379* ZX6+0.452* ZX7

5.2 计算主成分得分数据

刚才我们以第一主成分为例写出来主成分计算公式,据此公式可以计算得到三个主成分的得分数据。线性组合的系数SPSSAU已经直接提供了,根据公式,我们还需要自己准备好原始数据的标准化值。

这项工作也可以在SPSSAU中直接实现。在“数据处理”栏目下,选中7个指标,选择“生成变量”,在右侧的功能中选择【Z标准化】,点击【确认处理】即可。

图11  标准化后的指标数据

可以在“我的数据”中浏览到标准化结果,然后利用上述部分的公式自行进行计算。


更省事的方式是直接使用SPSSAU的“主成分”保存功能,它会直接将主成分得分保存为新的标题操作如下图所示:

然后我们就会得到3个标题,类似名称为“PcaScore_****”,可通过右上角“我的数据”进行查看,或者下载使用,如下图:


图12  SPSSAU自动生成PC值查看

5.3 构造综合得分数据

获得主成分得分数据后,我们给各主成分分配权重系数,即可构造综合得分数据。本例的综合得分可表示为:PC综合=0.5665*PC1+0.265*PC2+0.1685*PC3

三个主成分的归一化权重系数0.5665、0.2650、0.1685从何而来呢?它是用各主成分的方差除以累积方差计算的结果。这项计算工作,也可以让SPSSAU自动完成,选择“综合得分”复选框,就会得到一个类似为“CompScore_****”的数据标题,当然也可通过点击SPSSAU右上角“我的数据”进行查看或者下载综合得分数据。

6.完成综合评价及小结

6.1 综合得分数据做排名

主成分或因子分析用作综合评价研究,最后一步主要是基于主成分或公因子得分数据,以及构造的综合得分数据,对研究对象进行排名,根据各得分数据、排名的表现展开对研究对象的评价工作。

借助SPSSAU输出的综合得分数据,接着按PC综合得分数据对15
个地区进行降序排列,给出15个地区经济发展的综合排名。

图13  综合得分与排名

最终,本案例主成分得分、综合得分、综合排名的结果见上表。

接下来就是专业人士对该结果的解读和结论的讨论。这部分由具体研究人员根据上述表格结果完成即可。本例略。读者可参考阅读下方这篇论文:

马力, 史锦凤. 15个副省级城市区域经济发展水平的实证分析[J]. 科技进步与对策, 2006, 23(12):3.

6.2 本篇小结

主成分分析,是考察多个变量间相关性的一种多元统计方法,基本思想是在保留原始数据尽可能多的信息前提下达到降维目的,简化问题并抓住主要矛盾。最后构建出少数几个替代原始数据的主成分,它们是原始变量的线性组合。

总体来说,主成分分析和因子分析在数据要求上,分析目的上是一致的,能使用主成分分析的研究,也一定能用因子分析实现研究目的。但从统计工具实现的角度来说,显然常见统计工具对因子分析的支持更完善,对主成分分析的支持则各有不同。

SPSSAU既可以做主成分分析也可以实现因子分析,且可以直接帮我们计算指标权重系数。SPSSAU主成分分析还可以直接获得线性组合的系数、主成分得分和综合得分,为用户实现主成分分析提供了便利。

posted @ 2022-08-30 18:41  spssau  阅读(1781)  评论(0编辑  收藏  举报