【问题标题】:Command `gmdistribution` in Matlab?Matlab中的命令“gmdistribution”?
【发布时间】:2017-09-14 20:27:13
【问题描述】:

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

【问题讨论】:

  • 我已经添加了我的证明。我在哪里写 XY 在我的代码中是独立的?
  • 不,在sigma_a你有X1,X2之间的关联。在sigma_b你有Y1,Y2之间的相关性
  • erm,不,每个协变量矩阵都给出了 x 和 y 之间的相关性。然后您还会看到主要问题:两个分布在 x 轴上具有相同的均值,因此无法找到趋势。使用以下设置运行它:mu_a = [0,0]; sigma_a = [v,0;0,v]; mu_b = [10,5]; sigma_b = [v,0;0,v]; 然后下图显示一个 blob 的平均值在 0,0,另一个在 10,5:[values, centers] = hist3(R,[51 51]); imagesc(centers{:}, values.') 这也将导致高 (~0.9) 相关值。
  • 谢谢,那我想我完全误解了gmdistribution上的说明。考虑数学给出的示例mu = [1 2;-3 -5]; sigma = cat(3,[2 0;0 .5],[1 0;0 1]); p = ones(1,2)/2; obj = gmdistribution(mu,sigma,p);
  • 你能告诉我,第一个分量二元高斯的均值和方差是什么,第二个分量二元高斯的均值和方差是什么?

标签: matlab


【解决方案1】:

我们可以用一个图来最好地说明问题。为了使效果更明显,我将两个分量的方差从 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) 则相关性将接近于零。

【讨论】:

  • 非常感谢!最后一句,你的意思是“如果X1的平均值=平均Y1”还是“如果X2的平均值=平均Y2”?
  • 很好,谢谢。不过,我需要了解如何通过分析来展示这一点(表明相关性取决于均值的差异),但我接受你的回答,因为数学证明不是我问题的一部分。
  • 说实话,我不认为数学证明是正确的; cov(W1,W2)=E(W1*W2)-E(W1)E(W2) 暗示协方差仅取决于预期值而不考虑实现 - 但自从我上次证明统计数据以来已经有一段时间了,所以我很可能在这里错了。
  • 我认为这也是错误的,因为手段的差异(您在实践中证明是相关的)似乎在证明中不起作用。还是谢谢
猜你喜欢
  • 2016-04-03
  • 2013-04-22
  • 2015-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多