ソリューションを含む下部で編集
データセットに対して PCA を実行した結果、固有ベクトル、固有値、および平均が得られました。1 つの主成分を変化させた場合の効果をプロットしたいのですが、方法がわかりません。だから私はこのようなプロットを作成したい:
http://i.stack.imgur.com/6lQaA.png
したがって、これの式は次のようになります
平均値 + Pb
P 固有ベクトルと b
b = PT * (x - 平均)
しかし、xに何を使用すればよいかわかりません。Cootes による Active shape model paper による別の可能性は、
b = (b1 b2 .. bt).T
つまり、重みのベクトルです。これは私にとってより理にかなっています。このようにして、最初の b の重みを -3 * sqrt(eigenvalue) に設定し、結果をプロットできます。しかし、私はこのように次元の問題を抱えています。
pca の入力データは [20, 160] だったので、平均として [160] が返されます。[160, N] には保持したい主成分の量が N あります。5 を選択しましょう。そして最後に [N]固有値。P は [160] であるため、この方法では Pb を実行できません。別の [160] と内積する必要があります。これを行う方法についてかなり混乱しています。助けていただければ幸いです。
編集:わかりましたので、問題を理解しました。最初の主成分の効果をプロットしようとしたときに、固有ベクトルの最初の列しか取得していませんでした。これは間違いでした。
あなたがすべきことは、すべての固有ベクトル P (私の場合は [160, 5]) を取り、次元 [5] の新しいベクトル b を作成することです。b は、変更したい主成分のインデックスを除いて、すべてゼロで構成されます。たとえば、-2 * sqrt(eigenvalue_i) を入力して、主成分 i の変化の影響を左に 2 標準偏差プロットします。したがって、この結果は
x = ミュー + P * b
mu = 平均、P 個の固有ベクトルの完全なセット、および変動の重みを含む ba ベクトルを使用します。