Расстояние Махаланобиса до Гауссова компонента смеси
Сгенерируйте случайные переменные, которые следуют за смесью двух двухмерных Гауссовых распределений при помощи 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')
gm
- Распределение Гауссовой смесиgmdistribution
объектРаспределение Гауссова смеси, также называемое Смешанной гауссовской моделью (GMM), задается как gmdistribution
объект.
Можно создать gmdistribution
объект, использующий gmdistribution
или fitgmdist
. Используйте gmdistribution
функция для создания gmdistribution
объект путем определения параметров распределения. Используйте fitgmdist
функция для соответствия gmdistribution
модель к данным заданное фиксированное количество компонентов.
X
- ДанныеДанные, заданные как n -by m числовая матрица, где n - количество наблюдений, а m - количество переменных в каждом наблюдении.
Если строка X
содержит NaNs
, затем mahal
исключает строку из расчетов. Соответствующее значение в d2
является NaN
.
Типы данных: single
| double
d2
- Квадратное расстояние МахаланобисаРасстояние Махаланобиса является мерой между точкой выборки и распределением.
Расстояние Махаланобиса от вектора x до распределения со средним μ и ковариацией Σ является
Это расстояние представляет, насколько x расстояние от среднего по количеству стандартных отклонений.
mahal
возвращает квадратное расстояние Махаланобиса d2 из наблюдения в X
к компоненту смеси в gm
.
cluster
| fitgmdist
| gmdistribution
| mahal
| posterior
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.