mahal

Расстояние Mahalanobis до Гауссова компонента смеси

Синтаксис

d2 = mahal(gm,X)

Описание

пример

d2 = mahal(gm,X) возвращает расстояние Mahalanobis в квадрате каждого наблюдения в X к каждому Гауссову компоненту смеси в gm.

Примеры

свернуть все

Сгенерируйте случайные варьируемые величины, которые следуют за смесью двух двумерных Распределений Гаусса при помощи функции mvnrnd. Соответствуйте Гауссовой модели смеси (GMM) к сгенерированным данным при помощи функции fitgmdist, и затем вычислите расстояния Mahalanobis между сгенерированными данными и компонентами смеси подходящего GMM.

Задайте параметры распределения (средние значения и ковариации) двух двумерных Гауссовых компонентов смеси.

rng('default') % For reproducibility
mu1 = [1 2];          % Mean of the 1st component
sigma1 = [2 0; 0 .5]; % Covariance of the 1st component
mu2 = [-3 -5];        % Mean of the 2nd component
sigma2 = [1 0; 0 1];  % Covariance of the 2nd component

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

r1 = mvnrnd(mu1,sigma1,1000);
r2 = mvnrnd(mu2,sigma2,1000);
X = [r1; r2];

Объединенный набор данных X содержит случайные варьируемые величины после смеси двух двумерных Распределений Гаусса.

Соответствуйте двухкомпонентному GMM к X.

gm = fitgmdist(X,2)
gm = 

Gaussian mixture distribution with 2 components in 2 dimensions
Component 1:
Mixing proportion: 0.500000
Mean:   -2.9617   -4.9727

Component 2:
Mixing proportion: 0.500000
Mean:    0.9539    2.0261

fitgmdist соответствует GMM к X с помощью двух компонентов смеси. Средние значения Component 1 и Component, 2 является [-2.9617,-4.9727] и [0.9539,2.0261], которые являются близко к mu2 и mu1, соответственно.

Вычислите расстояние Mahalanobis каждой точки в X к каждому компоненту gm.

d2 = mahal(gm,X);

Постройте X при помощи scatter и используйте цвет маркера, чтобы визуализировать расстояние Mahalanobis до Component 1.

scatter(X(:,1),X(:,2),10,d2(:,1),'.') % Scatter plot with points of size 10
c = colorbar;
ylabel(c,'Mahalanobis Distance to Component 1')

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

свернуть все

Гауссово распределение смеси, также названное Гауссовой моделью смеси (GMM), заданной как объект gmdistribution.

Можно создать объект gmdistribution с помощью gmdistribution или fitgmdist. Используйте функцию gmdistribution, чтобы создать объект gmdistribution путем определения параметров распределения. Используйте функцию fitgmdist, чтобы соответствовать модели gmdistribution к данным, учитывая постоянное число компонентов.

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

Если строка X содержит NaNs, то mahal исключает строку из вычисления. Соответствующим значением в d2 является NaN.

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

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

свернуть все

Расстояние Mahalanobis в квадрате каждого наблюдения в X к каждому Гауссову компоненту смеси в gm, возвращенном как n-by-k числовая матрица, где n является количеством наблюдений в X и k, является количеством компонентов смеси в gm.

d2(i,j) является квадратом расстояния наблюдения i к j th Гауссов компонент смеси.

Больше о

свернуть все

Расстояние Mahalanobis

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

Расстояние Mahalanobis от векторного x до распределения со средним μ и ковариацией Σ

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

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

mahal возвращает расстояние Mahalanobis в квадрате d 2 от наблюдения в X к компоненту смеси в gm.

Представленный в R2007b