exponenta event banner

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-на-k числовой матрицы, где n - количество наблюдений в X k - количество компонентов смеси в gm.

d2(i,j) - расстояние наблюдения в квадрате i в jTh гауссова смешанная составляющая.

Подробнее

свернуть все

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

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

Расстояние Махаланобиса от вектора x до распределения со средним λ, а ковариация Λ равна

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

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

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

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