SPSS之因子分析
SPSS之因子分析
因子分析是一种多元统计分析方法,主要用于从大量变量中提取少数几个能够解释大部分变异的公因子。这种方法在社会科学、市场研究、金融分析等领域有着广泛的应用。本文将通过两个具体案例,详细介绍如何使用SPSS软件进行因子分析,包括数据预处理、模型构建和结果解释等关键步骤。
因子分析的基本原理与操作步骤
因子分析的求解通常从分析原始变量的协方差矩阵或相关矩阵着手:
- 当变量取值的度量单位相同时,选择从协方差矩阵求解;
- 当变量取值的度量单位不同时,为了消除不同量纲带来的不利影响,应先对数据进行标准化处理,即选择从相关矩阵求解(SPSS默认)。
数据标准化
数据标准化通过【分析】--【描述统计】--【描述】中,勾选“将标准化得分另存为变量”来实现,SPSS会自动将标准化后的数据存入数据表。
相关性检验
进行因子分析的前提是变量之间存在较高程度的相关性,即信息冗余。可通过相关系数矩阵(大部分>0.3)、KMO值(KMO值至少≥0.5)、Bartlett球形度检验(p<α)来完成变量相关性的检验。在SPSS中通过在【分析】--【降维】--【因子分析】--【描述】对话框中勾选相应选项来完成。
公因子的选取
公因子的选取与主成分选取一样,原则如下:
- 方差累积贡献率达到80%或85%及以上;
- 选取特征值对应的主成分;
- 碎石图。
因子载荷矩阵
SPSS输出结果中可以直接得到因子载荷矩阵,注意因子载荷矩阵不是主成分系数矩阵。由因子载荷矩阵可得初始因子解。旋转后的因子载荷矩阵系数变化更大,更容易解释公因子的意义。特别当公因子个数为2时,可在二维平面中绘制散点图(SPSS中通过【图形】--【旧对话框】--【散点/点状】实现),继而分析各样品的分布情况。
案例一:学生成绩的因子分析
本案例使用52名学生的数学(x1)、物理(x2)、化学(x3)、语文(x4)、历史(x5)和英语(x6)成绩数据,进行因子分析。
因子分析实现步骤
- 打开SPSS软件,选择【分析】→【降维】→【因子分析】,将所有变量全部添加到“Variables”中;
- 选择【Descriptives】对话框勾选“Coefficients”、“Significance levels”、“KMO and Bartlett’s test of sphericity”,点击【Continue】;
- 选择【Extraction】对话框将“Scree plot”勾选上。其他不变,点击【Continue】;
- 选择【Rotation】对话框,选择“varimax”方法,输出选中“Rotated solution”和“Loading plot”。点击【Continue】;最后单击【OK】输出结果。
因子分析结果分析
相关系数矩阵:适合做主成分分析,数学、物理、化学存在较高程度的相关性,语文、历史、英语存在较高程度的相关性。
KMO与Bartlett检验:KMO=0.804 > 0.5;Bartlett球形度检验P值小于0.001 <α适合做因子分析。
特征值与方差贡献率:
- 选取前两个主成分,累积方差贡献率达到了 82.317% ,
- = 522.435 ,贡献率为 61.130% ;
- = 181.071 ,贡献率为 21.187% ;
- 旋转后, = 331.127 ,贡献率为 38.745% ;
- = 372.379 ,贡献率为 43.572% 。
- 从上述表的结果可以看出,旋转后总的方差累计贡献率没有改变,但是每一个公因子的方差贡献不一样了。
共同度:提取两个公因子,对原始6个变量的方差贡献分别为 0.740 ,0.724 ,0.850 ,0.916 ,0.823 ,0.887 , 说明 提取的两个公因子对原始6个变量的观测值的覆盖率都非常高,可以有效地反映出6个变量的原始信息。
因子分析的初始解(初始的因子载荷矩阵):
旋转后的因子解(旋转后的因子载荷矩阵):
根据上表写出旋转后的因子解:
- 第一个因子主要和语文、历史、英语有很强的正相关,相关系数分别为0.899、0.890、0.921;
- 第二个因子主要和数学、物理、化学有很强的正相关,相关系数分别为0.788、0.788、0.920;
- 所以第一个因子可称为文科科目,第二个因子称为理科科目。
- 可见,因子正交旋转后因子的含义更清楚。
绘制因子载荷图(SPSS输出):
从图中可以看出:X1、X2、X3聚集为一类,X4、X5、X6聚集为一类。将原始6个变量有效地分为了两类。
在了解各个公共因子的具体含义后,可采用回归估计等估计方法计算样本的因子得分:
以两个公共因子分别为横纵坐标,绘制出各个学生的因子得分图这个图直观反映了以上分析的基本结果。
案例二:上市公司财务指标的因子分析
本案例以2017年上市公司中的汽车零配件行业为例,应用因子分析模型评价分析公司经营业绩,选取了财务报表中的十二个主要财务指标:
- x1:存货周转率(%)
- x2:总资产周转率(%)
- x3 :流动资产周转率(%)
- x4 :营业利润率(%)
- x5 :毛利率(%)
- x6 :成本费用利润率(%)
- x7:总资产报酬率(%)
- x9 :每股收益(元)
- x8:净资产收益率-加权(扣除非经常性损益)(%)
- x10 :扣除非经常性损益每股收益(元)
- x11 :每股未分配利润(元)
- x12 :每股净资产(元)
此数据集需要比上面的案例多一个前置处理——数据标准化。进行多元统计分析时,我们往往要收集到不同量纲的数据,比如收益(元)、利润率(%)等。这表现为变量在数量级和计量单位上的差别,从而使得各个变量之间不具有综合性,而多元分析方法大多对变量要特殊的要求,比如符合正态分布或者变量之间具有可比性。这时就必须采用某种方法对各变量数值进行标准化处理,或者叫无量纲化处理,解决各数值不具综合性的问题。我们这里使用的是“Z-标准化”方法。
“Z-标准化”方法:每一变量值与其平均值之差除以该变量的标准差。无量纲化后个变量的平均值为0,标准差为1,从而消除量纲和数量级的影响。
对原数据进行标准化处理后进行因子分析(步骤与上一案例类似)
相关系数矩阵:
各变量之间的相关系数大部分都大于0.3,说明变量之间存在一定程度的相关性,适合做主成分分析。
KMO与Bartlett检验:
KMO = 0.763 > 0.5;Bartlett球形度检验P值小于0.001 <α。适合做因子分析。
特征值与方差贡献率:
- 选取前三个主成分,累积方差贡献率达到了88.935%,λ1 = 5.005,贡献率为58.076%;λ2 = 1.606,贡献率为18.642%;λ3 = 1.053,贡献率为12.217%。
- 旋转后λ1 = 3.195,贡献率为37.080%;λ2 = 2.918,贡献率为33.862%;λ3 = 1.551,贡献率为17.993%。
- 从上述的结果可以看出,旋转后总的方差累计贡献率没有改变,但是每一个公因子的方差贡献不一样了。
共同度:
提取三个公因子,对原始12个变量的方差贡献分别为:0.758、0.840、0.750、0.853、0.767、0.948、0.912、0.933、0.959、0.937、0.878、0.910。说明提取的三个公因子对原始12个变量的覆盖率都非常高,三个公因子可以有效地反映出原始12个变量的原始信息。
因子分析的初始解**(初始的因子载荷矩阵):
旋转后的因子解**(旋转后的因子载荷矩阵):
根据上表写出旋转后的因子解:
- 第一个因子主要和X4(营业利润率),X5(毛利率),X6(成本费用利润率),X7(总资产报酬率),X8(净资产收益率-加权(扣除非经常性损益))有很强的正相关,相关系数分别为:0.890、0.712、0.889、0.906、0.824;
- 第二个因子主要和X9(每股收益),X10(扣除非经常性损益每股收益),X11(每股未分配利润),X12(每股净资产)有很强的正相关,相关系数分别为:0.889、0.866、0.832、0.941;
- 第三个因子主要和X1(存货周转率),X2(总资产周转率),X3(流动资产周转率)有很强的正相关,相关系数分别为:0.815、0.907、0.863。
- 所以第一个因子可称为企业获利能力,第二个因子可称为企业资产实力,第三个因子可称为企业资金周转率。可见,因子正交旋转后因子的含义更清楚。
绘制因子载荷图:
从中可以看出:X1,X2,X3聚集为一类,X4,X5,X6,X7,X8聚集为一类,X9,X10,X11,X12聚集为一类。将12个原始变量分为了三类。
在了解各个公共因子的具体含义后,可采用回归估计等估计方法计算样本的因子得分:
以三个公共因子分别为X,Y,Z坐标,绘制出2017年上市公司中的汽车零配件行业的各个企业的因子得分图,这个图直观反映了以上分析的基本结果。