mahal

Расстояние Махаланобиса

Синтаксис

Описание

пример

d2 = mahal(Y,X) возвращает квадратное расстояние Махаланобиса каждого наблюдения в Y к эталонным выборкам в X.

Примеры

свернуть все

Сгенерируйте коррелированный двухмерный набор выборочных данных.

rng('default') % For reproducibility
X = mvnrnd([0;0],[1 .9;.9 1],1000);

Задайте четыре наблюдения, которые равноудалены от среднего значения X в евклидовом расстоянии.

Y = [1 1;1 -1;-1 1;-1 -1];

Вычислите расстояние Махаланобиса каждого наблюдения в Y к эталонным выборкам в X.

d2_mahal = mahal(Y,X)
d2_mahal = 4×1

    1.1095
   20.3632
   19.5939
    1.0137

Вычислите квадратное евклидово расстояние каждого наблюдения в Y от среднего значения X .

d2_Euclidean = sum((Y-mean(X)).^2,2)
d2_Euclidean = 4×1

    2.0931
    2.0399
    1.9625
    1.9094

График X и Y при помощи scatter и используйте цвет маркера, чтобы визуализировать расстояние Махаланобиса Y к эталонным выборкам в X.

scatter(X(:,1),X(:,2),10,'.') % Scatter plot with points of size 10
hold on
scatter(Y(:,1),Y(:,2),100,d2_mahal,'o','filled')
hb = colorbar;
ylabel(hb,'Mahalanobis Distance')
legend('X','Y','Location','best')

Figure contains an axes. The axes contains 2 objects of type scatter. These objects represent X, Y.

Все наблюдения в Y ([1,1], [-1,-1,], [1,-1], и [-1,1]) равноудалены от среднего значения X в евклидовом расстоянии. Однако [1,1] и [-1,-1] намного ближе к X, чем [1,-1] и [-1,1] на расстоянии Махаланобиса. Поскольку расстояние Махаланобиса рассматривает ковариацию данных и шкалы различных переменных, это полезно для обнаружения выбросов.

Входные параметры

свернуть все

Данные, заданные как n -by m числовая матрица, где n - количество наблюдений, а m - количество переменных в каждом наблюдении.

X и Y должен иметь одинаковое число столбцов, но может иметь разное количество строк.

Типы данных: single | double

Ссылочные выборки, заданные как p -by m числовая матрица, где p - количество выборок, а m - количество переменных в каждой выборке.

X и Y должен иметь одинаковое число столбцов, но может иметь разное количество строк. X должно иметь больше строк, чем столбцов.

Типы данных: single | double

Выходные аргументы

свернуть все

Квадратное расстояние Махаланобиса каждого наблюдения в Y к эталонным выборкам в X, возвращенный как n -на 1 числовой вектор, где n - количество наблюдений в X.

Подробнее о

свернуть все

Расстояние Махаланобиса

Расстояние Махаланобиса является мерой между точкой выборки и распределением.

Расстояние Махаланобиса от вектора y до распределения со средним μ и ковариацией Σ является

d=(yμ)1(yμ)'.

Это расстояние представляет, насколько y расстояние от среднего по количеству стандартных отклонений.

mahal возвращает квадратное расстояние Махаланобиса d2 из наблюдения в Y к эталонным выборкам в X. В mahal функция, μ и Σ являются средним значением выборки и ковариацией эталонных выборок, соответственно.

См. также

|

Представлено до R2006a