如何拟合一个多模态分布使用加权和的pdf ?

42次浏览(过去30天)
我是matlab的新手,我知道我的问题是基本的。如果你能帮助我,我将非常感激。我有一个数据集(附件)显示多模态分布,我想做一个适合使用 pdf的加权和。我该怎么做呢?
我已经应用了内核分布,但我不确定是正确的。
clc;
清晰的所有
关闭所有
%.....................................................................
数据= xlsread (“一个”);
rr =数据(:1);% gr /立方厘米
(x11, y11] =嘘(rr, 36);
嘘(rr, 36);
持有
[f,x11] = ksdensity(rr,“带宽”, 0.0028);
情节(x11, f,“- r”,“线宽”,2)

接受的答案

Bjorn Gustavsson
Bjorn Gustavsson 2021年3月2日
编辑:Bjorn Gustavsson 2021年3月2日
你没有足够的样本来自信地宣称你有一个多态分布。如果你只是简单地尝试用指数分布来拟合你的数据,你会发现它们合理地工作:
PARHAT = expfit(abs(rr));
PARHATp = expfit(rr(rr>=0));
PARHATm = expfit(-rr(rr<=0));
嘘(NUM 40)
持有
X = linspace(-0.1,0.1,1001);
情节(x, 30 * exp (abs (x) / PARHAT),“c”
情节(x, 30 * exp (abs (x) / PARHATp),“r”
情节(x, 30 * exp (abs (x) / PARHATm),“米”
有迹象表明可能存在一个多模态分布,但如果你确实适合一个多模态分布,你可能会发现参数的不确定性将非常大。首先,你需要收集更多的观察结果(希望这在没有太多时间和资源成本的情况下是可能的)。
HTH
6个评论
玛丽亚Amr
玛丽亚Amr 2021年4月6日
Bjorn Gustavsson 你已经给了我一个很好的答案,非常有效。现在我需要将先前的结果与具有几种模式的情况进行比较。你已经提到数据不足以证明多峰分布。我真的很感谢你指导我如何显示一个多模态数据集假设样本是足够的。我的意思是我想展示一个像附件图这样的数据集(这个图不是我的,我只是用它来表达我的问题)。数据集与上面已经附加的数据集相同。提前谢谢你!

登录评论。

更多答案(1)

汤姆巷
汤姆巷 2021年3月2日
我很高兴比约恩给了你一个适合你的答案。为了便于将来参考,这里有一个函数用于拟合正态分布的混合物:
此外,还有一个例子适合两个法线的混合物,但它可以适应任何分布的混合物:
3评论
汤姆巷
汤姆巷 2021年3月3日
@Maria Amr 我不知道h()在你的代码中是什么,但如果它是一个变量,那么你就使用-0.1这样的值索引它。

登录评论。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!