小编Ale*_*ica的帖子

fitnlm 后 MATLAB R2017B LogLikelihood 中的小错误?

背景:我正在研究一个类似于链接 [1] 中描述的非线性逻辑回归的问题(我的问题更复杂,但链接 [1] 足以用于本文的下一部分)。将我的结果与与 R 包并行获得的结果进行比较,我得到了相似的系数结果,但(非常近似)相反的对数似然。

假设: matlab中fitnlm给出的logLikelihood实际上是负LogLikelihood。(请注意,这会损害 Matlab 的 BIC 和 AIC 计算)

推理:在[1]中,通过两种不同的方法解决了同一个问题。ML-approach/ 通过定义负 LogLikelihood 并使用 fminsearch 进行优化。GLS-方法/通过使用 fitnlm。

ML 方法后的负对数似然为:380

GLS 方法后的负对数似然为:-406

我想第二个应该至少乘以(-1)?

问题:我错过了什么吗?(-1) 系数是否足够,或者这个简单的修正还不够?

自包含代码:

%copy-pasting code from [1]
        myf = @(beta,x) beta(1)*x./(beta(2) + x);
        mymodelfun = @(beta,x) 1./(1 + exp(-myf(beta,x)));
        rng(300,'twister');
        x    = linspace(-1,1,200)';
        beta = [10;2];
        beta0=[3;3];
        mu = mymodelfun(beta,x);
        n = 50;
        z = binornd(n,mu);
        y = z./n;
%ML Approach
        mynegloglik = @(beta) -sum(log(binopdf(z,n,mymodelfun(beta,x))));
        opts = optimset('fminsearch');
        opts.MaxFunEvals = …
Run Code Online (Sandbox Code Playgroud)

matlab log-likelihood

7
推荐指数
1
解决办法
172
查看次数

标签 统计

log-likelihood ×1

matlab ×1