判別分析(マハラノビス)

トップページ研究分野と周辺システムの評価

例えば二次元で考えると、x軸y軸平面に多数の点が散らばり、これが幾つかのグループに分かれているとする。判別分析では、新たな点が与えられたとき、どのグループに属するかを判別する。
判別分析には、幾つかの方法があり、「サポートベクターマシン(SVM)」のように区分する線を引く方法もある。
ここでは、マハラノビス距離を用いた判別分析について述べる。

マハラノビス距離

最も一般的に使われる距離はユークリッド距離である。一次元(例えばx軸上)では、x座標の差がそのまま距離となる。
例えば二つのグループがあるとき、新たな点が与えられてどちらのグループに属するかを判別する際、新たな点のx座標と双方のグループの中心とのユークリッド距離を測り、短い方に属すると考える事も出来る。
しかし、この方法では、以下のような場合に問題となる。
青い点と赤い点の二つのグループがあり、其々の色の矢印をグループの中心(座標の平均)とする。新たな点(緑)は、ユークリッド距離では赤の中心の方が近いので、そちらに区分される事になる。
しかし、緑は青に挟まれているので、青のグループに属する方が妥当だと考えられる。

このような問題が生じるのは、両グループのデータの散らばり方(分散)が大きく異なるからである。
そこで、分散が大きいグループの範囲は、距離が遠くても短くし、分散が小さいグループの範囲は距離が短くても遠くしたい。
マハラノビス距離は、ユークリッド距離を分散の平方根(標準偏差)で割った値に該当する。緑から青の中心までの距離は青の標準偏差で、赤の中心までの距離は赤の標準偏差で割る。
よく等高線に喩えられるが、きつい坂は近くても遠く感じ、緩い坂は遠くても近く感じるようなイメージである。
一変量(一次元)のマハラノビス距離は、以下のようになる(Xgは緑のx座標、バーXbは青の平均、バーXrは赤の平均、D(g,b)等は、緑から青の中心までの距離等、V(Xb)等は青のx座標の分散等)。

二変量のマハラノビス距離

今度は、一つの点がx座標とy座標等の二つの変量を持つ、二次元の場合で考える。図のように、青の点が散らばる範囲を青の楕円、赤の点が散らばる範囲を赤の楕円で表現する。
以下の例の場合、緑の点はやはり、赤より青に属する方が妥当と考えられる(ユークリッド距離では赤の中心の方が近い)。

二変量のマハラノビス距離は、分散の方向があるため、x軸y軸を回転させて新たな座標軸を作る。
新たな座標軸は、最も分散の大きい第一主成分(「主成分分析」)の方向をx軸、それと直交する第二主成分の方向をy軸に取るのが最も良いと考えられる。
つまり、或る一つのグループが図のように散らばっている場合、x軸y軸を其々第一主成分軸、第二主成分軸となるように回転させる。

この回転を行う行列をAとすると、これは回転行列なので、以下の関係になる。

主成分分析では、変換前の座標x、yに、このa、bを掛けて新たな座標u=ax+byを得るのだった(uが第一主成分軸上の座標となる)。
そのa、bは以下の固有ベクトルとなるのだった。ここで、Sxは元の座標軸でのx座標の分散、Syは同様にy座標の分散、Sxyはx座標とy座標の共分散である。

二次元なので、固有値λ、固有ベクトルa、bは二つずつ存在する。二つの固有ベクトルのうち、一つが元のx、y座標を第一主成分軸の座標に変換し、もう一つが第二主成分軸の座標に変換する。
この二つのベクトルを(p1、p2)、(q1、q2)と置く。
また、それに対応する二つの固有値は、其々第一主成分軸上の分散、第二主成分軸上の分散と等しくなるのだった(「主成分分析」参照)。(p1、p2)に対応する固有値をλp、(q1、q2)に対応する固有値をλqとする。以下のような関係となる。

二変量のマハラノビス距離は、第一主成分軸(u軸とする)、第二主成分軸(v軸とする)の平面上でのユークリッド距離として定義される(但し、u軸v軸方向は其々の標準偏差で圧縮されたスケールとなっている)。
ここに元のxy座標平面で(x_k、y_k)、(x_n、y_n)の座標を持つ二点k、nがあると、これがuv座標平面において、以下のような座標に変換される事になる(どちらでもいいが、ベクトルpがu軸に移すものとする)。

結局、この二点のマハラノビス距離は、以下のようになる。

元の座標から求める二変量マハラノビス距離

上記の式は、主成分分析の固有値、固有ベクトルを求めた上で得られた。ここでは、元のx座標、y座標から直接求める式に変えてみる。
まず、下記の様に展開し、平方根の中を行列の積の形にする。

ここで元の座標を持ってくると、以下の関係が成り立つ。第一主成分(u軸)への変換では、x座標にp1、y座標にp2を掛けたのだから、元座標のx座標の差にも同様にp1が掛けられ、y座標の差にはp2が掛けられているからだ。第二主成分(v軸)への変換も同様である。
また、行列Pとその転置行列を以下のように置く。

また、以下の様にも展開される。

また、行列Dを置くと、その逆行列は以下のようになる。

ここまでで、二変量のマハラノビス距離は、以下のような形になった。

P、D等の行列は主成分分析の結果を使っているので、これも直さなければならない。
ここで、元のx座標y座標の分散共分散行列をSと置くと、SP=PDが成り立つ。これは以下の様に確かめられる。(1)=(2)が成り立つのは、元々固有値、固有ベクトルが(3)(4)の様に得られた事から明らかである。

ここでPが直交行列(逆行列と転置行列が等しくなる)である事を確かめておく。
(5)は、p1、p2、q1、q2が主成分分析の固有ベクトルであり、回転行列のcosθ、sinθに該当するものである事から導かれる。(6)はこの二つのベクトルが直交するものである事から分かる。

後は、以下の様な行列計算を行う(主成分分析由来のPD^-1t^PをSで表現するように変形)。

結局、二変量のマハラノビス距離は、元のx座標、y座標だけで以下の様に表される事が分かった。

標準化された二変量のマハラノビス距離

或るグループのx座標、y座標を以下の様に標準化すると、其々の平均は0、分散は1、共分散は相関係数rとなる(「相関係数」)。
ここで、xiはグループに含まれるi番目のサンプルのx座標、バーxはx座標の平均、V(x)はx座標の分散である(y座標についても同様)。

この標準化されたデータを用いて、主成分分析を行うと以下の固有値、固有ベクトルを求める事になる。

これらを求める際には、左端の行列-λEに逆行列が存在しない事が条件となり(「固有値、固有ベクトル」)、条件は以下の式で表される。

普通に二次方程式を解くと、二つの固有値が求められる。これが標準化された場合の第一主成分、第二主成分の分散となる。

この固有値を基に、固有ベクトルを求める(行列に固有値を代入して始める)。主成分分析の固有ベクトルなので、zx^2+zy^2=1から、具体的な値が求まる。

従って、これらの固有ベクトルでx軸y軸上の一点(x、y)から第一主成分(u)軸、第二主成分(v)軸に変換される座標(u、v)は以下のようになり、その座標と原点までのマハラノビス距離は、以下のようになる。

n変量のマハラノビス距離

二変量の場合、x軸y軸、或いはu軸v軸等と表現していたが、三次元以上のn変量となると、軸は1軸、2軸、、n軸までの番号で呼ばれる。
従って、それらの相関係数もS_34等の番号を並べて書かれる事になる。
n変量のマハラノビス距離は、以下の各次元ごとに分散に応じた圧縮を行った座標空間の中で、以下の計算式で求められる(二点をk、mとする。また変換後の座標軸を1d、2d、、ndとした)。

また、元の座標から求める式は、以下のようになる(例えば、k_1は元の1軸でのkの座標、S_12は元の1軸と2軸の共分散を示す)。