如何判断变量对主成分(PC)的贡献占比?PC1成分解读咨询
问题:如何判断哪些变量对主成分(PC)的贡献最大?
我的代码如下:
mammal.pca_no.corr <- prcomp(PCA_mammal_dataset_no.corr, scale = T) summary(mammal.pca) mammal_pca_no.corr$rotation
输出结果:
Importance of components: PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 Standard deviation 2.6653 1.4929 0.53917 0.35689 0.31104 0.29074 0.21260 0.12012 0.08043 0.04318 Proportion of Variance 0.7104 0.2229 0.02907 0.01274 0.00967 0.00845 0.00452 0.00144 0.00065 0.00019 Cumulative Proportion 0.7104 0.9333 0.96234 0.97508 0.98475 0.99320 0.99772 0.99917 0.99981 1.00000 PC1 PC2 PC3 PC4 PC5 PC6 adult_body_mass_g 0.2898569 -0.70308588 -0.375681954 0.1141424 -0.40480411 0.3219029 longevity_y 0.4473037 -0.01703924 0.509790194 0.7227587 -0.02265857 -0.1298056 adult_svl_cm 0.4151987 -0.42151638 -0.003714323 -0.3193357 0.61382852 -0.4137142 female_maturity_d 0.4521501 0.25324957 0.180901772 -0.2579211 0.24483079 0.7564616 male_maturity_d 0.4497617 0.22521078 0.161112601 -0.4673997 -0.62155166 -0.3409520 weaning_d 0.3698475 0.46135518 -0.735037761 0.2786222 0.11209906 -0.1410220
对应的主成分双标图:
基于输出结果,我可能会选择PC1和PC2。其中PC2最突出的变量是adult_body_mass,但PC1除了adult_body_mass和weaning_d外,其余变量的贡献相对均等,请问该如何解读这一情况?
解读与分析
1. 判断变量对主成分贡献的方法
在使用prcomp(scale=T)标准化数据的前提下,直接查看rotation矩阵中的载荷值绝对值即可:绝对值越大,变量对对应主成分的贡献越强。由于数据已标准化,不同变量的载荷可直接横向比较,无需额外转换。
2. PC1的载荷解读
从载荷矩阵看,PC1上longevity_y(0.447)、female_maturity_d(0.452)、male_maturity_d(0.450)、adult_svl_cm(0.415)这四个变量的载荷绝对值非常接近,且全部为正,说明:
- 这四个变量在原始数据中存在强正相关性——比如寿命越长的物种,性成熟时间越晚,体长也越大。
- PC1是这一组生命周期核心特征变量的综合维度:PC1得分越高的样本,通常表现为寿命长、性成熟晚、体型(体长)大。
adult_body_mass_g(0.29)和weaning_d(0.37)的载荷相对较低,是因为这两个变量的变异不仅和PC1相关,还更多地被PC2解释(比如体重在PC2上的载荷绝对值高达0.70),属于“跨维度”的变量。
3. PC2的载荷解读
PC2上adult_body_mass_g的载荷绝对值(0.70)远高于其他变量,结合符号来看:
- PC2的核心作用是区分“体重”与其他变量的关系:体重越小的样本,PC2得分越高;同时这类样本还伴随断奶时间更早、体长更小的特征(
weaning_d正载荷,adult_svl_cm负载荷)。 - 这说明体重在数据集中是相对独立的核心变量,它和寿命、性成熟时间的关联度极低(这两个变量在PC2上的载荷几乎为0),但和断奶时间、体长存在一定反向关联。
内容的提问来源于stack exchange,提问作者Sam Chen
相关产品推荐
相关产品推荐

