LoginSignup
0
2

More than 3 years have passed since last update.

[理論で説明?]主成分の分散が共分散行列の固有値って [続き]

Last updated at Posted at 2020-06-10

主成分分析は前回の記事にもあるように次の線形結合

Y = a_1X_1 +a_2X_2,\ \boldsymbol{a}=(a_1,a_2)',\ 
\boldsymbol{X}=(X_1,X_2)'

の分散を最大化するものを第1主成分と定義した。
つまり、

Var(Y) = a_1^2\sigma_1^2 + 2a_1a_2\sigma_{12} + a_2^2\sigma_2^2
= \boldsymbol{a}'\Sigma \boldsymbol{a}

を最大にする係数 $\boldsymbol{a}$を求めてやればいい。
しかし、これを最大にすることはできない。いくらでも大きくできるから。そこで1つの制約条件として、

\boldsymbol{a}'\boldsymbol{a} = a_1^2 + a_2^2 =1

を設ける(主成分は軸を決めたいだけだから方向さえわかればいいし)。
この制約条件のもとで $Var(Y)$を最大化するという最適化問題を解けばいいということになる。制約付き最適化問題はLagrangeの未定乗数法という方法を使えば解けるのでこの解は数学的に導くことができる。
(どっかでLagrangeの記事も書こうかな)

基本的には制約条件に基づいて最大化したい式に関する連立方程式を解けばよいということになる。
制約式を $g(\boldsymbol{a})=c$、最大化したい関数を $f(\boldsymbol{a})$として、Lagrange乗数を $\lambda$とすると、

\frac{\partial f}{\partial \boldsymbol{a}}-\lambda \frac{\partial g}{\partial \boldsymbol{a}}=\boldsymbol{0}

が成り立つというのがLagrangeである。ここにベクトルの微分の記号は各要素で偏微分したものを並べる(微分したものを並べてベクトルにするっていう意味)ということを表す。
実際のやり方としては

\begin{align*}
\phi(\boldsymbol{a})&=f(\boldsymbol{a}) - \lambda \{g(\boldsymbol{a})-c\} \\
&= \boldsymbol{a}'\Sigma \boldsymbol{a} - \lambda
(\boldsymbol{a}'\boldsymbol{a}-1)
\end{align*}

として、

\frac{\partial \phi(\boldsymbol{a})}{\partial \boldsymbol{a}}
=\boldsymbol{0}

を解けばいい。
これを計算してみると(やってみて。最初は成分で偏微分してまたベクトルと行列の形にまとめ直すって感じで。慣れてくるとベクトルや行列のまま微分できるようになるよ)、

\Sigma \boldsymbol{a} -\lambda \boldsymbol{a}=\boldsymbol{0}
\Leftrightarrow 
(\Sigma - \lambda I)\boldsymbol{a}=\boldsymbol{0}

を満たす解が第1主成分というわけさ。
この解の1つは $\boldsymbol{a}=\boldsymbol{0}$という自明な解である($(\Sigma - \lambda I)$が正則なら)。が、これは $\boldsymbol{a}'\boldsymbol{a}=1$を満たさない。
自明でない解を持つためには係数行列の行列式が0である必要がある(厳密には必要十分)。つまり、

|\Sigma - \lambda I|=0

を満たす $\lambda$でなければならない。これって何?
そう、固有方程式なのよね。だから $\lambda$は $\Sigma$の固有値であって、それに対応する固有ベクトルが $\boldsymbol{a}$となるわけよ。まぁこれを最大固有値とするってのはそんなに難しくない。
使う性質としては$\Sigma$が実対称行列で半正定値であることを使えば固有値も正なのでとか使えば説明できるはず(これは固有値が正であるってこと説明するために使う感じ?気にしない人は不要かも)。
(線形代数って偉いよなぁ)
最大固有値の主張だけなら、主成分の分散式と$(\Sigma - \lambda I)\boldsymbol{a}=\boldsymbol{0}$式を展開したときに得られる2本の式が一致することを言えばよくて、そうすればそもそもの目的が分散最大化なのだから最大固有値を$\lambda$とすればいいよねって感じ。

第2主成分は?制約条件増えるけど?
これはLagrange乗数をもう一つ用意 ($\mu$とか?)してやって、さっきの 関数$\phi$の後ろに制約条件の$\mu$倍をつければ同じように求められる。
(これって意外と微積の教科書に書いてないんだよね。なんでだろ。)

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2