分享

【天天阿尔法】探索性因子分析

 量化猫 2018-02-07

导读:

EFA的目标是通过发掘隐藏在数据下的一组较少的、更为基本的无法观测的变量,来解释一组可观测变量的相关性。这些虚拟的、无法观测的变量称作因子。(每个因子被认为可解释多个观测变量间共有的方差,因此准确来说,它们应该称作公共因子。)

探索性因子分析

模型的形式为:

其中Xi是第i个可观测变量(i = 1…k), Fj是公共因子(j = 1…p),并且p<k。 Ui是Xi变量独有的部分(无法被公共因子解释)。 ai可认为是每个因子对复合而成的可观测变量的贡献值。回到本章开头的Harman74.cor的例子,我们认为每个个体在24个心理学测验上的观测得分,是根据四个潜在心理学因素的加权能力值组合而成。

虽然PCA和EFA存在差异,但是它们的许多分析步骤都是相似的。为阐述EFA的分析过程,我们用它来对六个心理学测验间的相关性进行分析。 112个人参与了六个测验,包括非语言的普通智力测验(general)、画图测验(picture)、积木图案测验(blocks)、迷津测验(maze)、阅读测验(reading)和词汇测验(vocab) 。我们如何用一组较少的、潜在的心理学因素来解释参与者的测验得分呢?

数据集ability.cov提供了变量的协方差矩阵,你可用cov2cor()函数将其转化为相关系数矩阵。数据集没有缺失值。

因为要寻求用来解释数据的潜在结构,可使用EFA方法。与使用PCA相同,下一步工作为判断需要提取几个因子。

判断需提取的公共因子数

用fa.parallel()函数可判断需提取的因子数:

结果见图14-4。注意,代码中使用了fa = "both",因子图形将会同时展示主成分和公共因子分析的结果。

图形中有几个值得注意的地方。如果使用PCA方法,你可能会选择一个成分(碎石检验和平行分析)或者两个成分(特征值大于1)。当摇摆不定时,高估因子数通常比低估因子数的结果好,因为高估因子数一般较少曲解“真实”情况。观察EFA的结果,显然需提取两个因子。碎石检验的前两个特征值(三角形)都在拐角处之上,并且大于基于100次模拟数据矩阵的特征值均值。对于EFA, Kaiser-Harris准则的特征值数大于0,而不是1。(大部分人都没有意识到这一点。)图形中该准则也建议选择两个因子。

提取公共因子

现在你决定提取两个因子,可以使用fa()函数获得相应的结果。 fa()函数的格式如下:

其中:

 r是相关系数矩阵或者原始数据矩阵;

 nfactors设定提取的因子数(默认为1);

 n.obs是观测数(输入相关系数矩阵时需要填写);

 rotate设定旋转的方法(默认互变异数最小法);

 scores设定是否计算因子得分(默认不计算);

 fm设定因子化方法(默认极小残差法)。

与PCA不同,提取公共因子的方法很多,包括最大似然法(ml) 、主轴迭代法(pa) 、加权最小二乘法(wls)、广义加权最小二乘法(gls)和最小残差法(minres)。统计学家青睐使用最大似然法,因为它有良好的统计性质。不过有时候最大似然法不会收敛,此时使用主轴迭代法效果会很好。欲了解更多提取公共因子的方法,可参阅Mulaik(2009)和Corsuch(1983)。

本例使用主轴迭代法(fm = "pa")提取未旋转的因子。结果见代码清单14-6。

可以看到,两个因子解释了六个心理学测验60%的方差。不过因子载荷阵的意义并不太好解释,此时使用因子旋转将有助于因子的解释。

14.3.3 因子旋转

你可以使用正交旋转或者斜交旋转来旋转14.3.4节中两个因子的结果。现在我们同时尝试下两种方法,看看它们的异同。首先使用正交旋转(见代码清单14-7)。

结果显示因子变得更好解释了。阅读和词汇在第一因子上载荷较大,画图、积木图案和迷宫在第二因子上载荷较大,非语言的普通智力测量在两个因子上载荷较为平均,这表明存在一个语言智力因子和一个非语言智力因子。

使用正交旋转将人为地强制两个因子不相关。如果想允许两个因子相关该怎么办呢?此时可以使用斜交转轴法,比如promax(见代码清单14-8)。

根据以上结果,你可以看出正交旋转和斜交旋转的不同之处。对于正交旋转,因子分析的重点在于因子结构矩阵(变量与因子的相关系数),而对于斜交旋转,因子分析会考虑三个矩阵:

因子结构矩阵、因子模式矩阵和因子关联矩阵。

因子模式矩阵即标准化的回归系数矩阵。它列出了因子预测变量的权重。 因子关联矩阵即因子相关系数矩阵。

在代码清单14-8中, PA1和PA2栏中的值组成了因子模式矩阵。它们是标准化的回归系数,而不是相关系数。注意,矩阵的列仍用来对因子进行命名(虽然此处存在一些争论)。你同样可以得到一个语言因子和一个非语言因子。

因子关联矩阵显示两个因子的相关系数为0.57,相关性很大。如果因子间的关联性很低,你可能需要重新使用正交旋转来简化问题。

剩余内容,请点击此处查看原文。该文章由微信公众号“临床科研那些事原创ID:“Bridge_the_gap” 。本订阅转载目的在于传递更多信息,第三方转载请与原账号联系。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多