在线性回归中使用 varimax-rotated PCA 分量作为预测因子

机器算法验证 回归 主成分分析 因子轮换
2022-03-31 19:43:28

在进行 PCA 之后,第一个组件描述了最大的可变性部分。这很重要,例如,在众所周知(Jolliffe,2002)PC1 轴捕获尺寸变化的身体测量研究中。我的问题是 varimax 旋转后的 PCA 分数是否保持相同的属性,或者它们是否如本主题所述不同?

由于我需要 PCA 分数来进行进一步的统计分析,我想知道是否需要 varimax 并且它实际上是否会破坏真实样本变异性的表示,从而使旋转轴上的单个分数无法提供信息或导致对现实的错误解释?

也有人可以建议有关此主题的其他参考资料吗?

R中的工作流程:

  1. PCA(FactoMineRprcomp)-> 提取个人分数-> 在lm
  2. PCA (FactoMinerprcomp) -> Varimax on loadings matrix -> 计算单个分数 -> 在lm
  3. FA ( psych, varimax 和 pca 提取方法) -> 提取单个分数 -> 在lm

现在,在前三个轴上,没有旋转 (1.) 的解释变异性百分比为 29.32、5.6、3.2。2. 和 3. 解决方案在前三个因素(即 12.2、12.1、8.2)上产生相似的百分比。偏离路线 1. 解决方案倾向于将所有高变量载荷推到第一个轴上,而 2. 和 3. 倾向于在轴之间分配载荷(这是旋转的原因)。我想知道这三个工作流程是否基本相同,因为旋转轴与未旋转轴上的各个分数不同?

1个回答

正交旋转后的标准化(单位方差)主成分,例如 varimax,只是旋转的标准化主成分(“主成分”是指 PC 分数)。在线性回归中,单个预测变量的缩放没有影响,用它们的线性组合(例如通过旋转)替换预测变量也没有影响。这意味着在回归中使用以下任何一项:

  • “原始”主成分(对 cov. 矩阵特征向量的投影),
  • 标准化主成分,
  • 旋转[标准化]主成分,
  • 任意缩放旋转[标准化]主成分,

、预测能力等的完全相同的回归模型。(各个回归系数当然取决于归一化和旋转选择。)R2

原始 PC 和旋转 PC 捕获的总方差是相同的。

这回答了你的主要问题。但是,您应该小心您的工作流程,因为很容易混淆和弄乱计算。获得标准化旋转 PC 分数的最简单方法是使用psych::principal函数:

 psych::principal(data, rotate="varimax", nfactors=k, scores=TRUE)

您的工作流程 #2 可能比您想象的更棘手,因为 varimax 旋转后的载荷不是正交的,因此要获得分数,您不能简单地将数据投影到旋转的载荷上。有关详细信息,请参阅我的答案:

您的工作流程#3 可能也是错误的,至少如果您参考该psych::fa功能。它不做 PCA;fm="pa"提取方法是指基于PCA的“主因子”方法,但与PCA不同(它是一种迭代方法)正如我上面所写,您需要psych::principal执行 PCA。

有关 PCA 和 varimax 的详细说明,请参阅我在以下线程中的回答: