保持する主成分の数の選択


10

私に提案された1つの方法は、画面プロットを見て、「エルボー」をチェックして、使用するPCの正しい数を決定することです。しかし、プロットが明確でない場合、Rは数を決定するための計算を持っていますか?

fit <- princomp(mydata, cor=TRUE)

3
私が知っていることではありません。最初に、「1経験則以上の固有値」またはいわゆるKayserのルールを参照すると、おそらくこれを満たしているPCの数がわかります(これは一般に次元数を過大評価していることに注意してください)。より正確にあなたのスクリープロットで。第二に、並列分析は、コンポーネントの数を決定するためのより良い方法です。コンポーネント数と係数の決定については、R、SPSS、SAS、およびMATLABプログラムpsyor psychパッケージを参照してください。Parallel AnalysisとVelicerのMAP Testをより一般的に使用する。
2012年

回答:


10

次の記事:CangelosiとGorielyによるcDNAマイクロアレイデータへの応用を伴う主成分分析における成分保持は、研究における成分の数を検出するための標準的な経験則のかなり良い概観を与えます。(スクリードプロット、説明される総分散の割合、平均固有値ルール、対数固有値図など)それらのほとんどは、Rでの実装が非常に簡単です。

一般に、スクリープロットが決定的でない場合は、「毒を拾う」だけです。実際に使用するPCの数は実際に問題の理解に依存するため、データに絶対的な正誤はありません。次元を「本当に」知ることができる唯一のデータセットは、自分で構築したものです。:-) 1日の終わりの主成分は、RSSメトリック(副産物として、各成分が変動の主要なモードを表すために得られる副産物として)の下でデータの最適な分解を提供し、特定の数の成分を含めるか除外します問題の次元に関する認識を決定します。

個人的な好みの問題として、私はこのPCAの次元の自動選択に関するMinkaのアプローチを気に入っています。これは、PCAの確率論的解釈に基づいていますが、ここでも、特定の次元のデータの可能性をモデル化しようとするゲームに入ります。(この理論的根拠に従いたい場合は、LinkがMatlabコードを提供します。)

データをよりよく理解してください。例えば。データセットの変動の99.99%がモデルの共変量によるものだと本当に信じていますか?そうでない場合は、おそらく、分散全体のこのような小さな割合を示すディメンションを含める必要はありません。実際には、コンポーネントが、目立つ違いのしきい値を下回る変動を反映していると思いますか?これもおそらく、そのコンポーネントを分析に含めることにはほとんど関連がないことを意味します。

いずれにせよ、頑張ってデータを注意深くチェックしてください。(それらをプロットすると不思議にもなります。)


matlabコードをポイントしてもらえますか、見つかりません。
mrgloom 2013


うん!それが私が言及していたリンクでした。
usεr11852

ミンカのアプローチは今ではRで適用されているのでしょうか?最も重要なPCはさまざまな方法による研究で決定されたとしましょう。これらはデータの信号部分である必要があります。これらのPCが説明する%分散に何らかの制限があるかどうかを偶然知っていますか?参考にしていただければ幸いです。
博士号

6

この質問が最初に尋ねられて回答されてから、過去数年間、この問題に関する非常に素晴らしい後続の作業がありました。GavishとDonohoによる次の論文を強くお勧めします。特異値の最適ハードしきい値は4 / sqrt(3)です。

結果は漸近分析に基づいています(つまり、データマトリックスが無限に大きくなると、明確に定義された最適解が存在します)が、異なるノイズ下でも、小規模で現実的なサイズのデータ​​セットに対して漸近的に最適な手順が機能することを示す印象的な数値結果を示しますモデル。

σn×n

λ=4σn3

彼らはまた、論文で非正方形の場合を説明します。ここには(MATLABで)素晴らしいコード補足がありますが、アルゴリズムはRまたは他のどこでも簡単に実装できます:https : //purl.stanford.edu/vg705qn9070

警告:

  • データが不足している場合、これが機能するかどうかはわかりません
  • データセットの各フィーチャに異なるノイズの大きさがある場合、これが機能するかどうかはわかりません(ただし、特定の仮定の下でホワイトニングがこれを回避できる可能性があります)。
  • 同様の結果が他の低ランクの行列分解(たとえば、非負の行列分解)にも当てはまるかどうかを確認すると興味深いでしょう。

+1、すごいこの論文は非常に興味深いようです。言及してくれてありがとう。
アメーバは、モニカ

4

カイザーの基準(すべての固有値が1より大きい)の問題は、追加の要素の多くがノイズであるかどうかに関係なく、抽出される要素の数は通常、バッテリー内のアイテムまたはスケールの数の約3分の1であることです。並行分析と画面基準は、抽出する要素の数を決定するためのより正確な手順です(HarmonとLedyard Tuckerによる古典的なテキスト、およびWayne Velicerによる最近の研究による)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.