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

マハラノビスの距離

「距離」という言葉は、日常的にも使います。 マハラノビスの距離(Mahalanobis' Distance:MD)は、その名前にあるように距離の一種です。

MT法 は、マハラノビス距離を使うものの代表的なものです。 Mは、マハラノビス距離を使っているところから来ています。 それ以外では、例えば、 判別分析 でもマハラノビス距離を使います。

ユークリッド距離との比較で、マハラノビス距離を理解する

日常生活の中で、「距離」といっている時は、ユークリッド距離のことが多いです。

ユークリッドの距離の求め方は、基本的に直角三角形の斜辺の長さの求め方と同じです。
MD

マハラノビス距離の計算方法は、これとはだいぶ違いますが、 「マハラノビス距離とは何か?」を理解するには、ユークリッド距離との比較から始めるのがわかりやすいかと思います。

マハラノビス距離とユークリッド距離の共通点

日常的には、距離というと「A地点とB地点の距離」という言い方をします。 「長さ」と同じ意味で使います。

マハラノビス距離もユークリッド距離も「距離」と付いていますが、「長さ」ではないものにも使えます。 データサイエンス では、「AとBは似ている」ということを表す指標として、距離を使うことがあります。

マハラノビス距離とユークリッド距離が同じになる場合

共分散行列の対角成分が1で、それ以外が0になるデータで計算すると、マハラノビス距離とユークリッド距離が等しくなります。

共分散行列の対角成分が1で、それ以外が0の場合というのは、それぞれの変数の標準偏差が1で、それぞれの変数間に相関がない場合になります。 まったく無関係の項目が変数になっていて、データが 標準化 されていると、この場合に近くなります。

マハラノビス距離とユークリッド距離の違い(計算の量)

ユークリッド距離は二乗した数の和の平方根で求まりますが、マハラノビス距離は行列の計算や、分散の計算があるので計算が複雑です。

マハラノビス距離とユークリッド距離の違い(相関の考慮)

変数間に相関がある時に、マハラノビス距離では、それが計算の中で考慮されます。 ユークリッド距離は、考慮されません。

ユークリッド距離を使う場面では、例えばX方向とY方向があったりしますが、 日常的な距離の時は、これらは独立しているとみなせるので、相関が考慮されないことで特に問題はありません。

マハラノビス距離では、相関が考慮されるので、変数間に似た性質がある時に、「似た性質」を考慮した指標として使えます。

マハラノビス距離とユークリッド距離の違い(次元の有無)

ユークリッド距離では、元の座標の単位がメートルなら、距離の単位もメートルになります。 距離が単位を持っています。

マハラノビス距離の定義1(後述)では、どんな単位の変数でも、距離の平均値が「変数の数」になります。 定義2・3(後述)では、どんな単位の変数でも、距離の平均値が「1」になります。

このことからもわかるように、マハラノビス距離は無次元(単位を持たない)になっています。

ユークリッド距離は、具体的な単位があるので、現実の話の中でイメージする使い方ができます。 一方、マハラノビス距離は、そういった使い方ができません。

マハラノビス距離とユークリッド距離の違い(単位の異なる変数の組合せの対応)

マハラノビス距離では、メートルとキログラムのように、単位の異なる変数が混ざっていても、意味のある指標として使えます。 この利点は、無次元化の良いところです。

一方、単位の異なる変数が混ざったデータに対して、ユークリッド距離を計算するのは、 「メートルの2乗 + キログラムの2乗」のような計算になるため、 次元解析 の観点からは、やってはいけない計算です。

ちなみに、単位を気にせずに、ユークリッド距離を計算すると、数字の絶対値が大きな変数の大きな指標になります。 例えば、キログラムとメートルの2つの変数がある場合と、キログラムの変数をグラムに変換した場合では、ユークリッド距離の計算値は違います。 グラムにした方が、重さの変数の影響がユークリッド距離に大きく現れます。

「計算が簡単」や、「変数間は無相関とみなして問題ない」と考えて、ユークリッド距離を採用する場合は、 標準化や正規化主成分分析 等でデータを前処理してから使うと良いです。 ただし、この使い方では、距離は無次元になりますので、ユークリッド距離を使う利点のひとつが使えません。

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

世の中の「マハラノビスの距離」には、いくつかの定義があります。 数学(統計学)関係と、 品質工学MT法 )関係で異なるので、使う時には注意が必要です。

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

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

定義1:数学の中での定義・基本的な定義

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

定義2 : 定義1/変数の数 :品質工学(MT法)

MT法 では、定義1の計算式に、変数の数(k)で割る部分が追加されています。
MD2

上記は、「マハラノビスの距離の2乗」を計算する式になっていますが、 MT法を使う実務の中では、「マハラノビスの距離の2乗」を「マハラノビスの距離」と省略して呼ぶ事が多いです。

下記にあるマハラノビス距離の2乗の平均値もそうなのですが、 マハラノビスの距離を実際に使ったり、議論する場面では、平方根にする前の、2乗した値の方が見通しの良いデータ分析ができます。

定義3: 定義2+標準化 :品質工学(MT法)

定義3は、MDの数字は定義2と変わらないのですが、データを詳しく分析したい時に便利な方法です。

データを 標準化 してから、定義2の計算をします。

一点注意があり、標準化で使う標準偏差は、分母をnで割った標本標準偏差です。 実務で標準化をする時は、nで割ってもn-1で割っても結論は変わらないことが多いですが、 マハラノビス距離を計算する時は、使い分けを気を付ける必要があります。 平均値の計算が合わなくなったりします。

MT法で計算がおかしい時 にあるように、 マハラノビスの距離の計算をして、うまく行かない理由は大きく分けると2つあります。 定義3で計算を進めると、うまく行かない時に、どちらの理由なのかが見つけやすいです。

まず、各変数の標準偏差を計算しますので、この値を、標準偏差が0の変数、つまり、同じ値しか入っていない変数があるかのチェックに使えて便利です。 このような変数が含まれたままで、マハラノビスの距離を計算しようとするとエラーが出ます。

また、標準化した値で求めた共分散行列は相関行列になり、行列の成分が 相関係数 になっています。 相関行列は、 多重共線性 のチェックに役立ちます。 多重共線性 のある変数の組合せが入っていると、マハラノビスの距離の計算でエラーが出ます。

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

マハラノビスの距離の平均値を利用する

マハラノビス距離の計算では、用意したサンプル全部を使った平均値や分散を使います。 この処理が入っているため、計算された各サンプルのマハラノビス距離の平均値には、特徴があります。 この特徴は、データ分析で活用できます。

マハラノビスの距離の平均値の特徴

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

定義2・3の場合、kで割る処理が入っているので、変数の数とは関係なく1になります。つまり、
MD2
となります。

平均値が決まっていることの利用

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

定義2・3の場合の時の利用

実際にマハラノビス距離を使う時には、計算に使う変数の組み合わせを、いろいろと変えて分析することがあります。

定義1の場合は、マハラノビス距離が「2.4」と計算された場合、変数の数が3個だと、「平均値よりも小さい」となり、変数の数が2個だと「平均値よりも大きい」 というように、考察の仕方が変わります。

定義2・3の場合、変数の数に関係なく、マハラノビス距離の2乗の平均値は、必ず1になります。 そのため、変数の数を気にせずに、いつでも1を目安にして考察できるようになります。 MT法による異常の判定 の時に便利です。

マハラノビスの距離の2乗の平均値が決まった値になる理由

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

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

MD2
MD2 MD2 MD2 MD2 MD2

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

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



参考文献

タグチメソッドの探究 技術者の疑問に答える100問100答」 宮川雅巳,・永田靖 著 日科技連出版社 2022
MT法で、変数の数で割った値を、マハラノビス距離としているのは、平均を1にすることにより、変数の選択をしやすくしている、という意味の説明がありました。





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

Tweet データサイエンス教室