3 MATLAB中的模态高斯分布

时间:2018-01-28 17:08:09

标签: matlab statistics

我正在处理统计数据。我做了3次正态分布,但我想对我的数据集进行高斯混合分布。我想通过3模态高斯分布来表示我的数据的密度估计。

我正在使用此命令,但我不知道可用于制作3模态高斯分布曲线的特征。

pd = fitdist(offset_rem_limit_sif_diff','Kernel','Kernel','epanechnikov')
y = pdf(pd,x);
plot(x,y, 'b')

是否有任何可用于绘制3模态高斯分布曲线的分布。

3个分布在图中显示为绿色,红色和黄色。

如果有人帮助我,我们将非常感激。提前谢谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为gmdistribution应该符合您的需求。它允许您根据需要定义高斯混合分布对象和高斯分布。

以下是一个包​​含3个组件的工作示例:

x = (-2:0.01:2).';
mu = [-0.5 -0.1 1].';
sigma = [0.1 0.4 0.2].';

for i = 1:3
    pd = makedist('Normal',mu(i),sigma(i));
    y = pdf(pd,x);

    hold on;
    plot(x,y);
    hold off;
end

s(1,1,:) = sigma;
p = ones(1,3).' / 3;

gm = gmdistribution(mu,s,p);
y = pdf(gm,x);

hold on;
plot(x,y,'--');
hold off;

输出(图像缩小并导致图像质量不佳,点击它以将其放大到完整尺寸):

Output