这是我之前发布的问题的更新。我正在寻找关于使用偏差和对数似然比测试比较 glm 模型的说明(我已经更新了我的问题以使其更清晰)。我正在与 R 合作。
我将首先使用一个逻辑回归的例子来说明我的困惑。
据我了解,可以通过比较偏差来比较逻辑回归模型。偏差由 -2xlog-likelihood (-2LL) 定义。在大多数情况下,对数似然的值为负数,因此乘以 -2 将给出正偏差。模型的偏差可以通过两种方式获得。首先,您可以使用模型摘要中“残余偏差”下列出的值。其次,您可以通过执行“logLik(model)”然后乘以-2来获得对数似然。无论哪种方式都会给你相同的价值。例如(取自 Field et al 2012 的 Discovering Statistics using R):
> summary(eel1)
Call:
glm(formula = Cured ~ Intervention, family = binomial(),
data = eel)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.5940 -1.0579 0.8118 0.8118 1.3018
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.2877 0.2700 -1.065 0.28671
InterventionIntervention 1.2287 0.3998 3.074 0.00212 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 154.08 on 112 degrees of freedom
Residual deviance: 144.16 on 111 degrees of freedom
AIC: 148.16
Number of Fisher Scoring iterations: 4
> logLik(eel1)
'log Lik.' -72.0789 (df=2)
> -2*logLik(eel1)
'log Lik.' 144.1578 (df=2)
比较两个模型时,偏差越低的模型越好。为了确定偏差的差异是否显着,您可以通过偏差的差异来给出一个 χ2 值(即 χ2 = (-2LL1)-(-2LL2))以及相关的 p 值。
现在进入令人困惑的部分(至少对我而言)。我现在已经开始使用似然比检验对负二项式 (NB) 模型进行模型比较,据我所知,这些检验与比较逻辑回归模型中的偏差非常相似。为了比较两个 NB 模型,我再次比较了 -2xlog-likelihood (-2LL) 的值。为了获得-2LL,我一直使用logLik(model) 来获得每个模型的对数似然,然后乘以-2 以获得-2LL。同样,在大多数情况下,对数似然为负,因此将其乘以 -2 会使 -2LL 为正(示例取自此处):
> summary(m1)
Call:
glm.nb(formula = daysabs ~ math + prog, data = dat,
init.theta = 1.032713156,
link = log)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1547 -1.0192 -0.3694 0.2285 2.5273
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.615265 0.197460 13.245 < 2e-16 ***
math -0.005993 0.002505 -2.392 0.0167 *
progAcademic -0.440760 0.182610 -2.414 0.0158 *
progVocational -1.278651 0.200720 -6.370 1.89e-10 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for Negative Binomial(1.0327) family taken to be 1)
Null deviance: 427.54 on 313 degrees of freedom
Residual deviance: 358.52 on 310 degrees of freedom
AIC: 1741.3
Number of Fisher Scoring iterations: 1
Theta: 1.033
Std. Err.: 0.106
2 x log-likelihood: -1731.258
> logLik(m1)
'log Lik.' -865.6289 (df=5)
> -2*logLik(m1)
'log Lik.' 1731.258 (df=5)
然而,这一次,-2LL 的值不等于模型摘要中的“残余偏差”。所以我的第一个问题是为什么在上面的逻辑回归模型中,-2LL 和残差是相等的,但是在 NB 模型中不是这样?
然后比较两个负二项式模型,我计算出两个模型的 -2LL 之间的差异,它具有 chi sq 分布。如果 -2LL 差异的相关 p 值小于 0.05,则一个模型比另一个模型更适合数据。例如:
> m1=glm.nb(daysabs~math+prog, data=dat)
> m2=glm.nb(daysabs~math, data=dat)
> logLik(m1)
'log Lik.' -865.6289 (df=5)
> logLik(m2)
'log Lik.' -888.1529 (df=3)
> -2*logLik(m1)
'log Lik.' 1731.258 (df=5)
> -2*logLik(m2)
'log Lik.' 1776.306 (df=3)
> chisq=(-2*logLik(m2))-(-2*logLik(m1))
> chisq
'log Lik.' 45.04798 (df=3)
> pchisq(chisq, df = 2, lower.tail=FALSE)
'log Lik.' 1.65179e-10 (df=3)
我的下一个问题是,基于两个 NB 模型的 -2LL 值,哪个模型是更好的拟合模型?我假设 -2LL 值类似于逻辑回归中的偏差,因为 -2LL 值较小的模型是更好的拟合模型(即 m1)。我的假设正确吗?还是具有更多参数的模型总是更好地拟合数据,这只是它是否明显更好的问题?
此外,如果您使用 anova(m1,m2) 函数比较两个 NB 模型,则 -2LL 被计算为 2xloglikelhood,而不是 -2xlog-likelihood,它给出负值。在这种情况下,哪个模型是更好的拟合模型?(我再次假设 -2xlog-likelihood 值较低的模型是更好的拟合模型)
Likelihood ratio tests of Negative Binomial Models
Response: daysabs
Model theta Resid. df 2 x log-lik. Test df LR stat. Pr(Chi)
1 math 0.8558565 312 -1776.306
2 math + prog 1.0327132 310 -1731.258 1 vs 2 2 45.04798 1.65179e-10
任何澄清都非常感谢。我意识到简历上有类似的帖子,但是这些其他帖子仍然没有澄清我的问题。