この質問は、主成分を計算する効率的な方法に関するものです。
casewise dataの特異値分解を使用した線形PCAの多くのテキスト。つまり、データあり、変数(その列)を主成分で置き換えたい場合、SVDを実行します。、特異値(固有値の平方根)の主対角を占める、右固有ベクトルは、軸変数から軸コンポーネントへの直交回転行列です。左固有ベクトルは、場合のみに似ています。その後、コンポーネント値をとして計算できます。
変数のPCAを行う別の方法は、分解を経由している(つまり正方行列でき相関または共分散の変数の間、など)。分解は、固有分解または特異値分解である可能性があります:正方対称正定行列では、前述の\ bf Lおよび\ bf Vの対角要素と同じ固有値を持つ\ bf R = VLV 'と同じ結果が得られます。コンポーネントの値は\ bf C = XVになります。
さて、私の質問:データが大きな行列であり、ケースの数が(多くの場合)変数の数よりはるかに大きい場合、ウェイ(1)はウェイ(2 )、方法(1)は非常に高価なアルゴリズム(SVDなど)を大きなマトリックスに適用するため。巨大な行列を計算して保存しますが、この場合は実際には必要ありません(変数のPCA)。もしそうなら、なぜそんなに多くのtexbookが主張しているように見える、または単に方法(1)だけに言及しているように見えるのでしょうか?たぶんそれは効率的で、私は何かが欠けていますか?
Joliffe, Principal component analysis, 2nd ed.
実際、Joliffeは両方の方法を説明しますが、PCAのコアの章では、私が覚えている限り、方法1についてだけ述べています。
R
svd