2015-05-16 38 views
1

我正在調查雙標圖的PCA在這個問題上的解釋和含義載荷/得分:What are the principal components scores?PCA:分數VS在雙標圖負荷

根據第一回答筆者的分數是:

 x  y 
John -44.6 33.2 
Mike -51.9 48.8 
Kate -21.1 44.35 

按照second answer關於「在雙極的四個軸的解釋」:

左和底部軸表示[標準化]主要分數 得分;頂軸和右軸顯示負載。

所以,從「什麼是主成分得分」繪製雙標圖後理論上我應該得到左側和底部軸得分:

 x  y 
John -44.6 33.2 
Mike -51.9 48.8 
Kate -21.1 44.35 

,右側和頂部的負荷。

我進入他中的R所提供的數據:

DF<-data.frame(Maths=c(80, 90, 95), Science=c(85, 85, 80), English=c(60, 70, 40), Music=c(55, 45, 50)) 
pca = prcomp(DF, scale = FALSE) 
biplot(pca) 

這是我的情節: 首先,左,底軸表示主分量的負荷。上面和右邊的軸代表分數,但它們與作者提供的帖子提供的分數不相符(3 aka凱特在情節上有積極的分數,但在PC1上的分數是根據Tony Breyal在第一個問題的答案中該職位)。

如果我正在做或理解錯誤,我的錯誤在哪裏?

enter image description here

回答

3

有你錯過了一些細微差別:

  1. biplot.princomp功能

出於某種原因biplot.princomp縮放裝載和得分軸不同。所以你看到的分數被改變了。要獲得實際值,可以調用雙極功能,如下所示:

biplot(pca, scale=0) 

有關更多信息,請參閱help(biplot.princomp)

現在這些值是實際得分。您可以通過將該圖與pca$x進行比較來確認此情況。

  1. 居中。

但是結果還是不一樣的,你每在發現SO交叉驗證答案。

這是因爲Tony Breyal手動計算得分並且他正在使用非中心數據。 prcomp函數默認居中,然後使用居中數據來獲得分數。

所以,你可以先發中鋒的數據:

> scale(DF, scale=FALSE) 
     Maths Science English Music 
[1,] -8.333333 1.666667 3.333333  5 
[2,] 1.666667 1.666667 13.333333 -5 
[3,] 6.666667 -3.333333 -16.666667  0 

現在用這些數字來得到分數按答案:

  x             y 
John 0.28*(-8.3) + -0.17*1.6 + -0.94*3  + 0.07*5  0.77*(-8.3) + -0.08*1.6 + 0.19*3  + -0.60*5 
Mike 0.28*1.6 + -0.17*1.6 + -0.94*13 + 0.07*(-5) 0.77*1.6 + -0.08*1.6 + 0.19*13 + -0.60*(-5) 
Kate 0.28*6.6 + -0.17*(-3.3) + -0.94*(-16) + 0.07*0  0.77*6.6 + -0.08*(-3.3) + 0.19*(-16) + -0.60*0 

這樣做了以後,你應該得到相同的分數作爲由biplot(pca, scale=0)

希望這會有所幫助。