首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用fminsearch进行分布拟合

使用fminsearch进行分布拟合
EN

Stack Overflow用户
提问于 2016-03-11 23:49:59
回答 1查看 973关注 0票数 1

假设我在数组errors中保存了一组单变量数据。

我想将PDF与我观察到的数据分布相匹配。

我的PDF是在函数poissvmwalkpdf中定义的,其定义行如下所示:

代码语言:javascript
复制
function p = poissvmwalkpdf(theta, mu, kappa, xi)

这里,theta是错误( errors中的值是实例的变量),而mukappaxierrors的参数,我希望使用最大似然估计来找到它们的最佳匹配值。此函数在给定的theta值处返回概率密度。

在所有这些情况下,我如何使用fminsearchmukappaxi找到最适合我观察到的errors的值?fminsearch文档没有明确说明这一点。文件中的任何一个例子都不是分布拟合的例子。

注意:教程这里清楚地描述了什么是分布拟合(与曲线拟合不同),但给出的示例不使用fminsearch

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-12 09:09:51

下面是一个使用fminsearch获取最大似然估计的最小示例(如注释中所要求的那样):

代码语言:javascript
复制
function mle_fit_minimal

n       = 100;
% for reproducibility
rng(333)
% generate dummy data
errors  = normrnd(0,1,n,1);

par0    = [1, 1];
[par_hat, nll] = fminsearch(@nloglike, par0)

% custom pdf
    function p = my_pdf(data, par)
        mu      = par(1);
        sigma   = par(2);
        p       = normpdf(data, mu, sigma);
    end

% negative loglikelihood function -- note that the parameters must be passed in a 
% single argument (here called par).
    function nll = nloglike(par)
        nll     = -sum(log(my_pdf(errors, par)));
    end
end

在建立了似然函数(或负对数似然)后,它只是一个简单的优化。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35951934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档