1

假设我有一组保存在数组中的单变量数据errors

我想将 PDF 拟合到我观察到的数据分布中。

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

function p = poissvmwalkpdf(theta, mu, kappa, xi)

在这里,theta是误差(其中的值errors是实例的变量),并且mukappaxi是我想使用最大似然估计找到最佳拟合的 PDF 参数。此函数返回给定值的概率密度theta

鉴于这一切,我将如何使用来找到最适合我观察到的、和fminsearch的值?文档没有说明这一点。文档中的示例都不是分布拟合的示例。mukappaxierrorsfminsearch

注意:这里的教程清楚地描述了什么是分布拟合(区别于曲线拟合),但是给出的例子没有使用fminsearch.

4

1 回答 1

4

这是一个fminsearch用于获得最大似然估计的最小示例(如评论中所要求的):

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

在制定似然函数(或负对数似然)之后,它只是一个简单的优化。

在此处输入图像描述

于 2016-03-12T09:09:51.423 回答