マハラノビス距離は、ただの「遠さ」ではない。
共分散行列を使って、データの散らばり方まで織り込んだ“自然な距離”を作る考え方。

結論

マハラノビス距離は、共分散行列で座標を補正した距離。

ユークリッド距離は「全部の方向を同じ重み」で測ります。
でも実際のデータは、ある方向には大きく散り、別の方向にはほとんど散らないことがあります。
その違いを無視すると、「本当に珍しい点」と「よくある散らばりの中の点」を見分けにくくなります。

マハラノビス距離は、共分散行列を使ってその散らばり方を補正した距離です。
分散の大きい方向のズレは軽く、分散の小さい方向のズレは重く評価します。

数学的には、平均ベクトル $\boldsymbol{\mu}$ と共分散行列 $\Sigma$ に対して、点 $\mathbf{x}$ のマハラノビス距離は

$$d_M(\mathbf{x})=\sqrt{(\mathbf{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\mathbf{x}-\boldsymbol{\mu})}$$

で定義されます。
つまり、共分散行列の応用として「距離の定義そのもの」を作り直しているわけです。

ストーク

今日はマハラノビス距離たい。名前は強そうやけど、芯は単純で「共分散行列ば使って、距離の測り方ば直す」話たい。

シママ

名前だけ聞くと、特殊な統計手法っぽく見えるのよね。
でも“共分散行列の応用”としてつながるなら、ちゃんと理解できそう。

あるある

「外れ値っぽい」を、ただのユークリッド距離で判断してしまう。

2変量データを見たとき、中心から遠い点を「外れ値っぽい」と感じることがあります。
でも、もしデータが斜めに細長く広がっていたら、その長軸方向に離れている点は、見た目より“普通”かもしれません。
距離は、散らばり方と切り離して考えられないのです。

ストーク

シママ、“中心から遠い=怪しい”って、つい言いたくなるたいね。

シママ

なるわよ…。でも確かに、データが細長く伸びてるなら、長い方向のズレは“普通”って考えないと変なのよね。

ストーク

そうたい。そこに共分散行列が効いてくる。今日は“散らばり込みの距離”として整理するばい。

本文

共分散行列が「形」を持っているから、距離も作り替えられる。

1) 出発点:ユークリッド距離は“全部の方向を同じ扱い”にする

まず、普通の距離であるユークリッド距離を思い出します。
点 $\mathbf{x}$ と平均 $\boldsymbol{\mu}$ の距離は

$$d_E(\mathbf{x})=\sqrt{(\mathbf{x}-\boldsymbol{\mu})^T(\mathbf{x}-\boldsymbol{\mu})}$$

です。

この式はシンプルですが、各方向をすべて同じ重みで扱っています。
つまり、$x$方向の 1 のズレも、$y$方向の 1 のズレも、同じ「1」として数える。
しかしデータが方向によって大きく散るなら、この扱いは不自然です。

限界

ユークリッド距離は「丸い世界」の距離。
でも実際のデータ雲は、楕円のように方向ごとに伸び方が違うことが多い。

2) 共分散行列は、データの広がりの向きと強さを持っている

共分散行列は

$$\Sigma=\mathrm{E}\left[(\mathbf{x}-\boldsymbol{\mu})(\mathbf{x}-\boldsymbol{\mu})^T\right]$$

で定義されます。

対角成分は各変数の分散、非対角成分は変数同士の共分散です。
だから共分散行列は、データがどの方向にどれだけ広がっているかをまとめて持っています。

もしデータがある方向に長く伸びているなら、その方向は「ズレやすい方向」です。
逆に、ほとんど広がっていない方向は「少しズレただけでも珍しい方向」です。
マハラノビス距離は、その違いを距離に埋め込みます。

シママ

共分散行列って、やっぱり“形の情報”を持ってるのね。
主成分分析では軸を作ったけど、今度は距離そのものに使うわけか。

ストーク

そうたい。主成分分析が「軸の取り直し」なら、マハラノビス距離は「ものさしの取り直し」たい。

3) 定義:マハラノビス距離は共分散行列の逆行列で重みづけする

平均 $\boldsymbol{\mu}$ からのズレを $\mathbf{x}-\boldsymbol{\mu}$ とします。
そのマハラノビス距離は

$$d_M(\mathbf{x})=\sqrt{(\mathbf{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\mathbf{x}-\boldsymbol{\mu})}$$

です。

ユークリッド距離との違いは、真ん中に $\Sigma^{-1}$ が入ることです。
これが、各方向のズレに異なる重みを与えています。

分散が大きい方向は「もともとズレやすい」ので、逆行列を通すと重みが小さくなります。
逆に分散が小さい方向は「ズレにくい」ので、少しのズレでも重く評価されます。

見方

・$\mathbf{x}-\boldsymbol{\mu}$:中心からのズレ
・$\Sigma^{-1}$:そのズレを、散らばり方に応じて補正する重み
・全体として「散らばり込みの距離」になる

4) 分散が対角だけのとき:標準化したユークリッド距離になる

まず簡単な場合として、変数同士の共分散がなく、共分散行列が対角行列だとします。

$$\Sigma=\begin{pmatrix}\sigma_1^2 & 0 & \cdots & 0\\ 0 & \sigma_2^2 & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & \sigma_p^2\end{pmatrix}$$

このとき逆行列は

$$\Sigma^{-1}=\begin{pmatrix}1/\sigma_1^2 & 0 & \cdots & 0\\ 0 & 1/\sigma_2^2 & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & 1/\sigma_p^2\end{pmatrix}$$

なので、マハラノビス距離は

$$d_M(\mathbf{x})=\sqrt{\sum_{i=1}^p \frac{(x_i-\mu_i)^2}{\sigma_i^2}}$$

になります。

つまり、各変数を標準偏差で割って標準化したあとに測るユークリッド距離と同じです。
ここでは「スケールの違いを補正した距離」と理解できます。

5) 相関があるとき:斜めに伸びたデータ雲に合わせた距離になる

共分散行列に非対角成分があると、データ雲は座標軸に沿わず、斜めに伸びます。
このときユークリッド距離は、その斜め方向の伸びをうまく反映できません。

一方、マハラノビス距離は共分散行列を通じてその傾きまで考慮します。
だから、長軸方向に沿ったズレは「それほど珍しくない」と判断し、短軸方向へのズレは「かなり珍しい」と判断する。

これを言い換えると、マハラノビス距離は楕円形の等距離線を持ちます。
ユークリッド距離の等距離線が円なのに対して、マハラノビス距離の等距離線は、共分散行列に合わせて回転・伸縮した楕円になるわけです。

ストーク

ユークリッド距離は“丸い定規”たい。でもデータ雲が楕円なら、楕円の定規で測った方が自然やろ。マハラノビス距離はその楕円の定規たい。

シママ

その比喩、かなり分かりやすい。円じゃなくて楕円の等距離線になるって聞くと、一気にイメージできるのよ。

6) 小さな計算例:2変量で比べる

まず単純な場合として、平均が

$$\boldsymbol{\mu}=\begin{pmatrix}0\\0\end{pmatrix}$$

共分散行列が

$$\Sigma=\begin{pmatrix}4 & 0\\0 & 1\end{pmatrix}$$

だとします。
つまり、$x$方向には大きく散り、$y$方向にはあまり散らないデータです。

このとき、点

$$\mathbf{x}=\begin{pmatrix}2\\1\end{pmatrix}$$

のユークリッド距離は

$$d_E(\mathbf{x})=\sqrt{2^2+1^2}=\sqrt{5}$$

です。

一方、逆共分散行列は

$$\Sigma^{-1}=\begin{pmatrix}1/4 & 0\\0 & 1\end{pmatrix}$$

なので、マハラノビス距離は

$$d_M(\mathbf{x})=\sqrt{\begin{pmatrix}2 & 1\end{pmatrix}\begin{pmatrix}1/4 & 0\\0 & 1\end{pmatrix}\begin{pmatrix}2\\1\end{pmatrix}}=\sqrt{2^2/4+1^2}=\sqrt{2}$$

になります。

ここで $x$方向のズレは分散が大きいので軽く評価され、$y$方向のズレはそのまま重く効いていることが分かります。

解釈

$x$方向に 2 ずれていても、その方向はもともと散りやすいので、距離としてはそこまで大きくない。
逆に、散りにくい方向の 1 のズレは重い。

7) 主成分分析とのつながり:白色化するとユークリッド距離になる

ここで主成分分析との関係が見えてきます。
共分散行列を固有値分解すると

$$\Sigma=P\Lambda P^T$$

と書けます。
ここで $P$ は固有ベクトルを並べた行列、$\Lambda$ は固有値を並べた対角行列です。

すると

$$\Sigma^{-1}=P\Lambda^{-1}P^T$$

なので、マハラノビス距離は「主成分方向へ回転して、各軸を固有値の平方根で割ったあとに測るユークリッド距離」と解釈できます。

つまり主成分分析が「共分散行列に合わせて軸を取り直す」操作なら、マハラノビス距離はその先で「各軸をさらに標準化して距離を測る」操作です。
ここまで来ると、両者が同じ共分散行列の応用であることが見えてきます。

つながりの要点

・主成分分析:共分散行列から“軸”を作る
・マハラノビス距離:共分散行列から“距離のものさし”を作る

8) 何に使うか:外れ値検出・分類・異常検知

マハラノビス距離は、平均からどれだけ“統計的に離れているか”を見るので、外れ値検出によく使われます。
データ雲の形を無視せずに外れ値らしさを評価できるのが強みです。

また、クラスごとに平均と共分散を持たせれば、あるデータ点がどのクラスに自然に属するかを見ることもできます。
これは分類や異常検知の文脈でも使いやすい考え方です。

ただし、共分散行列を安定に推定できるだけのデータ数が必要で、次元が高すぎると逆行列が不安定になることがあります。
そこは実務上の注意点です。

シママ

“どれくらい離れているか”じゃなくて、“そのデータ雲の中でどれくらい不自然か”を測るってことね。外れ値検出で強い理由が見えてきた。

ストーク

そうたい。“普通のズレ”と“珍しいズレ”を分けられるのが強みたい。ただし、共分散行列が壊れたら距離も怪しくなるけん、そこは要注意ばい。

9) よくあるつまずき

つまずき1:ユークリッド距離の高級版だと思う

ただの距離の言い換えではなく、共分散行列を通して散らばり方そのものを距離に入れている。

つまずき2:$\Sigma^{-1}$ の意味が見えない

逆共分散行列は「ズレの重み付け」をしている。散りやすい方向を軽く、散りにくい方向を重く見る。

つまずき3:共分散行列が特異な場合を忘れる

変数が強く重複していたり、次元が高すぎたりすると逆行列が取れない、または不安定になる。

つまずき4:相関があるデータでもユークリッド距離で十分だと思う

データ雲が斜めに伸びるなら、ユークリッド距離は“本当に珍しい方向”を見落としやすい。

テンプレ

マハラノビス距離を説明するときの最短の型。

(1)ユークリッド距離の限界を置く

$$d_E(\mathbf{x})=\sqrt{(\mathbf{x}-\boldsymbol{\mu})^T(\mathbf{x}-\boldsymbol{\mu})}$$

すべての方向を同じ重みで見る。

(2)共分散行列が形を持つことを言う

$$\Sigma=\mathrm{E}\left[(\mathbf{x}-\boldsymbol{\mu})(\mathbf{x}-\boldsymbol{\mu})^T\right]$$

(3)マハラノビス距離を定義する

$$d_M(\mathbf{x})=\sqrt{(\mathbf{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\mathbf{x}-\boldsymbol{\mu})}$$

(4)意味を言葉にする

散りやすい方向のズレは軽く、散りにくい方向のズレは重く評価する。

(5)主成分分析との関係を補足する

$$\Sigma=P\Lambda P^T$$

主成分分析は軸を作り、マハラノビス距離はその軸に沿って距離のものさしを作る。

落とし穴

“中心から遠いか”だけで外れ値を判断する。

落とし穴は一つです。距離を、散らばり方と切り離して考えること
データが楕円状に広がっているなら、長軸方向の大きなズレは案外ふつうで、短軸方向の小さなズレの方がずっと珍しいかもしれません。
マハラノビス距離は、その“ふつうさ/珍しさ”まで含めて測る距離です。

締め

共分散行列は、軸も作るし、距離も作る。

ストーク

結局、共分散行列は“形の情報”ば持っとるけん、主成分分析みたいに軸も作れるし、マハラノビス距離みたいにものさしも作れるたい。

シママ

うん、納得。共分散行列って、ただの表じゃなくて、座標の取り方にも距離の測り方にもつながるのね。かなり見方が変わった。

ストーク

よかね。今日は“共分散行列が働いとる現場”ば、もう一つ増やせたたい。

シママ

その言い方は少しだけ雑だけど…今日は確かに、ちゃんとつながった。ありがとう。