Расстояние Mahalanobis до Гауссова компонента смеси
Сгенерируйте случайные варьируемые величины, которые следуют за смесью двух двумерных Распределений Гаусса при помощи 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
использование двух компонентов смеси. Средние значения Component
1 и
Component
2
[-2.9617,-4.9727]
и [0.9539,2.0261]
, которые являются близко к mu2
и mu1
, соответственно.
Вычислите расстояние Mahalanobis каждой точки в X
к каждому компоненту gm
.
d2 = mahal(gm,X);
Постройте X
при помощи scatter
и используйте цвет маркера, чтобы визуализировать расстояние Mahalanobis до 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
isnan
.
Типы данных: single
| double
d2
— Расстояние Mahalanobis в квадратеРасстояние Mahalanobis в квадрате каждого наблюдения в X
к каждому Гауссову компоненту смеси в gm
, возвращенный как n-by-k числовая матрица, где n является количеством наблюдений в X
и k является количеством компонентов смеси в gm
.
d2(i,j)
квадрат расстояния наблюдения i
к j
th Гауссов компонент смеси.
Расстояние Mahalanobis является мерой между точкой выборки и распределением.
Расстояние Mahalanobis от векторного x до распределения со средним μ и ковариацией Σ
Это расстояние представляет, как далеко x от среднего значения в количестве стандартных отклонений.
mahal
возвращает расстояние Mahalanobis в квадрате d 2 от наблюдения в X
к компоненту смеси в gm
.
cluster
| fitgmdist
| gmdistribution
| mahal
| posterior
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.