使用 PCA 的因子加载来计算 R 中的组件值

Using factor loadings of PCA to compute component values in R

我对统计分析还很陌生。我正在使用我在一篇论文中找到的问卷来评估我的研究。调查问卷带有不同组件上每个项目的因子载荷,但我问自己如何将这些载荷与我的数据集一起使用。答案的值从 1 到 6 不等,我已经反转了负负载。 所以这是加载矩阵:

我已经完成了以项目(sp4、sp5、...)为列、答案为行的问卷调查。

所以我的问题是:如何使用这些载荷来计算分量 1-3?项目的答案从“我不同意”到“我完全同意”,计算是否与双极性答案不同(例如“愉快”(1)和“不愉快”(6))?

已致谢,并致以最良好的祝愿! :)

我的猜测是,这是将公因子设置为 1 而不是真正的 PCA 的公因子分析 - 通常 PCA 结果不会轮换。如果它是真正的 PCA,那么分数就是变量矩阵乘以分量载荷矩阵。 PCA使用奇异值分解求得:

认为 ortho-normal 方差最大化组件 UD = XV。也就是说,正确的奇异向量(又名载荷)是将变量映射到分量的系数。这是 R 中的示例:

library(psych)
G <- scale(Garcia)
p1 <- princomp(G)
c1 <- G %*% p1$loadings
## correlation between internally computed components
## and components created by multiplying variables by loadings
diag(cor(c1, p1$scores))
# Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 
#      1      1      1      1      1      1 

使用因子分析,模型不同,因此找到分数的解决方案有点不同。在这里,regression-based 分数通常用

计算

其中Rxx为因子间相关矩阵,Ryy为变量间相关矩阵,Lambda为因子载荷矩阵,Y为观测变量矩阵。这是 R 中的示例:

mle3 <- fa(G,3,fm="minres" ,rotate="oblimin", SMC=FALSE)  #principal axis 
Rxx <- mle3$Phi
Ryy <- cor(G)
lambda <- mle3$loadings
s1 <- G %*% t(Rxx %*% t(lambda) %*% solve(Ryy))
## correlation between internally computed factor scores
## and scores created with the equation above. 
diag(cor(s1, mle3$scores))
# MR1 MR3 MR2 
#   1   1   1 

因此,您使用的方法将决定如何将变量映射到组件。如果您正在寻找好的参考资料,我发现 Stanley Mulaik 的 Foundations of Factor Analysis 真的很有帮助。