为什么异常返回GLMFIT不是= 2 * LogLikelihood ?

15的观点(30天)
我正在使用glmfit GLM模型。拟合模型后我需要计算LogLikelihood glmfit(不直接返回)。我看过许多来源异常(这是由glmfit返回)= 2 * LogLikelihood。然而,如果我计算LogLikelihood分别与二项分布(见下面的例子)我得到完全不同的答案。知道我做错了什么吗?我把从MATLAB文档示例数据。在glmfit
x = (2100 2300 2500 2700 2900 3100 3300 3500 3700 3900 4100 4300) ';
n =[48 42 31 34 31日21日23日23日21日16 17 21)';
y =[1 2 0 3 8 8 14 17日19日15日17日21日)';
[b, dev,统计]= glmfit (x, y [n],“二”);
yfit = glmval (b, x,分对数的,“大小”n);
dev / 2
logLikelihood = nansum(日志(binopdf (y, n, yfit)))

接受的答案

汤姆巷
汤姆巷 2012年3月6日
两件事。首先,最后一个参数binopdf应该合身的概率,而不是数量。第二,异常定义对于一个“完整”的模式,有一个单独的拟合值为每一个观察。所以- dev / 2繁殖这个值:
总和(日志(binopdf (y, n, yfit. / n)))——总和(日志(binopdf (n y, y / n)))
如果你需要对数似然值,计算的方法是不错的,一旦你正确binopdf输入。
2的评论
大卫·尼尔森
大卫·尼尔森 2017年3月4日
这不是 日志的可能性 的比例,即日志拟合模型和饱和模型的可能性?

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!