我对Matlab命令gmdistribution
有一个问题,即从高斯混合物中生成绘制。
考虑以下代码从两个双变量法线的混合中绘制
clear
rng default
P=10^4; %number draws
%First component (X1,X2)
v=1;
mu_a = [0,2];
sigma_a = [v,0;0,v];
%Second component (Y1,Y2)
mu_b = [0,4];
sigma_b = [v,0;0,v];
MU = [mu_a;mu_b];
SIGMA = cat(3,sigma_a,sigma_b);
w = ones(1,2)/2; %equal weight 0.5
obj = gmdistribution(MU,SIGMA,w);
%Draws of the mixture (R1,R2)
R = random(obj,P);%nx2
我们知道(R1, R2)
可能是相关的。的确,我们可以证明
cov(R1, R2)=1/4*cov(X1,Y2)+1/4*cov(X2, Y1)
,因为
cov(W1,W2)=E(W1*W2)-E(W1)E(W2)
=1/4E(X1*X2)+1/4E(X1*Y2)+1/4E(Y1* X2)+1/4E(Y1* Y2)
- [1/2E(X1)+1/2E(Y1)][1/2E(X2)+1/2E(Y2)]
=1/4 cov(X1, Y2)+1/4cov(Y1, X2)
但是,如果我检查它们的相关性
corr(R(:,1), R(:,2))
我几乎为零(0.0024)
我检查了MU, SIGMA
的许多其他值,但我找不到任何明显远离0
的相关情况。这只是一个案例,还是命令gmdistribution
强制(X1,X2)
独立于(Y1,Y2)
?
答案 0 :(得分:1)
我们可以用图来最好地说明问题。为了使效果更加明显,我将两个组件的方差从1降低到0.2(v = 0.2
)。如果我们从混合模型中绘制一些实现,我们得到以下散点图:
每个“blob”对应一个组件,一个组件的中心位于0,2,另一个组件位于0,4。
现在,在此基础上,线性相关系数告诉我们如果W2
增加1,W1
增加了多少。但正如我们所看到的,在实现中没有这样的趋势;如果W1
增加W2
没有增加或减少。
这是由于两个分布在W1
中具有相同的均值(0)。如果不是这种情况,例如mu_a = [0,2];
和mu_b = [2,5];
,我们会得到以下情节:
在这里可以清楚地看到,如果W1
很高,W2
也可能非常高。这导致约0.87的高正相关。总结一下,如果mu_a(1) == mu_b(1)
或mu_a(2) == mu_b(2)
,则相关性将接近零。