Расстояние 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 использование двух компонентов смеси. Средние значения 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')

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 к jth Гауссов компонент смеси.
Расстояние Mahalanobis является мерой между точкой выборки и распределением.
Расстояние Mahalanobis от векторного x до распределения со средним μ и ковариацией Σ
Это расстояние представляет, как далеко x от среднего значения в количестве стандартных отклонений.
mahal возвращает расстояние Mahalanobis в квадрате d 2 от наблюдения в X к компоненту смеси в gm.
cluster | fitgmdist | gmdistribution | mahal | posterior
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.