1

配列に一変量データのセットが保持されているとしerrorsます。

観察したデータ分布に PDF を適合させたいと考えています。

私の PDF は function で定義されておりpoissvmwalkpdf、その定義行は次のようになります。

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

ここで、thetaはエラー ( の値errorsがインスタンスである変数) でありmu、 、kappa、およびxiは、最尤推定を使用して最適なものを見つけたい 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 に答える