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 object. The axes object 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 в квадрате d2 от наблюдения в X к компоненту смеси в gm.

Представленный в R2007b
Для просмотра документации необходимо авторизоваться на сайте