次元削減(1)

主成分分析(6)」で検討した例をここでも取り上げます。そこでは(x,y)で表されるデータを(v,w)で表される座標に変換したのでした。「主成分分析(6)」の図4にvwの名前を入れて、座標変換の意味するところを分かり易くしてみました。

  • 図5

今後の話を分かり易くするために、(v,w)座標の原点を、データの平均値のところに置きました。 xの平均値を計算すると2.215、yの平均値を計算すると0.869になりました。つまり平均値を表す点は(x,y)座標で(2.215, 0.869)の位置にあります。これにともなって「主成分分析(6)」の式(17)(18)も以下のように修正します。

  • v=0.882(x-2.215)+0.471(y-0.869)・・・・(19)
  • w=-0.471(x-2.215)+0.882(y-0.869)・・・・(20)


さて、上の図5を見ているとv方向のデータのばらつき具合で、全体のデータのばらつき具合のだいたいの傾向を表しているのを感じることが出来ます。v方向とw方向のそれぞれのデータのばらつき具合は、変動という形ですでに主成分分析(6)で計算しておりました。第1成分の分散が0.486(標準偏差は0.697)、第2成分の分散が0.036(標準偏差は0.190)でした。そこでばらつきの小さいw方向のばらつきを無視し、vの値だけで各データの位置を、正確ではないにしても、大体の位置を示すことが出来ることが分かります。
これを実際にやってみましょう。

  • (x,y)で表された各データを式(19)(20)で(v,w)によるデータに変換します。
  • 次にそのデータのwの値を全てゼロにしてしまいます。つまりw方向のばらつきを無視するということです。
  • 最後に式(19)(20)の逆変換を用いて、データを(x,y)に戻します。

式(19)(20)の逆変換は、途中経過を省略して結果だけ示すと以下のようになります。

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

これにw=0を代入すると

  • x=0.882v+2.215・・・・(21)
  • y=0.471v+0.869・・・・(22)

となります。


たとえば、元もとのデータが(x,y)で(1.578,0.710)であるとすると、これは(v,w)では(-0.637,0.160)になります。これを(-0.637,0)にして式(21)(22)で逆変換すると(1.653,0.569)になります。元々が(1.578,0.710)であったものがそれに近い位置(1.653,0.569)になりました。

  • (1.578,0.710)→(1.653,0.569)

つまり、vの値-0.637だけで、(x,y)の値が完全ではないにしても大体の値が復元出来たわけです。元々xyの2次元のデータをvという1次元のデータで表すことが出来た(多少の誤差に目をつぶれば、ですが)ということです。このように分散の小さい主成分を無視することでデータの次元を下げるデータ加工が次元削減です。図5のデータでw方向を無視してvの値だけで図を描くと以下のようになります。

  • 図6