0

データセットは、N 個の要素と K 個の変数で構成されます。PCA を使用すると、変数の数を減らすことができますが、K 個の変数のうちどれが最も多くの情報を提供したかを確認するにはどうすればよいでしょうか?

たとえば、次のようなデータセットがあります。

1 1 1 2
2 2 1 4
3 3 2 11
1 1 2 7
2 2 3 14
3 3 3 16
1 1 4 17
2 2 4 19
3 3 3 16

1 列目は 2 列目と同じで、4 列目は 2*1st+5*3rd-5 の関係によって決定されます。したがって、1 列目と 3 列目はほとんどの情報を提供し、残りは追加情報を提供しません。しかし、PCA を使用してこれをどのように計算するのでしょうか?

4

1 に答える 1

2

あなたの例:

           PC1         PC2           PC3           PC4
[1,] 0.3516359 -0.79142416  2.497231e-17 -1.299998e-16
[2,] 0.3516359 -0.79142416  1.713028e-16  1.168541e-16
[3,] 1.0831644  0.32331520  4.906878e-16 -3.286408e-17
[4,] 6.1190936  0.03372767 -9.813756e-17  6.572817e-18

主成分は、共分散行列の sqrt(Eigenvalues) x Eigenvectors です (Cov は対称正半定値であるため、これらは実数および直交であることが保証されます)。

あなたの例では、PC3 と PC4 がほぼゼロであるため、丸め許容範囲内のすべての変数 (つまり、共分散行列の「ランク」は 2) を説明するには 2 つの要因で十分であることがわかります。

これは、軸を隠し変数に揃えるベクトル空間に効果的に回転します。元の問題の列について話すには、元に戻す必要があります。たとえば、最大のアイテムを見ることができます。ここでは、PC1 は主に 'Col 4' にリンクされていると言いますが、これは任意であり、PC2 は 'Col 1' と 'Col 2' に同じ重みを持っています。どちらを選択しても同じように見えます。相関関係は因果関係を意味しないことを忘れないでください。

于 2013-05-27T14:14:24.073 に答える