如何添加方程式以约束使用mle的自定义分布拟合中的参数。

4个视图(过去30天)
露西尔·桑切斯
露西尔·桑切斯 2021年1月29日
编辑: 马特J 2021年1月29日
我想用3个泊松分布的总和拟合一个实验分布:
数据=Cal_H2;
%获得先前拟合的泊松分布参数
Lambda_Zero=pd2.Lambda;
Lambda_One=ResultOne(2);
TwoDist=@(数据,Ampl_1,Ampl_2,Lambda_2)(1-Ampl_1-Ampl_2)。*poisspf(数据,Lambda_零)+Ampl_1.*poisspf(数据,Lambda_1)+Ampl_1.*poisspf(数据,Lambda_2);
%参数集的第一个猜测:
StartParam=[0.02 0.9 20];
LowerBound=[0];
上限=[1 150];
oldopts=statset(“定制”);
newopts=statset(旧选项,“GradObj”,“开”);
%运行最大似然估计的算法:
[结果二,限定二]=mle(数据,“pdf”,两区,“开始”,星图,“Lowerbound”,LowerBound,“上限”,上界,“最佳乐趣”,“fmincon”,“选项”,newopts)
但由于结果必须归一化,我需要施加A+B+C=0,A,B,C在0和1之间,我不知道如何将这个方程发送到 铁铬镍铁合金 通过我们投入的选择 最大似然误差 . 此外,当我直接运行它时,我有一个问题:
未定义的函数或变量“Hstr”。
fmincon错误(第482行)
sfminbx(funfcn,X,l,u,详细,选项,defaultopt,computeLambda,f,GRAD,HESS,Hstr,varargin{:});
自定义中的错误(第221行)
fmincon(@llf_diff,start,[]、[]、[]、[]、[]、lb、ub、[]、opts、unsensdata、censtata、unsensrefq、censFreq、llf、fun1Args、fun2Args、checkFunVals、delta);
mle中的错误(第247行)
[phat,pci]=mlecustom(数据,varargin{:});
如果有人能帮我,我的MATLAB不是很流利,仅仅发送一个指向帮助/文档的链接可能不会有用,因为我很可能无法理解细节。非常感谢!

答复(1)

马特J
马特J 2021年1月29日
编辑:马特J 2021年1月29日
我只想解决这个问题 fmincon(), 它允许您直接指定线性等式约束。如果确实需要置信区间输出,请使用重新运行 mle() 使用来自的直接解决方案 铁铬镍铁合金 作为你的 星图 。以在使用时强制执行您的约束 mle() ,只需更改变量,
2评论
马特J
马特J 2021年1月29日
对于另一种方法,由于它不处理分布,如何使用fmincon()解决它,对吗。。。mle()的目的不是为fmincon()提供正确的参数和选项?
据我所见, mle() 这只是一个包装 fminsearch 铁铬镍铁合金 当成本函数为负对数时。没有理由你不能直接提供负对数似然 铁铬镍铁合金 ,如果您可以通过优化工具箱访问它。选择的唯一理由 mle() 我能看到的是,它会为你们做置信区间分析。

登录以发表评论。

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!