美文网首页
2018-05-03

2018-05-03

作者: 阿栗哩 | 来源:发表于2018-05-03 17:53 被阅读0次

    如何利用STATA进行因子分析

    首先在进行因子分析之前,一定要将数据清理好后再进行,否则你有可能会得到不同的结果,然后开始纠结需要选择哪个结果。

    以CGSS2013B卷D部分第8题下设23道为例做因子分析,首先需要进行KMO检验或者巴特利特球形检验,巴特利特球形检验可以在提取因子之前进行检验,但是STATA对KMO指令的实现需要在因子提取完成之后再进行,故先进行因子提取

    1.factor var1-var10,pcf   其中附加指令pcf是为了假定共同度为1

    结果呈现如下

    从第一列可知,这23道小题在进行因子提取后生成五个公共因子,只有初始值大于1才可以被认为成构成因子,而这五个公共因子解释力达到55.03%

    完成公共因子提取后,就需要检验我们提取的因子是否成立,检验的方式有两种:1.KMO检验 2.巴特利特球形检验

    2.estat kmo

    例子的KMO检验结果为0.9232,一般来讲>0.6可以接受、>0.7较好、>0.8很好、>0.9就算是非常合适了,0.9232算是非常靠谱的结果,证明我们之前进行的公因子提取是OK的

    estat smc 也是可以的,如果值越大,说明共线性越大,越适合做主成分分析,但是这个例子所出来结果不太理想,意外的KMO很高,也不知道是为啥(?)

    巴特利特球形检验需要另外安装指令,指令如下

    net install factortest.pkg

    help factortest

    factortest var1-var10   该检验需要显著性小于0.001,经检验这一例子也符合这个要求

    3.rotate  我们在完成公共因子提取和检验之后,需要了解一下每个因子具体包含哪些题目,进行因子载荷矩阵旋转可以达成这一目的

    那我们如何能从这个表格中看出每个题目从属哪个因子呢?这里介绍一个方法。以d801为例,从中挑选出系数最大的,这一题最大的系数为0.5816,从属于factor1,也就是属于第一个公共因子中。在完成所有题目归纳后,我们就可以依据题目的性质来给公共因子命名,实现我们需要的变量。

    当然如果认为这样一个一个对着看比较烦可以尝试以下指令

    predict f1 f2 f3 f4 f5  

    会获得这样一个结果

    可以将正负和大小比较结合起来就能比较快速的挑选因子题目,也能把因子分别保存成新的变量,我们会在变量栏里找到新生成的f1-f5

    4.为了方便我们将计算好的因子带入到模型中,我们需要计算出具体的因子得分,其公式为

    综合因子得分=因子占比权重*因子

    eg : gen zf=(0.1447*f1+0.1360*f2+0.1077*f3+0.0817*f4+0.0802*f5)

    由于我们之前生成了新的各因子变量,该指令后也会直接报告各因子得分,然后就可以作为尺度变量带入模型

    相关文章

      网友评论

          本文标题:2018-05-03

          本文链接:https://www.haomeiwen.com/subject/cdqlrftx.html