9 votos

Prueba modelo de regresión logística con los restos de la desviación y los grados de libertad

Estaba leyendo esta página en Princeton.edu. Se está realizando una regresión logística (con R). En algún momento de calcular la probabilidad de obtener un residual de la desviación mayor que el que tienen en un $\chi^2$ distribución con grados de libertad igual a los grados de libertad del modelo. Copiar-pegar desde su sitio web...

> glm( cbind(using,notUsing) ~ age + hiEduc + noMore, family=binomial)

Call:  glm(formula = cbind(using, notUsing) ~ age + hiEduc + noMore,      
     family = binomial) 

Coefficients:
(Intercept)     age25-29     age30-39     age40-49       hiEduc       noMore  
    -1.9662       0.3894       0.9086       1.1892       0.3250       0.8330  

Degrees of Freedom: 15 Total (i.e. Null);  10 Residual
Null Deviance:      165.8 
Residual Deviance: 29.92        AIC: 113.4 

El residual de la desviación de 29.92 en 10 d.f. es muy significativo:

> 1-pchisq(29.92,10)
[1] 0.0008828339

necesitamos un mejor modelo


¿Por qué tiene sentido para calcular 1-pchisq(29.92,10) , y por qué es baja la probabilidad indican que algo va mal con su modelo?

8voto

francium87d Puntos 38

Están utilizando una desviación de la prueba se muestra a continuación: $$ D(y) = -2\ell(\hat\beta;y) + 2\ell(\hat\theta^{(s)};y) $$

Aquí el $\hat β$ representa el modelo ajustado de interés y $\hatθ(s)$ representa el modelo saturado. La log-verosimilitud para el modelo saturado (más a menudo que no) $0$, por lo tanto se queda con el residual de la desviación del modelo ajustado ($29.92$). Esta desviación de la prueba es de aproximadamente de chi-cuadrado con grados de libertad $n-p$ ($n$ siendo las observaciones y $p$ el número de variables de módulos). Ha $n=16$$p=6$, por lo que la prueba será de aproximadamente $\chi^2_{10}$. La nula de la prueba es que el modelo ajustado se ajusta bien los datos y no hay ningún desubicado—que no se ha perdido ninguna de las fuentes de variación. En la prueba anterior se rechaza la nula y, como resultado, se han perdido de algo en el modelo ajustado. La razón para el uso de esta prueba es que se satura el modelo que se adapte a los datos perfectamente así que, si en el caso de que usted no rechazar la nula entre el modelo ajustado y el modelo saturado, indica que no se ha perdido grandes fuentes de variación de los datos en el modelo.

3voto

Sean Hanley Puntos 2428

A tu pregunta, como se dijo, ha sido contestada por @francium87d. La comparación de los residuales de la desviación en contra de la adecuada distribución chi-squared constituye prueba el modelo ajustado contra el modelo saturado y muestra, en este caso, una importante falta de ajuste.


Aún así, podría ayudar a buscar más a fondo en los datos y el modelo para comprender mejor lo que significa que el modelo tiene una falta de ajuste:

d = read.table(text=" age education wantsMore notUsing using 
   <25       low       yes       53     6
   <25       low        no       10     4
   <25      high       yes      212    52
   <25      high        no       50    10
 25-29       low       yes       60    14
 25-29       low        no       19    10
 25-29      high       yes      155    54
 25-29      high        no       65    27
 30-39       low       yes      112    33
 30-39       low        no       77    80
 30-39      high       yes      118    46
 30-39      high        no       68    78
 40-49       low       yes       35     6
 40-49       low        no       46    48
 40-49      high       yes        8     8
 40-49      high        no       12    31", header=TRUE, stringsAsFactors=FALSE)
d = d[order(d[,3],d[,2]), c(3,2,1,5,4)]

library(binom)
d$proportion = with(d, using/(using+notUsing))
d$sum        = with(d, using+notUsing)
bCI          = binom.confint(x=d$using, n=d$sum, methods="exact")

m     = glm(cbind(using,notUsing)~age+education+wantsMore, d, family=binomial)
preds = predict(m, new.data=d[,1:3], type="response")

windows()
  par(mar=c(5, 8, 4, 2))
  bp = barplot(d$proportion, horiz=T, xlim=c(0,1), xlab="proportion",
               main="Birth control usage")
  box()
  axis(side=2, at=bp, labels=paste(d[,1], d[,2], d[,3]), las=1)
  arrows(y0=bp, x0=bCI[,5], x1=bCI[,6], code=3, angle=90, length=.05)
  points(x=preds, y=bp, pch=15, col="red")

enter image description here

La figura representa gráficamente la proporción observada de las mujeres en cada grupo de categorías que utiliza el control de la natalidad, junto con la posición exacta del 95% de intervalo de confianza. El modelo predijo proporciones se muestran en rojo. Podemos ver que dos predicho proporciones están fuera de el 95% de la Cei, y de la antera, cinco están en, o muy cerca de los límites de los respectivos países de Cei. Que siete de los dieciséis años ($44\%$) que están fuera del objetivo. Así que las predicciones del modelo no coinciden con los datos observados muy bien.

¿Cómo podría el modelo de mejor ajuste? Tal vez no son las interacciones entre las variables que son relevantes. Vamos a agregar todas las interacciones de dos y evaluar el ajuste:

m2 = glm(cbind(using,notUsing)~(age+education+wantsMore)^2, d, family=binomial)
summary(m2)
# ...
#     Null deviance: 165.7724  on 15  degrees of freedom
# Residual deviance:   2.4415  on  3  degrees of freedom
# AIC: 99.949
# 
# Number of Fisher Scoring iterations: 4
1-pchisq(2.4415, df=3)  # [1] 0.4859562
drop1(m2, test="LRT")
# Single term deletions
# 
# Model:
# cbind(using, notUsing) ~ (age + education + wantsMore)^2
#                     Df Deviance     AIC     LRT Pr(>Chi)  
# <none>                   2.4415  99.949                   
# age:education        3  10.8240 102.332  8.3826  0.03873 *
# age:wantsMore        3  13.7639 105.272 11.3224  0.01010 *
# education:wantsMore  1   5.7983 101.306  3.3568  0.06693 .

El valor de p para la falta de prueba de ajuste para este modelo es ahora $0.486$. Pero, ¿realmente necesitamos todos los términos de interacción? El drop1() comando muestra los resultados del modelo anidado pruebas sin ellos. La interacción entre education y wantsMore no es muy significativo, pero quiero estar bien con ella en el modelo de todos modos. Así que vamos a ver cómo las predicciones de este modelo de comparar a los datos:

enter image description here

Estos no son perfectas, pero no debemos asumir que las proporciones observadas son un reflejo perfecto de la verdadera generadora de datos de proceso. Estos a mí me parece que están rebotando alrededor de la cantidad apropiada (más correctamente que los datos están rebotando alrededor de las predicciones, supongo).

2voto

dan90266 Puntos 609

No creo que el residuo de la desviación estadística tiene un $\chi^2$ distribución. Creo que es un degenerado de distribución porque asintótica en la teoría no se aplica cuando los grados de libertad aumenta a la misma velocidad que el tamaño de la muestra. En cualquier caso dudo que la prueba tiene la potencia suficiente, y alentar a los dirigidos pruebas, tales como las pruebas de linealidad mediante splines de regresión y pruebas de interacción.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X