R 和 SPSS 之间 PCA 负载的差异

机器算法验证 r spss 主成分分析
2022-03-29 05:17:43

我进行了两个主成分分析:在 R 和 SPSS 中 - 使用相同的数据集和相同的变量。我得到了同样的结果——至少在某种程度上。特征值是相同的(我在两种情况下都使用了相关矩阵,没有旋转),但载荷不同。

我决定看一些图,所以在下面你可以看到 R 和 SPSS PCA 载荷的两个图。第一个图显示了 R 中 PCA 的负载略有变化。也就是说,这些是 R 负载的相反迹象。第二个图显示了 SPSS 中 PCA 的原始加载。这些图是相同的,但我无法弄清楚为什么它们的数字不同。

R 或 SPSS 是否进行任何隐式加载转换?

在此处输入图像描述

3个回答

区别在于 R 和 SPSS 如何解释“加载”这个词。PCA 中的载荷定义为由各自特征值的平方根缩放的协方差矩阵的特征向量。请在此处查看例如我的答案以获得动力:

这是 SPSS 遵循的定义。然而,R(不幸的是)所谓的“加载”是协方差矩阵的非缩放特征向量。因此,您的两个图的缩放比例应该是第一个特征值的平方根。由于比例因子似乎是,第一个特征值应该大约等于,正如@whuber 在上面的评论中暗示的那样。2.52.52=6.25

一个简单的答案,由一个R-guy。

关于符号转换;每个加载向量都有一个“邪恶孪生向量”,在特征空间中指向相反方向 180 度。加载向量产生相反符号的分数。与 (-1) (+1) =(+1) (-1) 类似,解是相同的。

加载向量的长度也无关紧要,只要它会反映在分数上。X = 负载 x 分数 + e 和负载 x 分数 = X(fit) 因此负载 (R) x 分数(R) = 负载(SPSS) x 分数(SPSS)

两种解决方案是相同的

有关 SPSS PCA 算法的完整详细信息,请参阅产品随附的算法文档。但似乎结果实际上与任意线性变换相同。