主成分分析(6)

では、「主成分分析(1)」で示した例

  • 図1

について実際に主成分分析をしてみまよう。まず、分散共分散行列Sを計算すると、

  • S=\left[\begin{array}0.386&0.187\\0.187&0.136\end{array}\right]・・・・(14)

となります。次にS固有値を求めるために、

  • |S-\lambda{I}|=0・・・・(13)

を計算します。これは

  • \left|\begin{array}0.386-\lambda&0.187\\0.187&0.136-\lambda\end{array}\right|=0

となります。これを書き下すと

  • (0.386-\lambda)(0.136-\lambda)-0.187^2=0

となり、これを変形すると

  • \lambda^2-0.522\lambda+0.018=0

になります。これを二次方程式の解の公式を使って解くと

  • \lambda=0.486,\;0.036

になります。よって、第一成分の分散が0.486(標準偏差はその平方根なので0.697)、第二成分の分散が0.036(標準偏差は0.190)になります。次に、固有ベクトルを求めます。まず固有値が0.486の時の固有ベクトルですが、

  •  \left[\begin{array}0.386&0.187\\0.187&0.136\end{array}\right]\left[\begin{array}x\\y\end{array}\right]=0.486\left[\begin{array}x\\y\end{array}\right]

から、

  • \left[\begin{array}0.386x+0.187y\\0.187x+0.136y\end{array}\right]=0.486\left[\begin{array}x\\y\end{array}\right]
  • \left[\begin{array}-0.100x+0.187y\\0.187x-0.350y\end{array}\right]=\left[\begin{array}0\\0\end{array}\right]

となり、ここから

  • -0.100x+0.187y=0
  • 0.187x-0.350y=0

の2つの式が出来ますが、両方の式は同じ内容を示していて、変形すると

  • y=0.534x・・・・(15)

となります。ここで、ベクトルの長さを1にするために

  • x^2+y^2=1・・・・(16)

という条件を課します。式(16)に(15)を代入して

  • (1+0.534^2)x^2=1

これを計算すると

  • x=0.882

になります。これを式(15)に代入してy=0.471になります。ここから、固有値0.486の時の固有ベクトル\left[\begin{array}0.882\\0.471\end{array}\right]となります。固有値0.036の時の固有ベクトルも同様に計算すると\left[\begin{array}-0.471\\0.882\end{array}\right]となります。この2つのベクトルが直交しているのは、ちょっと計算すれば分かります。主成分分析の結果としては、第1主成分が\left[\begin{array}0.882\\0.471\end{array}\right]でその分散が0.486、第2主成分が\left[\begin{array}-0.471\\0.882\end{array}\right]でその分散が0.036となります。上の図にこの2つの成分(方向)を書き入れてみました。

  • 図4

赤色の線が第1主成分を、緑色の線が第2主成分を表します。


さらにU固有ベクトルを並べたものですから

  • U=\left[\begin{array}0.882&-0.471\\0.471&0.882\end{array}\right]

となります。変換後の座標をv,wで表すと「主成分分析(5)」の式(11)を参照して

  • \left[\begin{array}x\\y\end{array}\right]=\left[\begin{array}0.882&-0.471\\0.471&0.882\end{array}\right]\left[\begin{array}v\\w\end{array}\right]・・・・(17)

ここでU^{-1}=U^Tであることを考慮すれば

  • \left[\begin{array}v\\w\end{array}\right]=\left[\begin{array}0.882&0.471\\-0.471&0.882\end{array}\right]\left[\begin{array}x\\y\end{array}\right]・・・・(18)

つまり、元のデータのx,y

  • v=0.882x+0.471y
  • w=-0.471x+0.882y

で変換すれば新しい座標v,wが得られることになります。