我正在处理统计数据。我做了3次正态分布,但我想对我的数据集进行高斯混合分布。我想通过3模态高斯分布来表示我的数据的密度估计。
我正在使用此命令,但我不知道可用于制作3模态高斯分布曲线的特征。
pd = fitdist(offset_rem_limit_sif_diff','Kernel','Kernel','epanechnikov')
y = pdf(pd,x);
plot(x,y, 'b')
是否有任何可用于绘制3模态高斯分布曲线的分布。
3个分布在图中显示为绿色,红色和黄色。
如果有人帮助我,我们将非常感激。提前谢谢。
答案 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;
输出(图像缩小并导致图像质量不佳,点击它以将其放大到完整尺寸):