主成分分析(3)

ともかく行列Sを対角化してみましょう。直交行列Uを使ってSを対角化します。すると

  • U^{-1}SU=\left[\begin{array}a&0\\0&b\end{array}\right]・・・・(3)

となります。この式(3)の意味することを調べてみましょう。「主成分分析(2)」の式(1)

  • S=\bar{(r-\bar{r})(r-\bar{r})^T}・・・・(1)

を使うと(3)の左辺は

  • U^{-1}SU=U^{-1}\bar{(r-\bar{r})(r-\bar{r})^T}U

となります。ここでU^{-1}=U^Tであること(「線形代数学の復習:実対称行列は対角化可能である(3)」の【補題4】参照)を用いると

  • U^{-1}\bar{(r-\bar{r})(r-\bar{r})^T}U=U^T\bar{(r-\bar{r})(r-\bar{r})^T}U=\bar{(U^Tr-\bar{U^Tr})(U^Tr-\bar{U^Tr})^T}

となります。ここで

  • q=U^Tr・・・・(4)

と置くと

  • \bar{(U^Tr-\bar{U^Tr})(U^Tr-\bar{U^Tr})^T}=\bar{(q-\bar{q})(q-\bar{q})^T}

よって式(3)は

  • \bar{(q-\bar{q})(q-\bar{q})^T}=\left[\begin{array}a&0\\0&b\end{array}\right]・・・・(5)

となります。式(5)の左辺は式(1)の右辺と同じ形をしています。ということは、式(5)の左辺は座標系qで計算した行列Sと解釈することが出来ます。言い換えれば、式(4)の座標変換を行った場合のSの変換後の値が式(5)の右辺である、ということが言えます。そこで

  • S'=\bar{(q-\bar{q})(q-\bar{q})^T}・・・・(6)

と置き、また、qの成分をvwで表しましょう。つまり

  • q=\left[\begin{array}v\\w\end{array}\right]

です。すると、「主成分分析(2)」の式(2)

  • S=\left[\begin{array}\sigma_{xx}&\sigma_{xy}\\\sigma_{yx}&\sigma_{yy}\end{array}\right]・・・・(2)

と同様に考えて

  • S'=\left[\begin{array}\sigma_{vv}&\sigma_{vw}\\\sigma_{wv}&\sigma_{ww}\end{array}\right]・・・・(7)

と書けます。式(5)(6)(7)から

  • \left[\begin{array}\sigma_{vv}&\sigma_{vw}\\\sigma_{wv}&\sigma_{ww}\end{array}\right]=\left[\begin{array}a&0\\0&b\end{array}\right]

となり、ここから

  • \sigma_{vw}=\sigma_{wv}=0

が言えます。つまり変数vwの共分散がゼロになっています。ということは式(4)で変換したqが求める座標系だったことが分かります。分かり易くするために要素を明示して式(4)を書き直すと以下のようになります。

  • \left[\begin{array}v\\w\end{array}\right]=U^T\left[\begin{array}x\\y\end{array}\right]・・・・(8)

これが変数(x,y)を変数(v,w)に変換する式です。ではUの値を具体的に求めるにはどうしたらよいでしょうか? その前に、今までの議論がもっと高次元の場合、つまりデータがxyだけから成るのではなく、もっと多くの項目から成る場合にも成り立つことを簡単に確かめておきたいと思います。