最初の主成分はクラスを分離しませんが、他のPCは分離します。そんなことがあるものか?


11

インスタンスを2つのクラスに分類するための教師付き機械学習で使用される、より小さな変数のセット、つまり主成分を取得するために、17個の量的変数に対してPCAを実行しました。PCAの後、PC1はデータの分散の31%を占め、PC2は17%を占め、PC3は10%を占め、PC4は8%を占め、PC5は7%を占め、PC6は6%を占めます。

ただし、2つのクラス間のPCの平均の違いを見ると、驚いたことに、PC1は2つのクラスの優れた識別器ではありません。残りのPCは優れた弁別子です。さらに、PC1は、決定木で使用されると関係がなくなります。つまり、枝刈り後、PC1はツリーに存在しなくなります。ツリーはPC2-PC6で構成されています。

この現象の説明はありますか?派生変数に何か問題がありますか?


5
この最新の質問stats.stackexchange.com/q/79968/3277にさらにリンクを追加して読んでください。PCAはクラスの存在を知らないので、PCのいずれかが本当に優れた識別器になることを保証しません。さらに、PC1は優れた判別子になります。こちらの例として、2つの画像も参照してください。
ttnphns 2013

2
PCAが分類子の結果を悪化させる原因何ですか?も参照してください、特に@vqvによる回答の数字。
アメーバはモニカを復活させます

回答:


14

また、PCAを実行する前に、変数が単位分散を持つようにスケーリングされていない場合にも発生する可能性があります。たとえば、これらのデータの場合(スケールはからのみするのに対し、はからすることに注意してください):0.5 1 x 3 3y0.51x33

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

PC1は約あり、ほとんどすべての分散を説明しますが、識別力はありませんが、PC2はあり、クラス間を完全に区別します。yxy


こんにちは、回答ありがとうございます。スケーリングはどのように行う必要がありますか?(x-mean)/ sd?
Frida

はい、使用されるRIではprcomp(x, center=T, scale=T)(x-mean)/ sdと同じです。この例では、どちらの主成分もクラス間の適切な判別子ではないことがわかります。両方を一緒に使用した場合にのみ機能します。
Flounderer

PCは補完的であると理解していますが、その背後に説明はありますか?正直なところ、他のPC1よりも弱いPC1を手にしたのはこれが初めてです。
Frida

@Frida:ttnphnsのコメントは予定通りです。en.wikipedia.org/wiki/Linear_discriminant_analysisの 3番目の段落を参照してください。ある意味では、PCAが非常に頻繁に役立つことが判明したのは幸運です。
ウェイン、

6

私は仮定の答えと例 @Floundererが提供するが、これを意味するものではありますが、私はそれだけの価値綴りこのうちだと思います。主成分分析(PCA)はラベル(分類)とは無関係です。高次元データを別の次元空間に変換するだけです。それは可能性がある特定の方法によって容易に分離可能であるデータセットを作成するなどして、分類の試みに役立ちます。ただし、これはPCAの副産物(または副作用)にすぎません。


1

主成分分析を行う場合、主成分は最大変動の方向に対応しますが、クラス間の最大の識別または分離は保証されません。

したがって、2番目のコンポーネントは適切な分類を提供し、その方向のデータはクラス間の識別を向上させます。線形判別分析(LDA)を実行すると、クラス間距離を最大化し、クラス内距離を最小化する最適な直交方向成分が得られます。

したがって、PCAの代わりにデータでLDAを実行する場合、おそらく最初のコンポーネントの1つがPC1よりもPC6に近くなります。お役に立てれば。

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