mahal

Расстояние Махаланобиса до Гауссова компонента смеси

Синтаксис

Описание

пример

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

Примеры

свернуть все

Сгенерируйте случайные переменные, которые следуют за смесью двух двухмерных Гауссовых распределений при помощи mvnrnd функция. Подбор смешанной гауссовской модели (GMM) к сгенерированным данным при помощи fitgmdist и затем вычислите расстояния Махаланобиса между сгенерированными данными и смешанными компонентами установленного 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, соответственно.

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

d2 = mahal(gm,X);

График X при помощи scatter и используйте цвет маркера, чтобы визуализировать расстояние Махаланобиса, до 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')

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 является NaN.

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

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

свернуть все

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

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

Подробнее о

свернуть все

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

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

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

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

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

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

Введенный в R2007b