在得到分析结果后,我进行了主成分分析,如何识别前几个主要预测因子?因为情节很混乱。很难看出预测者的名字:
我应该研究哪部分PCA结果?这更像是如何确定可以解释的最重要的预测因子。比如80%,你的数据的方差。我们知道,例如,前5个组件就是这样做的,而主要组件只是预测变量的组合。如何识别那些重要的"预测。
答案 0 :(得分:1)
请参阅此回答Principal Components Analysis - how to get the contribution (%) of each parameter to a 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
如您所见,Murder
,Assault
和Rape
各占PC1的约30%,而UrbanPop
仅对PC1贡献约14%, PC2的主要贡献者(约53%)。