3変数の相関行列から主成分と寄与率を求めよ、って問題
固有値を出すのは分かるけど、なんでそれが「分散最大の方向」になるん
【疑問】主成分分析って、なんで相関行列の固有値と固有ベクトルで主成分が出るん?寄与率と特異値分解との関係も【統計検定1級】
1: 名無しさん
2: 名無しさん
前提のおさらいを2つ
対称行列 は直交行列で対角化できて、2次形式 を で最大にすると、最大の固有値になる(そのとき は対応する固有ベクトル)
相関係数は、標準化した変数どうしの共分散
3: 名無しさん
>>1
標準化した変数 の線形結合 の分散は ( は相関行列)
でこれを最大にすると、ラグランジュの未定乗数法で 。最大値は最大の固有値
相関行列の固有値の和は対角成分の和で、変数の数 になる
4: 名無しさん
2変数で相関0.6なら、固有値は と 、固有ベクトルは と
第1主成分は2つの和の方向で、寄与率80%
5: 名無しさん
3変数で、相関が
固有値 。寄与率は 、第2主成分まで累積93.6%
第1主成分と各変数の相関(負荷量)は で
6: 名無しさん
>>3
相関行列じゃなくて、共分散行列でやったらあかんの?
7: 名無しさん
>>6
単位がそろってるなら共分散行列でもいい。でも単位が違うと、分散の大きい変数(cmで測った身長など)が第1主成分を独り占めする
単位をmに変えるだけで結果が変わるなら、それは分析の結論じゃない。単位がばらばらなら相関行列
8: 名無しさん
>>3
計算は特異値分解(SVD)でもできる。中心化したデータ行列を ( の列は正規直交、 は対角で特異値 )と分けると
やから、 の列が主成分の方向、 が共分散行列の固有値
データ なら特異値 で、 が共分散行列の固有値と一致
9: 名無しさん
>>8
わざわざSVDを使う理由は、 を作ると数値の誤差が2乗で効くから。ソフトの中身はたいていSVD
10: 名無しさん
>>5
第1主成分を「総合力」と名前をつけるのはよくあるけど、名前は分析する人の解釈。数字が言ってるのは「この重みの和がいちばんばらつく」だけ
11: 名無しさん
を最大にすると固有値問題、寄与率は 、単位が違えば相関行列、計算はSVDで 。これでまとまったな
管理人のひとこと
- を で最大にすると 。第1主成分の分散は最大固有値、寄与率は 。
- 例(、、):固有値2.152、0.657、0.191、寄与率71.7%、21.9%。2変数で相関0.6なら1.6と0.4。
- 単位が違うなら相関行列を使う。特異値分解 では の列が主成分の方向、 が固有値。