【问题标题】:How to calculate the total contribution of a variable for 2 or more PCs in R (PCA)如何计算R(PCA)中2个或更多PC的变量的总贡献
【发布时间】:2016-09-11 16:14:04
【问题描述】:

我用SVD得到了矩阵V和D

a <- rnorm(10, 50, 20)
b <- seq(10, 100, 10)
c <- seq(88, 10, -8)
d <- rep(seq(3, 16, 3), 2)
e <- rnorm(10, 61, 27)

my_table <- data.frame(a, b, c, d, e)
X<- as.matrix(my_table)
sv<- svd(X)
U<- sv$u
V<- sv$v
D<- sv$d
Z<- X%*%V

# I know V is loadings for each variable
V
            [,1]       [,2]        [,3]       [,4]        [,5]
[1,] -0.47127774  0.1101038  0.84237687 -0.2330963 -0.04291587
[2,] -0.46309655  0.6788144 -0.19949420  0.5031776  0.17823289
[3,] -0.41041595 -0.7145416  0.02300398  0.5538093  0.11728268
[4,] -0.07145917  0.0415040 -0.03735585  0.2083779 -0.97383478
[5,] -0.62441269 -0.1216386 -0.49867688 -0.5851088 -0.06543590

D^2/sum(D^2) 是每个 PC 对总变异的贡献。

如何计算一个变量对 2 台或更多台 PC 的总贡献? 例如变量 b 对 PC1 + PC2 + PC3 有多大贡献?

我已经阅读了这个Principal Components Analysis - how to get the contribution (%) of each parameter to a Prin.Comp.?

谢谢, 明

【问题讨论】:

    标签: r pca svd


    【解决方案1】:

    根据this PCA 流程(读取第一主成分,第二主成分),不应有相同参数对不同组件的贡献。对主成分 1 (PC1) 和 PC2 有贡献的参数之间的相关性为 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 2017-03-03
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 2021-05-10
      相关资源
      最近更新 更多