使用null和模型偏差测试GLM模型


11

我已经在R中建立了一个glm模型,并已经通过一个测试和培训小组对其进行了测试,因此确信它可以很好地工作。R的结果是:

Coefficients:
                            Estimate Std. Error  t value Pr(>|t|)    
(Intercept)               -2.781e+00  1.677e-02 -165.789  < 2e-16 ***
Coeff_A                    1.663e-05  5.438e-06    3.059  0.00222 ** 
log(Coeff_B)               8.925e-01  1.023e-02   87.245  < 2e-16 ***
log(Coeff_C)              -3.978e-01  7.695e-03  -51.689  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for quasibinomial family taken to be 0.9995149)

    Null deviance: 256600  on 671266  degrees of freedom
Residual deviance: 237230  on 671263  degrees of freedom
AIC: NA

系数的所有p值都比预期的小。

看着这个问题(在GLM R中解释残差和零偏差),我应该能够使用以下方程式来计算零假设是否成立:

p-value = 1 - pchisq(deviance, degrees of freedom)

坚持这给:

1 - pchisq(256600, 671266)
[1] 1

因此,即使所有系数的p值都太小,或者我误解了如何计算该假设,我都认为零假设不能在这里被拒绝是正确的吗?

Answers:


18

这里有一个误会。该差值空越轨行为和模型的偏差之间分布卡方与自由度等于空DF 减去模型的自由度。对于您的模型,将为:

1-pchisq(256600 - 237230, df=(671266 - 671263))
# [1] 0

默认情况下,在值pchisq()左侧给出分布的比例。要获得比差异更大的比例,可以指定lower.tail = FALSE结果或从减去结果(就像您和我所做的那样)。 1


2
您正在使用该陈述确切检验什么假设1-pchisq(256600 - 237230, df=(671266 - 671263))
2015年

5
@jesterII,您正在检查偏差是否变化得超出偶然的预期。即,您正在测试模型整体是否比空模型更好。它类似于线性模型中的全局F检验。
gung-恢复莫妮卡

零假设是“整个模型比零模型更好”,您已经拒绝了零假设,这意味着模型很差吗?
2015年

3
@jesterII,无零假设是:“模型作为一个整体是没有 更好的比空模型”。由于已被拒绝,因此我们得出结论,数据与null模型不一致。注意,这并不一定意味着我们的模型是“好”或“正确”的。
gung-恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.