因子分析

Reads: 5537 Edit

1 功能描述

因子分析不仅可以用于对数据进行降维,更重要的是因子分析可以根据数据表现出来的显在特征,估计出内在的秉性。例如,学生不同课程的考试成绩是我们可以直接观测的外在变量,但是是什么因素决定学生的考试成绩呢,可能是智商、语言能力、逻辑推理等等这些难以直接观测的内在属性。因子分析则可以利用外在的显变量测度出内在潜变量。

2 因子分析

我们以考试成绩.sav的数据为例进行演示,根据学生6门课程的考试成绩来分析其内在的禀赋!

双击打开考试成绩.sav数据文件,其中给出了100名学生6门课程的考试成绩。

spss-247

在数据窗口中,依次点击“分析/降维/因子分析”。

spss-248

在弹出的“因子分析”窗口,将数学、物理、化学、语文、历史、英语这6个变量移到右侧的变量框;

spss-249

在“因子分析”窗口,点击描述按钮;

在弹出的“因子分析:描述”窗口,勾选KMO和Bartlett的球形度检验。点击继续返回!

spss-250

在“因子分析”窗口,点击抽取按钮;

在弹出的“因子分析:抽取”窗口。方法应选择“主成分”(注意:主成分只是因子分析抽取因子的一种方法,也可以选择其他方法);

由于我们使用了原始数据,所以分析区块下方应当选择“相关性矩阵”,这样SPSS将自动对数据进行标准化处理!

勾选输出区块下的碎石图;

其他保持默认。点击继续返回!

spss-251

在“因子分析”窗口,点击旋转按钮(注意:因子分析必须选择旋转);

在弹出的“因子分析:旋转”窗口。方法区块下选择“最大平衡值法”(效果不好的话也可以选择其他方法);输出区块下勾选旋转解和载荷图;其他保持默认,点击继续返回!

spss-252

在“因子分析”窗口,点击因子得分按钮;

在弹出的“因子分析:因子得分”窗口,勾选保存为变量,方法选择回归;同时勾选显示因子得分系数矩阵。点击继续返回!

spss-253

在“因子分析”窗口,设置好参数后,点击确定进行运算!

spss-254

运算完成后,输出窗口将给出相应的结果。

KMO和巴特利特检验表中,KMO的值大于0.8,Bartlett显著性小于0.05,因而表明原始变量之间存在相关性,可以进行因子分析。

spss-255

总方差解释表中,给出了提取出的6个因子信息,其中第一个因子包含原始样本44.147%的信息,第二个因子包含原始样本366.995%的信息。由于前两个因子累计包含了原始样本80%以上的信息。所以提取两个因子即可!

spss-256

碎石图给出了各个因子的特征值,前两个因子最大,表明这两个因子最重要!

spss-257

成分矩阵和旋转后的成分矩阵均表示了原始变量和因子间的相关性。旋转后的成分矩阵可以时原始变量的相关性集中在一个因子上,从而有助于对因子进行命名!

本例中旋转后的成分矩阵中,数学、物理、化学与第一个因子相关性非常高,而与第一个因子相关性较弱,因而第一个因子反应了学生的理科能力。同理,第一个因子反应了学生的文科能力。注意由于显变量有限,所以只提取了两个因子(文科能力、理科能力),如果显变量足够多,可能会给出更为详细的能力划分,如计算能力、逻辑能力、写作能力、阅读能力等等。

我们可以利用旋转后的成分矩阵的数值给出两个因子和各门课程成绩的关系,如下:

数学=-0.387F1+0.79F2+ε
物理=-0.172F1+0.841F2+ε
...

其中F1和F2是两个公因子。

注意,利用上述公式计算各门课程成绩时,由于存在残差,所以与实际数值不一致!

spss-258

旋转后的空间的组件图给出了6门课程变量的载荷图,可以发现数学、物理、化学三门课程集聚在一起,另外三门课程集聚在一起!

spss-259

成分得分系数矩阵表中的数值可以用于计算两个公因子。具体公式如下:

factor1=0.036*z数学+0.165*z物理+0.155*z化学+0.357*z语文+0.417*z历史+0.413*z英语

factor1=0.377*z数学+0.474*z物理+0.462*z化学+0.052*z语文+0.151*z历史+0.142*z英语

注意:在计算因子时,不能使用原始变量,需要使用标准化后的变量。

spss-260

接着,我们根据成分得分系数矩阵表来手动计算因子。

在数据视图窗口,依次点击“分析/描述性统计/描述”;

spss-261

在弹出的“描述性”窗口,将数学、物理、...6个变量移到右侧的变量框:

勾选将标准化得分另存为变量选项;点击确定(SPSS将自动计算6个变量的标准化值)!

spss-262

在数据窗口中,依次点击“转换/计算变量”。

spss-263

在弹出的“计算变量”窗口,目标变量输入新变量名:factor1;

数字表达式输入:0.036*Z数学+0.165*Z物理+0.155*Z化学+0.357*Z语文+0.417*Z历史+0.413*Z英语

点击确定进行计算。

注意:在计算因子时,不能使用原始变量,需要使用标准化后的变量。

spss-264

返回数据视图窗口,最后一列factor1即为我们计算的第一个因子,可以和SPSS计算的第一个因子进行比较。可以发现,两者略微存在差异!

当然,我们这里主要是演示因子计算的过程,实际应用中直接使用SPSS计算好的结果就行!

spss-265

接下来,我们计算总的因子得分。

在数据窗口中,依次点击“转换/计算变量”。

spss-266

在弹出的“计算变量”窗口,目标变量输入新变量名:fs;

数字表达式输入:44.147/81.142*FAC1_1+36.995/81.142*FAC2_1;其中FAC1_1、FAC2_1是SPSS自动计算的两个因子得分,44.147/81.142、36.995/81.142是两个因子所含信息的比重!

点击确定进行计算。

spss-267

返回数据视图窗口,其中最后一列fs就是计算的因子总得分,可以用于对学生能力的评价。6门课程反映了学生考试的分数,fs则是学生能力的评价!

spss-268



获取案例数据,请关注微信公众号并回复:SPSS_dt16


Comments

Make a comment