У меня возникают проблемы с согласованием некоторых основных теоретических результатов по гауссовским смесям и вывода команд gmdistribution, random в Matlab.
Рассмотрим смесь двух независимых трехвариантных нормальных распределений с весами 1/2,1/2.
Первое распределение A характеризуется средним и ковариационной матрицей, равной
muA=[-1.4 3.2 -1.9]; %mean vector
rhoA=-0.5; %correlation among components in A
sigmaA=[1 rhoA rhoA; rhoA 1 rhoA; rhoA rhoA 1]; %variance-covariance matrix of A
Второе распределение B характеризуется средним и ковариационной матрицей, равной
muB=muB=[1.2 -1.6 1.5]; %mean vector
rhoB=0.3; %correlation among components in B
sigmaB=[1 rhoB rhoB; rhoB 1 rhoB; rhoB rhoB 1]; %variance-covariance matrix of B
Пусть epsilon будет 3-мерным случайным вектором, распределенным как смесь. Мои расчеты показывают, что ожидаемая стоимость epsilon должна быть
Mtheory=1/2*(muA+muB);
а матрица дисперсии-ковариации должна быть
Vtheory=1/4*[2 rhoA+rhoB rhoA+rhoB; rhoA+rhoB 2 rhoA+rhoB; rhoA+rhoB rhoA+rhoB 2];
Давайте теперь попробуем посмотреть, совпадают ли Mtheory и Vtheory с эмпирическими моментами, которые мы получаем, извлекая из смеси множество случайных чисел.
clear
rng default
n=10^6; %number of draws
w = ones(1,2)/2; %weights
rhoA=-0.5; %correlation among components of A
rhoB=0.3; %correlation among components of B
muA=[-1.4 3.2 -1.9]; %mean vector of A
muB=[1.2 -1.6 1.5]; %mean vector of B
mu = [muA;muB];
%Variance-covariance matrix for mixing
sigmaA=[1 rhoA rhoA; rhoA 1 rhoA; rhoA rhoA 1]; %variance-covariance matrix of A
sigmaB=[1 rhoB rhoB; rhoB 1 rhoB; rhoB rhoB 1]; %variance-covariance matrix of B
sigma = cat(3,sigmaA,sigmaB);
obj = gmdistribution(mu, sigma,w);
%Draws
epsilon = random(obj, n);
M=mean(epsilon);
V=cov(epsilon);
Mtheory=1/2*(muA+muB);
Vtheory=1/4*[2 rhoA+rhoB rhoA+rhoB; rhoA+rhoB 2 rhoA+rhoB; rhoA+rhoB rhoA+rhoB 2];
Вопрос: M и Mtheory практически совпадают. V и Vtheory совершенно разные. Что я делаю неправильно? Я должен был сделать что-то очень глупое, но я не вижу где.





При вычислении ковариации обратите внимание, что ваши данные не центрированы.
Более того, ваш коэффициент 0,25 неверен.
Это не масштабирование переменной, а выборка.
Расчет должен производиться с использованием Закон полной дисперсии / Закон полной ковариантности.
Где «данное событие» - индекс смеси.
Пример расчета представлен Расчет ковариации гауссовских смесей..