すっきりした主成分分析の説明

投稿者: | 2017年12月25日

ちまたにある主成分分析の説明は、冗長すぎてうんざりするものが多いように思います。線形代数を勉強したことのない人に説明するので、高校低学年の知識しか使えないからだと思います。私が、担当している計算数理Bという学部3年生後期の講義で配布しているプリント(2017年12月11日)を、コピペしてみました。30分程度で主成分分析を説明しています。

以下では「’」で転置をあらわし、$X\in {\mathbb R}^{n\times p}$は平均化されている(各列の標本平均が0)と仮定する。$M\leq p$として、各$m=1,2,\cdots,M$で、$Z_m=X\phi_m$の$||Z_m||^2_2$が最大となるように$\phi_1,\phi_2,\cdots,\phi_M\in {\mathbb R}^p$を順番に決めていく。ただし、
\begin{equation}
\displaystyle  \phi_l’\phi_{m}=
\left\{
\begin{array}{ll}
1,&l=m\\
0,&l\not=m
\end{array}
\right.
\end{equation}を満足させるようにする。$Z_m\in {\mathbb R}^n$の各値を第$m$主成分のスコア、$\phi_m$を第$m$主成分の負荷ベクトルという。ここで、$||\phi_m||^2_2=1$のもとでの$\frac{1}{n}||Z_m||_2^2=\frac{1}{n}\phi_m’X’X\phi_m=\phi_m’\Sigma\phi_m$の最大化問題は、ラグランジェの未定乗数法
$$L=\phi_m’\Sigma\phi_m-\lambda_m(\phi_m’\phi_m-1)$$によって、$\phi_m$で偏微分して、$\frac{\partial L}{\partial \phi_m}=\Sigma\phi_m-\lambda_m\phi_m=0$とでき、それを満足する$\phi_m$は、$\Sigma$に関する固有ベクトルになる。また、それらは直交しているので、直交行列$\phi:=[\phi_1,\cdots,\phi_p]\in {\mathbb R}^{p\times p}$、および対角成分に$\lambda_1,\cdots,\lambda_p$をもつ多角化行列$\Lambda$を用いて、
$$\phi’\Sigma \phi=\Lambda$$とかける。さらに、$Z:=[Z_1,\cdots,Z_M]\in {\mathbb R}^{n\times M}$について、$M=p$のとき、$Z=X\phi$であるから、$\displaystyle\frac{1}{n} Z’Z=\phi’ \Sigma \phi=\Lambda$とかけるので、$\displaystyle\frac{1}{n} ||Z_m||_2^2=\lambda_m$となることがわかる。

各$m=1,\cdots,M$について、$\displaystyle\frac{1}{n} ||Z_m||_2^2=\lambda_m$と$\displaystyle\frac{1}{n} {\sum_{m=1}^p||Z_m||_2^2}={\sum_{m=1}^p\lambda_m}$の比を第$m$主成分の寄与率といい、${\sum_{m=1}^M\lambda_m}$と${\sum_{m=1}^p\lambda_m}$の比を第$M$成分までの累積の寄与率(1以下の値になる)という。