AI資格ドリル
資格を選ぶ↓

大項目8 AIに必要な数理・統計知識

G検定のマハラノビス距離|ユークリッド距離との違い

G検定のJDLA公式シラバス(G2024#6〜)で、確率・統計のキーワードにはコサイン類似度、ユークリッド距離、マハラノビス距離が並びます。マハラノビス距離は、データのばらつきと相関を考慮して測る距離です。

このページは、SciPyの文書と英語版Wikipediaの記述を読み直し、自作の数値例でユークリッド距離との差を確かめられるようにしました。

ユークリッド距離とコサイン類似度の違いはコサイン類似度とユークリッド距離の違いで比べています。ここでは、そこにないマハラノビス距離を扱います。

公式情報の確認

試験日、料金、申込条件、試験方式など変動する情報は、公式情報を最終確認してください。 当サイトの一次情報確認日: 2026-10-02。

試験の出題範囲・実施要項は変動するため、受験前に公式情報を確認してください。

結論

  1. ユークリッド距離は、2点を結ぶ直線の長さ。小さいほど近い
  2. コサイン類似度は、2つのベクトルのなす角の余弦。大きいほど向きが近く、長さは関係しない
  3. マハラノビス距離は、データの分散と共分散を使って測る距離。ばらつきの違いと相関を考慮する
  4. 変数のばらつきがそろい、無相関なら、マハラノビス距離とユークリッド距離は同じ考え方になる

3つの違い(一覧)

指標測るもの計算のしかた読み方
ユークリッド距離2点の間の直線の長さ成分ごとの差を2乗して足し、平方根をとる値が小さいほど近い。ベクトルの長さ(大きさ)の違いも距離に出る
コサイン類似度2つのベクトルのなす角の近さ(向き)内積 ÷(2つの長さの積)値が大きいほど似ている。長さは正規化されるので、長さの違いは出ない
マハラノビス距離データの分布を踏まえた、点と平均(または点どうし)の距離差のベクトルに、共分散行列の逆行列をはさんで二次形式にし、平方根をとる変数ごとのばらつきの違いと、変数どうしの相関を考慮する

出典:scikit-learnのユーザーガイド(Pairwise metrics, Affinities and Kernels)とAPI文書、SciPyのmahalanobis関数の文書

マハラノビス距離

SciPyの文書は、2つの1次元配列uとvの間のマハラノビス距離を、√((u−v) V⁻¹ (u−v)ᵀ) と定義し、Vは共分散行列だと説明します。関数の引数VIには、Vの逆行列を渡します。ユークリッド距離との違いは、差のベクトルの間に共分散行列の逆行列がはさまる点だけです。

英語版Wikipediaは、マハラノビス距離を、点Pと確率分布Dの間の距離の尺度で、1936年にP. C. マハラノビスが導入したと紹介します。

また、標準得点((x − μ)/σ)の絶対値を多変量に一般化したもので、Pが分布の平均から標準偏差で何個分離れているかを表すとも述べています。

同じ項目は、マハラノビス距離が単位を持たず、尺度を変えても値が変わらず、データの相関を考慮すると説明します。各軸を単位分散にそろえて無相関にすれば、変換後の空間ではユークリッド距離に一致する、とも書かれています。

  • 変数ごとにばらつきが違うとき、ばらつきの大きい方向の差は軽く、小さい方向の差は重く評価される
  • 変数どうしに相関があるとき、相関の向きに沿った差は小さく、逆らう向きの外れは大きく評価される
  • 単位を持たないので、身長(cm)と体重(kg)のように単位の違う変数を混ぜても比べられる

出典:SciPy「scipy.spatial.distance.mahalanobis」、英語版Wikipedia「Mahalanobis distance」

数値例で確かめる

次の数値は、このページの説明用に自作した値です。実際の試験問題や公式の例題ではありません。

例1:ばらつきが違う(ユークリッドとマハラノビス)

2つの変数が無相関で、横方向の分散が4、縦方向の分散が1のデータを考えます。平均から横に2離れた点Aと、縦に2離れた点Bです。無相関のときは、各方向の差の2乗をその方向の分散で割って足し、平方根をとります。

点ユークリッド距離マハラノビス距離読み方
点A(平均から横に2)21横方向はばらつきが大きい(分散4)ので、2離れていても標準偏差1個分
点B(平均から縦に2)22縦方向はばらつきが小さい(分散1)ので、同じ2でも標準偏差2個分

ユークリッド距離では点Aと点Bは同じ2ですが、マハラノビス距離では点Bの方が2倍遠くなります。ばらつきの小さい方向に外れた点の方が、分布から見て珍しいと評価されるからです。

例2:相関がある(ユークリッドとマハラノビス)

2つの変数の分散がどちらも1で、相関係数が0.8のデータを考えます。共分散行列は、対角が1、非対角が0.8です。平均からの差が(1, 1)の点Cと、(1, −1)の点Dを比べます。

点ユークリッド距離マハラノビス距離読み方
点C(差が(1, 1))約1.41約1.05相関の向きに沿った差なので、まれではない
点D(差が(1, −1))約1.41約3.16相関の向きと逆に外れた差なので、まれな外れ方

共分散行列の逆行列は、行列式が1 − 0.8² = 0.36なので、(1/0.36) × 対角が1、非対角が−0.8の行列です。点Cの二次形式は0.4/0.36で約1.11、点Dは3.6/0.36で10になり、平方根が約1.05と約3.16です。相関のあるデータでは、同じユークリッド距離でも、相関の向きに逆らう点ほど遠いと判定されます。相関係数の意味は相関係数の用語解説で確認できます。

選択肢の読み方

資料の記載から、選択肢を次のように読みます。

  • 「コサイン類似度は、ベクトルの長さの違いを反映する」は、長さで正規化してから内積をとるという定義と合わない
  • 「ユークリッド距離は、値が大きいほど近い」は、距離は小さいほど近いという読み方と合わない
  • 「マハラノビス距離は、変数間の相関を無視して計算する」は、共分散行列の逆行列を使い、データの相関を考慮するという説明と合わない
  • 「マハラノビス距離は、単位の違う変数を混ぜると使えない」は、単位を持たず尺度を変えても値が変わらないという説明と合わない

ここで挙げた読み方は、一次資料の記載から導いたこのページの整理で、出題を予想するものではありません。

よくある質問

マハラノビス距離はユークリッド距離とどう違いますか?

ユークリッド距離は、すべての変数を同じ重さで足し合わせる距離です。マハラノビス距離は共分散行列の逆行列を使うので、ばらつきの大きい変数の差は軽く、小さい変数の差は重く扱い、変数どうしの相関も考慮します。英語版Wikipediaは、各軸を単位分散にそろえて無相関にすると、変換後の空間ではユークリッド距離に一致すると説明しています。

マハラノビス距離は何に使われますか?

英語版Wikipediaは、マハラノビス距離を点と確率分布の間の距離の尺度と説明し、標準得点の絶対値を多変量に一般化したもので、点が分布の平均から標準偏差で何個分離れているかを表すと述べます。G検定では、距離の種類を区別する語として押さえておけば足ります。

計算式まで覚える必要はありますか?

公式のシラバスには、コサイン類似度・ユークリッド距離・マハラノビス距離が用語として並んでいます。ここで紹介した式は、何を測る指標かを理解するためのものです。まず「直線の長さ」「向きの近さ」「ばらつきを考慮した距離」の3つの言い分けを押さえるのが近道です。

次に読むと効率的なページ

執筆: ミナト編集部(運営者情報を見る)