線形回帰の予測子としてのバリマックス回転PCAコンポーネントの使用


8

PCAを実行した後、最初のコンポーネントは変動性の最大の部分を記述します。これは、PC1軸がサイズの変動をキャプチャすることが一般的に知られている(Jolliffe、2002)身体測定の研究などで重要です。私の質問は、バリマックスローテーション後のPCAスコアが同じプロパティを保持するか、またはこのトピックで述べたようにそれらが異なるかどうかです。

さらなる統計分析のためにPCAスコアが必要なため、varimaxが必要かどうか、そして実際に実際のサンプルの変動性の表現を混乱させて、回転した軸上の個々のスコアが情報を得られない、または現実の誤解につながるのでしょうか?

また、誰かがこのトピックに関する他の参考文献を提案できますか?

Rのワークフロー:

  1. PCA(FactoMineRまたはprcomp)->個々のスコアを抽出->にスコアを入力lm
  2. PCA(FactoMinerまたはprcomp)->荷重行列のバリマックス->個々のスコアを計算->にスコアを入力lm
  3. FA(psych、バリマックス、PCA抽出方法)->個々のスコアを抽出->スコアをlm

ここで、回転なし(1.)の説明された変動性のパーセンテージは、最初の3つの軸で29.32、5.6、3.2です。2.および3.ソリューションは、最初の3つの要因、つまり12.2、12.1、8.2で同様の割合を示します。もちろん、1。ソリューションはすべての高変動荷重を最初の軸にプッシュする傾向がありますが、2。および3.は軸間で荷重を分散する傾向があります(これが回転の理由です)。回転した軸と回転していない軸では個々のスコアが異なるため、これらの3つのワークフローが本質的に同じであるかどうか知りたいですか?


ローテーションの目的は、コンポーネント間のばらつきを共有することであり、それはもはや当てはまりません。「実際のサンプルの変動性の表現を破壊する」という意味がわかりませんが、回転によって、コンポーネントによって各項目で説明される変動の割合が変更されることはありません。
Jeremy Miles

2
ローテーションは、コンポーネントの解釈のためだけに実行されます。解釈は、「潜在変数モデル」のコンテキストでのみ必要です。つまり、コンポーネントを因子として扱う場合、= PCAを因子分析として使用します[物議をかもす決定ですが、許容されます]。それはあなたのケースですか?
ttnphns 2013

1
ここで正しく引用されたように、回転後のコンポーネントは階層的に順序付けられない可能性があります(1番目が最も強く、2番目が次に遅れます...)。しかし、全体として(多変量)、ローテーションで情報が失われることはありません。そのため、抽出されたすべてのコンポーネントのスコアは、ローテーション前と同様にローテーション後にも価値があります。
ttnphns 2013

私はちょうど何かについて確認するために必要な、私はR.で私のワークフローを掲載している
Fedja Blagojevicを

はい、確かに私はPCAをEFAとして使用していますが、EFAでも試しました。
Fedja Blagojevic 2013

回答:


7

varimaxなどの直交回転後の標準化された(単位分散に)主成分は、単に回転された標準化主成分です(「主成分」とは、PCスコアを意味します)。線形回帰では、個々の予測子のスケーリングは効果がなく、予測子をそれらの線形の組み合わせ(たとえば、回転による)で置き換えることも効果がありません。これは、次のいずれかを回帰で使用することを意味します。

  • 「生の」主成分(変換行列の固有ベクトルの射影)、
  • 標準化された主成分、
  • 回転[標準化]主成分、
  • 任意にスケーリングされた回転[標準化]主成分、

同じ、予測力などを使用して、まったく同じ回帰モデルを導きます(もちろん、個々の回帰係数は、正規化と回転の選択に依存します)。R2

生のPCと回転したPCでキャプチャされた分散の合計は同じです。

これはあなたの主な質問に答えます。ただし、混乱を招き、計算をめちゃくちゃにするのは非常に簡単なので、ワークフローには注意が必要です。標準化されたローテーションされたPCスコアを取得する最も簡単な方法は、psych::principal関数を使用することです。

 psych::principal(data, rotate="varimax", nfactors=k, scores=TRUE)

varimaxローテーション後のローディングは直交しないため、スコアを取得するためにローテーションされたローディングにデータを単純に投影することはできないため、ワークフロー#2は思ったよりも難しいかもしれません。詳細については、ここで私の答えを参照してください:

少なくともpsych::fa関数を参照する場合、ワークフロー#3もおそらく間違っています。PCAは行いません。fm="pa"抽出方法は、PCAに基づいて「主要因」方法を意味するが、PCA(それは反復法である)と同一ではありません。上で書いたように、psych::principalPCAを実行する必要があります。

PCAとvarimaxの詳細な説明については、次のスレッドで私の回答を参照してください。


親切な言葉をありがとう、@ Cbhihe。私はmodがどの回答も受け入れられたものとしてマークできないことを確信しています。OP(Fedja)に到達したい場合は、私の回答の下ではなく、彼の質問の下でコメントしてください。その後、彼はあなたのコメントを通知されます。彼はまだSEでアクティブなようです(今日SOで「最後に見た」)
アメーバ2018年

@ Mods、OPがポイントを獲得することなく、この回答を「承認」できますか(OPは無視していたため、ある程度)。それは地域社会への奉仕です。modがこれを行うことができない場合は、メタでスレッドを開始して、OPが非常に良い答えを無視しているために見えにくくなるこの種の状況について説明します。最後になりましたが、ありがとう、アメーバ。+1
2018年

@Cbhiheそれは本当に不可能です。したがって、メタスレッドを開始したい場合は、先に進むことができます。興味深いディスカッションになる可能性があります。
アメーバ2018年

その場合、OPの代わりに行動する準備ができていないMODについては正しいでしょう。そのトピックに関してはかなりの数のメタ投稿が存在し、SEが存在する限り、問題は私の知る限り続いています。良い解決策のない本当の問題。残念。乾杯。
Cbhihe
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.