Matlab中的gmdistribution命令?
我有一个关于Matlab命令Matlab中的gmdistribution命令?,matlab,Matlab,我有一个关于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
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)
?我们可以用一个图来最好地说明这个问题。为了使效果更加明显,我将两个分量的方差从1减小到0.2(v=0.2
)。如果我们从混合模型中得出一些实现,我们得到以下散点图:
每个“blob”对应一个组件,一个组件的中心位于0.2,另一个组件的中心位于0.4
现在,在它的基础上,线性相关系数告诉我们如果W1
增加1,W2
增加多少。但正如我们所看到的,在现实中没有这种趋势;如果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)
,则相关性将接近于零 我已经添加了我的证据。我在哪里写下X
和Y
在我的代码中是独立的?不,在sigma\u a
中,你有X1,X2
之间的相关性。在sigma_b
中,有Y1,Y2
erm之间的相关性,否,每个covar矩阵给出x和y之间的相关性。然后你也看到了主要的问题:两个分布在x轴上的平均值相同,因此没有发现趋势。使用以下设置运行它:mu_a=[0,0];西格玛_a=[v,0;0,v];mu_b=[10,5];西格玛_b=[v,0;0,v]代码>然后下图显示一个blob的平均值为0,0,另一个为10,5:[value,centers]=hist3(R[51]);imagesc(centers{:},values.')
这也会导致高(~0.9)相关性值。谢谢,那么我想我完全误解了gmdistribution
上的说明。考虑示例MthWork给出的<代码> MU=(1 2;-3–5);西格玛=类别(3[20;0.5],[10;01]);p=一(1,2)/2;obj=gm分布(μ,σ,p)你能告诉我,第一分量二元高斯的平均值和方差是多少,第二分量二元高斯的平均值和方差是多少?非常感谢!在最后一句话中,你的意思是“如果X1的平均值=平均值Y1”还是“如果X2的平均值=平均值Y2”?很好,谢谢。尽管如此,我仍然需要理解如何从分析上证明这一点(证明相关性取决于均值的差异),但我接受你的答案,因为数学证明不是我问题的一部分cov(W1,W2)=E(W1*W2)-E(W1)E(W2)
意味着协方差只取决于期望值,而不考虑实际情况-但自从我上次在统计学中证明任何东西以来已经有一段时间了,所以我很可能在这里是错的。我认为这也是错的,因为均值的差异(你在实践中证明是相关的)似乎在证明中没有作用。无论如何,谢谢