mahal

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

Синтаксис

Описание

пример

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 использование двух компонентов смеси. Средние значения Component1 и Component2 [-2.9617,-4.9727] и [0.9539,2.0261], которые являются близко к mu2 и mu1, соответственно.

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

d2 = mahal(gm,X);

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

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

Figure contains an axes. The axes contains an object of type scatter.

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

свернуть все

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

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

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

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

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

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

свернуть все

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

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

Больше о

свернуть все

Расстояние Mahalanobis

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

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

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

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

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

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