トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

マハラノビスの距離

マハラノビスの距離(Mahalanobis' Distance : 以下、MD)は、 相関性 も考慮した多次元の距離です。 距離の計算方法の一種と言えます。

このサイトでは、このページを MT法 の子ページとして書いていますが、マハラノビスの距離は、 MT法だけのものではなく、例えば、 判別分析 でも使います。

マハラノビスの距離の計算方法

ここでは、変数が x と y の、2個の場合を例にします。

「 i 」は、「 i 番目のデータ」という意味です。

平均値を引く意味

平均値を引く手順は、全部のデータの重心の位置からの距離を計算するために行っています。

ここを、例えば「0」にすると、原点からの距離の計算になります。

呼び方の注意

マハラノビスの距離を実際に使ったり、議論する場面では、平方根にする前の、2乗した値のまま使う場合が多いです。

このような議論の中では、「マハラノビスの距離の2乗」の事を、「マハラノビスの距離」として、 省略して言う事もあります。

マハラノビスの距離の様々な定義と、Rの計算例

世の中の「マハラノビスの距離」には、いくつかの定義があります。 下記のうち、定義1は、上記の計算と同じです。 数学的な定義は、定義1になります。 定義2と、定義3は、MT法で「マハラノビスの距離」として使われているものです。 基本的な部分は定義1と一緒なのですが、計算の内容が違うので、数字の意味や使い道が違って来ます。

定義1

分散の計算式にデータ数 n で割るものと、n-1で割るものがあり、一般的な用途では、n-1 を使う事が多いです。

マハラノビスの距離の計算では、n を使います。共分散の式は、
MD2
を使います。

マハラノビスの距離の2乗の平均値は、変数の数とぴったり同じ数値になります。つまり、
MD2
となります。 上記の例でしたら、変数が x と y の2個なので、k は2になります。

平均値が理論上、いくつになるのかがわかっていると、マハラノビスの距離の計算が正しくできているかどうかの確認や、 値を分析する時の指標になります。

Excelでは、 定義1のサンプルファイル を作りました。

定義2 : 定義1/変数の数の定義

MT法 では、定義1の計算式で求めた値を、さらに変数の数で割った値を、マハラノビスの距離の2乗として計算します。
MD2

この定義では、
MD2
となります。

実際に MT法 を使う時には、計算に使う変数の組み合わせを、いろいろと変えて分析をしますが。 この定義だと、変数の数の影響があまり大きくないので、実質的に変数の数を気にしなくても、MDの比較ができます。

定義3: 定義2+標準化

定義2は、MDの数字は定義1と変わらないのですが、データを詳しく見たい時に便利な方法です。 標準化する時の標準偏差は、分母を n - 1 で計算します。

定義4のMDの計算で、データを詳しく見たい時も、データを標準化しておくと良いのですが、標準偏差の分母は n で計算します。 定義4では、共分散行列を分母が n で求めますので、標準偏差の分母も合わせる事によって、共分散行列が相関行列と同じになります。 この相関行列は、分析で役に立ちます。

定義4と定義5のMDは、同じ値になります。 しかし、計算のしやすさなどの理由で、 品質工学 の文献では、定義5が説明されるのが一般的です。

MT法の手順 にExcelのサンプルファイルがありますが、これは定義3を使っています。

この定義では、マハラノビスの距離の値は、定義1と変わらないです。 マハラノビスの距離の計算をして、うまく行かない理由は大きく分けると2つあるのですが、 この定義に沿って計算すると、うまく行かない時に、どちらの理由なのかが見つけやすいです。

うまく行かない理由ですが、 1つは、 多重共線性 がある場合です。 この定義に沿って、計算すると共分散行列の部分が相関行列と同じになるので、相関係数による多重共線性のチェックができます。

もう1つの理由は、標準偏差が0の変数、つまり、同じ値しか入っていない変数がある場合です。 標準化する時に、標準偏差を計算するので、この値を見れば、標準偏差が0の変数が入っている事は、すぐ見つかります。 また、共分散行列の計算をする前に、各変数をチェックしておくと、標準偏差が0の場合以外の、変な変数のチェックもしやすいです。

マハラノビスの距離の2乗の平均値

マハラノビスの距離の2乗の平均値が、ぴったりとした整数になったり、k と n だけで決まるのは、不思議な感じがします。

定義2の場合を確認してみることにします。

MD2
MD2 MD2 MD2 MD2 MD2

ここで出てきた式は、BとAの積の行列の対角成分と同じ式になります。 BとAの積の行列は、単位行列なので、その対角成分は1です。 これを、次の変形で使います。
MD2 MD2

繰り返しになりますが、共分散や標準偏差を計算する時に、分母を「n」にしないと、上記のような式の展開にはなりません。

ユークリッドの距離との関係

平面上(二次元空間)のユークリッドの距離の求め方は、
MD2
です。 2点の座標データから、その2点間の距離を求める方法と同じです。 ちなみに、この求め方は、直角三角形の斜辺の長さの求め方と同じです。

日常的な「距離」は、ユークリッドの距離のことです。 「ユークリッドの距離」という名前で呼ばれることは少ないですが、 ユークリッドの距離の求め方はかなり知られているものです。 (斜辺の長さの求め方は、小学校で教わった気がします。)

定義1や定義3で、共分散行列の対角成分が1で、それ以外が0の特殊な場合には、マハラノビスの距離とユークリッドの距離が等しくなります。 そのため、マハラノビスの距離とユークリッドの距離は、まったく違うものではないです。




順路 次は MT法とホテリング理論の違い

Tweet データサイエンス教室