ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

mahal

マハラノビス距離

構文

d = mahal(Y,X)

説明

d = mahal(Y,X) は行列 X の参照標本から Y にある各観測のマハラノビス距離 (平方単位) を計算します。Y が n 行 m 列です。ここで、n が観測数、m がデータの次元の場合、d は n 行 1 列になります。XY は、同じ列数でなければなりませんが、異なる行数をもつことはできます。X では、列よりも行の方が多くなければなりません。

観測 I の場合、マハラノビス距離は d(I) = (Y(I,:)-mu)*inv(SIGMA)*(Y(I,:)-mu)' によって定義されます。ここで、muSIGMA は、X 内のデータの標本の平均と共分散です。mahal は等しい数の計算を実行しますが、より効果的です。

X で相関 2 変量データを生成し、Y で観測のマハラノビス距離と 2 乗ユークリッド距離を比較します。

X = mvnrnd([0;0],[1 .9;.9 1],100);
Y = [1 1;1 -1;-1 1;-1 -1];

d1 = mahal(Y,X) % Mahalanobis
d1 =
    1.3592
   21.1013
   23.8086
    1.4727

d2 = sum((Y-repmat(mean(X),4,1)).^2, 2) % Squared Euclidean
d2 =
    1.9310
    1.8821
    2.1228
    2.0739

scatter(X(:,1),X(:,2))
hold on
scatter(Y(:,1),Y(:,2),100,d1,'*','LineWidth',2)
hb = colorbar;
ylabel(hb,'Mahalanobis Distance')
legend('X','Y','Location','NW')

すべての観測値はユークリッド距離の X の平均からおおよそ等しい距離にありますが、等価な座標値をもつ Y の観測値は、反対の座標値をもつ観測値よりマハラノビス距離の X により近くなります。マハラノビス距離は、データの共分散と異なる変数のスケールを考慮すると、このような場合の外れ値の検出に役立ちます。

参考

|

この情報は役に立ちましたか?