R -- 用psych包做因子分析

29 篇文章 0 订阅

因子分析

因子分析又称为EFA,是一系列用来发现一组变量的潜在结构的办法。它通过寻找一组更小的,潜在的结构来解释已观测到的显式的变量间的关系。这些虚拟的、无法观测的变量称为因子(每个因子被认为可以解释多个观测变量间共有的方差)

人话版:开豪宅,住豪车,戴名表 可以归因为 有钱(当然有钱还可以继续归因)。
开豪宅,住豪车,戴名表 这些变量是显式的,而有钱是潜在的隐式的可以解释显式变量的因子。

因子分析和主成分分析有什么区分嘛

个人觉得:因子分析和主成分分析很相似

有人说:原理不同,线性表示方向不同;假设条件不同;求解方法不同;主成分和因子的变化不同;因子数量与主成分的数量;解释重点不同;算法上的不同;优点不同;应用场景不同。

那用因子分析对“有人说的话”进行分析,可以得到潜在的因子,比如解决问题的出发点不同

主成分分析的出发点是将相关变量 打包成一个新变量称为PC ==> 多(变量) 到 (组合)一(主成分),线性组合
因子分析的出发点是 找出引起相关变量变异的共同原因 ==> 一(因子) 到(引发) 多(变量),拆开然后归纳的过程

brief

模型可以用如下方式表达:
在这里插入图片描述

在这里插入图片描述

判断需要提取的因子数

fa.parallel()函数可以判断提取的因子数

library(psych)
options(digits=2)
covariances <- ability.cov$cov
correlations <- cov2cor(covariances)
correlations

fa.parallel(correlations, n.obs=112, fa="both", n.iter=100,
            main="Scree plots with parallel analysis") # fa="both" 同时显示主成分和因子分析的结果

在这里插入图片描述
碎石图显示拐点在2/3个因子处
平行分析(红色虚线)显示三个因子时真实数据的特征值小于模拟数据的特征值
综合来看选择2个因子

提取公共因子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
比如 Xvocab = 0.73PA1 - 0.39PA2 + Uvocab 解释
PA1 + PA2累积可以解释数据60%的变异

因子旋转

  • 正交旋转
    在这里插入图片描述
    正交就是让PA1 与PA2不相关
    现在PA1可以更多解释reading 和 vocab
    PA2可以更好的解释picture blocks,但是累积解释方差不变。

  • 斜交旋转
    在这里插入图片描述

  • 可视化方法

factor.plot(fa.varimax, labels=rownames(fa.varimax$loadings))
fa.diagram(fa.promax, simple=FALSE)

提取因子得分

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值