yiyi1−2log(1/1)=00
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
nn(n−1)
> 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
En realidad, resulta que en R cuál es el modelo saturado depende de la forma de entrada, incluso si los datos son exactamente los mismos, lo que no es muy bueno. En particular, en el ejemplo anterior hay 12 observaciones y 6 niveles de factores, por lo que el modelo saturado debería haber tenido 6 parámetros, no 12. En general, un modelo saturado se define como uno donde el número de parámetros es igual al número de Distintos patrones covariables. No tengo idea de por qué el código R "admitió" que el factor k2 tiene 6 niveles distintos, y sin embargo, el modelo saturado estaba equipado con 12 parámetros.
Ahora, si usamos exactamente los mismos datos en forma "binomial", obtendremos una respuesta correcta:
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
Ahora vemos que el modelo saturado tiene 6 parámetros y coincide con el modelo ajustado. Por lo tanto, la desviación nula está activada (6 - 1) = 5 df, y la desviación residual está activada (6-6) = 0 df.