PCAバイプロットの4つの軸は何ですか?


18

PCA分析のバイプロットを作成すると、x軸に主成分PC1スコア、y軸にPC2スコアがあります。しかし、画面の右側と上部にある他の2つの軸は何ですか?


1
どの画面について話しているのか、どうすればわかりますか?
フェアマイル

@ttnphnsはここで
Haitao Du

回答:


12

たとえば、次のコマンドが返すプロットではどうですか?

biplot(prcomp(USArrests, scale = TRUE))

biplot USAの逮捕

「はい」の場合、上軸と右軸は、プロットの赤い矢印(変数を表す点)の解釈に使用されることを意味します。

主成分分析の仕組みがわかっていて、Rコードを読むことができる場合、以下のコードは、prcomp()によるbiplot.prcomp()最終的なプロットの前に結果が最初に処理される方法を示していますbiplot.default()。これらの2つの関数は、でプロットするときにバックグラウンドで呼び出されbiplot()、次の変更されたコードの抜粋はからのものbiplot.prcomp()です。

x<-prcomp(USArrests, scale=TRUE)
choices = 1L:2L
scale = 1
pc.biplot = FALSE
scores<-x$x
lam <- x$sdev[choices]
n <- NROW(scores)
lam <- lam * sqrt(n)
lam <- lam^scale
yy<-t(t(x$rotation[, choices]) * lam)
xx<-t(t(scores[, choices])/lam)
biplot(xx,yy)

まもなく、上記の例では、変数負荷の行列(x$rotation)は、主成分の標準偏差(x$sdev)に観測数の平方根を掛けたものになります。これにより、上軸と右軸のスケールがプロットに表示されるものに設定されます。

変数の負荷をスケーリングする他の方法もあります。これらは、例えばRパッケージビーガンによって提供されます。


5
+1。私はあなたの答えに図を挿入する自由を取りました。
アメーバは、モニカーを復活させる

さらに、PCスコア(左と下の軸)が単位平方和にスケーリングされるという回答に追加できれば、将来の参照に非常に役立つと思います:それらは「生」ではありません PCスコア。
アメーバは、モニカを復活させる

さらに、矢印はテキストラベルの中心が本来あるべき場所にあるようにプロットされていると言う必要があります。次に、プロットの前に矢印に掛けます。つまり、おそらくテキストラベルとの重なりを防ぐために、すべての矢印が本来の長さよりも短くなります(のコードを参照)。これは非常に紛らわしいです。0.8biplot.default
アメーバは

1
さらに、後のスレッド「PCA biplotでの矢印の配置」も参照してください。
アメーバは、モニカーを復活させる

11

バイプロットの視覚化が改善されました。次の図を確認してください。

この実験では、3Dポイントを2D(シミュレーションデータセット)にマッピングしようとしています。

2Dでバイプロットを理解するコツは、3Dで同じものを見るために正しい角度を見つけることです。すべてのデータポイントには番号が付けられており、マッピングを明確に見ることができます。

ここに画像の説明を入力してください

結果を再現するコードは次のとおりです。

require(rgl)
set.seed(0)

feature1=round(rnorm(50)*10+20)
feature2=round(rnorm(50)*10+30)
feature3=round(runif(50)*feature1)

d=data.frame(feature1,feature2,feature3)

head(d)

plot(feature1,feature2)
plot(feature2,feature3)
plot(feature1,feature3)

plot3d(d$feature1, d$feature2, d$feature3, type = 'n')
points3d(d$feature1, d$feature2, d$feature3, color = 'red', size = 10)
shift <- matrix(c(-2, 2, 0), 12, 3, byrow = TRUE)
text3d(d+shift,texts=1:50)
grid3d(c("x", "y", "z"))

pr.out=prcomp(d,scale.=T)
biplot(pr.out)
grid()

2
+1。ただし、回転した3D図形では、ドットの雲の分散が保持されていることに注意してください(水平投影、つまりPC1は、垂直投影、つまりPC2よりも大きな分散を持っています)。これはbiplot、R のコマンドによって生成され、右側の図に再現されたバイプロットの場合ではありません。ドットのクラウドは標準化されていますが、矢印は分散に対応する長さを持っています。
アメーバは、モニカを復活させる

@amoeba良い点。矢印を手動で描いて、矢印の長さにも特定の意味があることを忘れました。
ハイタオドゥ

マニュアルの3D / 2D「バイプロット」biplotは、scale=0引数で関数が生成するものにもっと対応すると思います。
アメーバは、モニカーを復活させる
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.