Answers:
对于每个,来自饱和模型的拟合概率将与y i相同,为零或一。如此处所述,饱和模型的可能性为1。因此,这样的模型的偏差将是- 2 日志(1 / 1 )= 0,在0 DF。这是来自R的示例:
y = c(1,1,1,0,0,0)
a <- factor(1:length(y))
fit <- glm(y~a,family=binomial)
summary(fit)
Deviance Residuals:
0 0 0 0 0 0
Null deviance: 8.3178e+00 on 5 degrees of freedom
Residual deviance: 2.5720e-10 on 0 degrees of freedom
> k2
[1] 1 2 3 4 5 6 1 2 3 4 5 6
Levels: 1 2 3 4 5 6
> y2
[1] 1 1 1 0 0 0 1 1 1 0 0 0
> fit3 = glm(y2 ~ k2, family = binomial)
> summary(fit3)
Null deviance: 1.6636e+01 on 11 degrees of freedom
Residual deviance: 5.1440e-10 on 6 degrees of freedom
实际上,事实证明,在R中,饱和模型取决于输入的形式,即使数据完全相同,也不是很好。特别是,在上面的示例中,有12个观测值和6个因子水平,因此饱和模型应具有6个参数,而不是12个参数。通常,饱和模型被定义为其中参数数等于模型数的模型。不同的协变量模式。我不知道为什么R代码“承认”因子k2有6个不同的水平,而饱和模型却装有12个参数。
现在,如果我们以“二项式”形式使用完全相同的数据,我们将得到正确的答案:
y_yes = 2 * c(1,1,1,0,0,0)
y_no = 2 * c(0,0,0,1,1,1)
x = factor(c(1:6))
> x
[1] 1 2 3 4 5 6
Levels: 1 2 3 4 5 6
> y_yes
[1] 2 2 2 0 0 0
> y_no
[1] 0 0 0 2 2 2
modelBinomialForm = glm(cbind(y_yes, y_no) ~ x, family=binomial)
Deviance Residuals:
[1] 0 0 0 0 0 0
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.490e+01 1.096e+05 0 1
x2 1.375e-08 1.550e+05 0 1
x3 1.355e-08 1.550e+05 0 1
x4 -4.980e+01 1.550e+05 0 1
x5 -4.980e+01 1.550e+05 0 1
x6 -4.980e+01 1.550e+05 0 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1.6636e+01 on 5 degrees of freedom
Residual deviance: 3.6749e-10 on 0 degrees of freedom
现在我们看到饱和模型有6个参数,并且与拟合模型一致。因此,零偏差为(6-1)= 5 df,残余偏差为(6-6)= 0 df。