首页 > 解决方案 > 在matlab中拟合单变量数据的自定义分布

问题描述

我有一维数据,如Y=[ . . . .. ]. 我想将自定义分布 Porter-Thomas 拟合到数据直方图并找到它的参数v。我尝试使用mle,但它给了我以下错误:“pdf 函数返回负值或零值”。

这是我的功能: 在此处输入图像描述

我的代码:

f=@(v,y)((v./(2*0.99)).^(v/2)).*(y.^(v/2 -1)).*exp(-v.*y./(2*0.99))./gamma(v/2);
V=mle(Y,'pdf',f,'Start',rand,'lowerbound',[0],'upperbound',[1]);
h=histfit(Y,50);

hold on
bins=linspace(min(Y),max(Y),105);
plot(bins,f(bins,V),'r--')

我怎样才能适应这个分布?

在此处输入图像描述

标签: matlabdistributiondata-fittingnon-linear-regression

解决方案


推荐阅读