Расстояние Mahalanobis до Гауссова компонента смеси
d2 = mahal(gm,X)
Сгенерируйте случайные варьируемые величины, которые следуют за смесью двух двумерных Распределений Гаусса при помощи функции 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
является NaN
.
Типы данных: 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
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.