Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中的gmdistribution命令?_Matlab - Fatal编程技术网

Matlab中的gmdistribution命令?

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

我有一个关于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)

我们可以用一个图来最好地说明这个问题。为了使效果更加明显,我将两个分量的方差从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)cov(W1,W2)=E(W1*W2)-E(W1)E(W2)
意味着协方差只取决于期望值,而不考虑实际情况-但自从我上次在统计学中证明任何东西以来已经有一段时间了,所以我很可能在这里是错的。我认为这也是错的,因为均值的差异(你在实践中证明是相关的)似乎在证明中没有作用。无论如何,谢谢