You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GLM的模型偏差手动计算对数似然值

GLM偏差与对数似然的关系说明

换算关系的成立条件

你课程中学到的似然比检验公式完全正确,而对数似然值 = deviance / -2的说法并非普适的绝对换算公式,仅在计算两个模型的对数似然差值、或假设饱和模型对数似然为0的相对计算场景下成立,背后原理来自GLM偏差的标准定义:

GLM的残差偏差(即R的glm()输出中给出的Residual Deviance项) 定义为:
$D = -2 \times [\ln L(\hat{\beta}) - \ln L(S)]$
其中:

  • $\ln L(\hat{\beta})$为当前拟合模型的最大对数似然值
  • $\ln L(S)$为饱和模型(参数数量等于观测数、可完美拟合所有观测的模型)的最大对数似然值

将公式移项即可得到当前模型的对数似然:
$\ln L(\hat{\beta}) = \ln L(S) - \frac{D}{2}$
如果直接套用$\ln L(\hat{\beta}) = D/-2$,本质是把饱和模型的对数似然$\ln L(S)$默认取0做相对换算,得到的不是模型的真实绝对对数似然值。

似然比检验偏差差公式的原理

全局显著性检验中,似然比统计量等于两个模型偏差的差值,核心原因是两个待比较模型的饱和模型完全相同,$\ln L(S)$在做差时直接抵消:

  • 记截距-only模型(H0对应模型)的残差偏差为$D_0$,对数似然为$\ln L(M_0)$
  • 记带自变量的完整模型(H1对应模型)的残差偏差为$D_1$,对数似然为$\ln L(M_1)$

代入偏差定义做差可得:
$D_0 - D_1 = [-2(\ln L(M_0) - \ln L(S))] - [-2(\ln L(M_1) - \ln L(S))] = -2 \times [\ln L(M_0) - \ln L(M_1)] = -2 \ln \frac{L(M_0)}{L(M_1)}$
和你课程中学到的似然比统计量公式完全一致,所以该换算关系在模型比较场景下100%成立,不需要考虑饱和模型的对数似然取值。

仅靠提供的GLM输出获取对数似然的方法

  • 若需要绝对对数似然值:仅靠默认glm()输出的残差偏差、零偏差等信息无法计算,因为缺少饱和模型的对数似然项,必须通过logLik(model)直接调取。
  • 若需要两个模型的对数似然差值:直接将两个模型的残差偏差做差后除以-2即可,不需要额外参数。

内容的提问来源于stack exchange,提问作者Theo75

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:45:00