PCAとPLSの「読み込み」と「相関読み込み」の違いは何ですか?


11

主成分分析(PCA)を実行するときに行う一般的なことの1つは、2つの負荷を互いにプロットして、変数間の関係を調べることです。主成分回帰とPLS回帰を行うためのPLS Rパッケージに付属するペーパーには、相関負荷プロットと呼ばれる別のプロットがあります(ペーパーの図7および15ページを参照)。相関負荷は、それが説明するように、(PCAからまたはPLS)スコアとの相関関係と実際の観測データです。

ローディングと相関ローディングは、スケーリングが少し異なることを除いて、かなり似ているように思えます。組み込みのデータセットmtcarsを使用したRでの再現可能な例は次のとおりです。

data(mtcars)
pca <- prcomp(mtcars, center=TRUE, scale=TRUE)

#loading plot
plot(pca$rotation[,1], pca$rotation[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Loadings for PC1 vs. PC2')

#correlation loading plot
correlationloadings <- cor(mtcars, pca$x)
plot(correlationloadings[,1], correlationloadings[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Correlation Loadings for PC1 vs. PC2')

ローディングプロット correlationloadinsplot

これらのプロットの解釈の違いは何ですか?そして、(もしあれば)実際に使用するのに最適なプロットはどれですか?


pcaをよりよく表示するには、biplot(pca)を使用します。これは、pcaの負荷とスコアを示し、よりよく解釈できるようにします。
Paul

6
R prcompパッケージが無謀に固有ベクトルを「読み込み」と呼びます。これらの条件を分けておくことをお勧めします。ローディングは、それぞれの固有値にスケールアップされた固有ベクトルです。
ttnphns 14年

1
ローディングプロットのジオメトリの説明:stats.stackexchange.com/a/119758/3277
ttnphns

回答:


13

警告:R「ローディング」という用語を紛らわしい方法で使用しています。以下に説明します。

XNX=USVUSV1N1XX=VS2N1VV

「負荷」は列として定義されますL=VSN1

1N1X(N1U)=1N1VSUU=1N1VS=L,
1L

用語の混乱を解消するために:Rパッケージが「ローディング」と呼ぶものは主軸であり、「相関ローディング」と呼ばれるものは(相関行列で行われるPCAの場合)実際にはローディングです。お気づきのとおり、これらはスケーリングのみが異なります。何をプロットする方が良いかは、見たいものによって異なります。次の簡単な例を考えてみましょう。

バイプロット

VxyLxyxyPC2よりもPC1の方がはるかに強い相関があります。私、ほとんどの人が正しいタイプのバイプロットを見るのを好むことが多いと思います。

xy1

mtcarsデータセットをもう一度見てみましょう。以下は、相関行列に対して実行されたPCAのバイプロットです。

mtcars pca biplot

VL

そして、これが共分散行列で行われたPCAのバイプロットです:

mtcars pca biplot

100VL

PS PCAバイプロットにはさまざまなバリアントがあります。詳細な説明と概要については、こちらの回答を参照してください。PCAバイプロットに矢印を配置する。これまでにCrossValidatedに投稿された最も美しいバイプロットは、ここにあります


2
これは非常に良い回答(+1)ですが、統計データセットや例で従来行われているように、最初は変数をXの列ではなくXの行に配置するという、教訓的な弱点があります。その転置により、Uベクトルは変数について、Vはケースについての答えになります。PCAを知っているほとんどの人は、反対のレイアウトに慣れています。ですから、それは知覚を少し妨げます。
ttnphns 2014年

1
スキャンで「axes biplot」と「loadings biplot」の違いの「道徳的」を口頭で強調することをお勧めします。最初は、変動性(= scale、= magnidute、= inertia、= mass)は表示されません。固有値で保存されます。2番目では、変数を表す固有ベクトルに完全に放棄されました。その「復活」のおかげで、変数は、原点からの特定の長さと特定の角度を持つ2つのポイントまたはベクトルの意味のあるデータクラウドになります。このようにして、私たちは「突然」サブジェクト空間に自分自身を見つけます。
ttnphns 2014年

XxUUxXUXXXU

1
もちろん、これは好みの問題です。ただし、統計プログラムの大多数はデータスプレッドシートをとして表示しますcases X variables。そのため、伝統的に、ほとんどの統計分析テキストの線形代数はケースを行ベクトルにします。たぶん機械学習では違いますか?
ttnphns 2014年

1
@user_anonいいえ、この回答では、因子ローテーションなしの標準PCAが考慮されます。
アメーバはモニカを復活
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.