1

我正在做主成分分析,得到分析结果后,如何识别前几个主预测变量?因为剧情很乱。很难看到预测变量的名称:
在此处输入图像描述

我应该查看 PCA 结果的哪一部分?这更像是如何确定可以解释数据方差的最重要的预测变量,比如说 80%。我们知道,例如,前 5 个组件做到了这一点,而主组件只是预测变量的组合。如何识别那些“重要”的预测因子。

4

1 回答 1

1

请参阅此答案主成分分析 - 如何获得每个参数对 Prin.Comp 的贡献(%)?

该信息存储在您的pca结果中。如果你用过prcomp(),那么$rotation就是你所追求的,或者如果你用过princomp(),那么$loadings就是关键。例如。

require(graphics)
data("USArrests")

pca_1<-prcomp(USArrests, scale = TRUE)
load_1<-with(pca_1,unclass(rotation))
aload_1<-abs(load_1)
sweep(aload_1, 2, colSums(aload_1), "/")
#               PC1       PC2       PC3        PC4
#Murder   0.2761363 0.2540139 0.1890303 0.40186493
#Assault  0.3005008 0.1141873 0.1485443 0.46016113
#UrbanPop 0.1433452 0.5301651 0.2094067 0.08286886
#Rape     0.2800177 0.1016337 0.4530187 0.05510509


pca_2<-princomp(USArrests,cor=T)
load_2<-with(pca_2,unclass(loadings))
aload_2<-abs(load_2)
sweep(aload_2, 2, colSums(aload_2), "/")

#            Comp.1    Comp.2    Comp.3     Comp.4
#Murder   0.2761363 0.2540139 0.1890303 0.40186493
#Assault  0.3005008 0.1141873 0.1485443 0.46016113
#UrbanPop 0.1433452 0.5301651 0.2094067 0.08286886
#Rape     0.2800177 0.1016337 0.4530187 0.05510509

如您所见,MurderAssaultRape每个对 PC1 的贡献约为 30%,而对 PC1UrbanPop的贡献仅为 ~14%,但对 PC2 的贡献最大(~53%)。

于 2017-04-30T23:47:37.020 回答