Importancia del predictor categórico en la regresión logística


19

Tengo problemas para interpretar los valores z de las variables categóricas en la regresión logística. En el siguiente ejemplo, tengo una variable categórica con 3 clases y, de acuerdo con el valor z, CLASS2 podría ser relevante mientras que las demás no lo son.

Pero ahora, ¿qué significa esto?

¿Que podría fusionar las otras clases en una?
¿Que toda la variable podría no ser un buen predictor?

Esto es solo un ejemplo y los valores reales de z aquí no provienen de un problema real, solo tengo dificultades con su interpretación.

           Estimate    Std. Error  z value Pr(>|z|)    
CLASS0     6.069e-02  1.564e-01   0.388   0.6979    
CLASS1     1.734e-01  2.630e-01   0.659   0.5098    
CLASS2     1.597e+00  6.354e-01   2.514   0.0119 *  

Respuestas:


47

La siguiente explicación no se limita a la regresión logística, sino que se aplica igualmente en la regresión lineal normal y otros GLM. Por lo general, Rexcluye un nivel de lo categórico y los coeficientes denotan la diferencia de cada clase con esta clase de referencia (o a veces llamada clase de referencia) (esto se denomina codificación ficticia o contrastes de tratamiento R, consulte aquí para obtener una excelente descripción de las diferentes opciones de contraste ) Para ver los contrastes actuales R, escriba options("contrasts"). Normalmente, Rordena los niveles de la variable categórica alfabéticamente y toma el primero como clase de referencia. Esto no siempre es óptimo y se puede cambiar escribiendo (aquí, estableceríamos la clase de referencia en "c" en la nueva variable)new.variable <- relevel(old.variable, ref="c"). Para cada coeficiente de cada nivel de la variable categórica, se realiza una prueba de Wald para probar si la diferencia por pares entre el coeficiente de la clase de referencia y la otra clase es diferente de cero o no. Esto es lo que son los valores y en la tabla de regresión. Si solo una clase categórica es significativa, esto no implica que toda la variable no tenga sentido y deba eliminarse del modelo. Puede comprobar el efecto global de la variable mediante la realización de una prueba de razón de verosimilitud : fit dos modelos, una con y otra sin la variable y el tipo en (ver ejemplo a continuación). Aquí hay un ejemplo:zpanova(model1, model2, test="LRT")R

mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")

mydata$rank <- factor(mydata$rank)

my.mod <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")

summary(my.mod)

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -3.989979   1.139951  -3.500 0.000465 ***
gre          0.002264   0.001094   2.070 0.038465 *  
gpa          0.804038   0.331819   2.423 0.015388 *  
rank2       -0.675443   0.316490  -2.134 0.032829 *  
rank3       -1.340204   0.345306  -3.881 0.000104 ***
rank4       -1.551464   0.417832  -3.713 0.000205 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

El nivel rank1se ha omitido y cada coeficiente de rankdenota la diferencia entre el coeficiente de rank1y el ranknivel correspondiente . Entonces, la diferencia entre el coeficiente de rank1y rank2sería . El coeficiente de es simplemente la intersección. Entonces el verdadero coeficiente de sería . Las pruebas de Wald aquí prueban si la diferencia entre el coeficiente de la clase de referencia (aquí ) y los niveles correspondientes difieren de cero. En este caso, tenemos evidencia de que los coeficientes de todas las clases difieren del coeficiente de . También puede ajustar el modelo sin interceptar agregando0.675- 3.99 - 0.675 = - 4.67rank1rank23.990.675=4.67rank1rank1- 1 a la fórmula del modelo para ver todos los coeficientes directamente:

my.mod2 <- glm(admit ~ gre + gpa + rank - 1, data = mydata, family = "binomial")

summary(my.mod2) # no intercept model

Coefficients:
       Estimate Std. Error z value Pr(>|z|)    
gre    0.002264   0.001094   2.070 0.038465 *  
gpa    0.804038   0.331819   2.423 0.015388 *  
rank1 -3.989979   1.139951  -3.500 0.000465 ***
rank2 -4.665422   1.109370  -4.205 2.61e-05 ***
rank3 -5.330183   1.149538  -4.637 3.54e-06 ***
rank4 -5.541443   1.138072  -4.869 1.12e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Tenga en cuenta que la intersección ya no existe y que el coeficiente de rank1es exactamente la intersección del primer modelo. Aquí, la prueba de Wald verifica no la diferencia por pares entre los coeficientes, sino la hipótesis de que cada coeficiente individual es cero. Nuevamente, tenemos evidencia de que cada coeficiente de rankdifiere de cero. Finalmente, para verificar si la variable completa rankmejora el ajuste del modelo, ajustamos un modelo con ( my.mod1) y uno sin la variable rank( my.mod2) y realizamos una prueba de razón de probabilidad. Esto prueba la hipótesis de que todos los coeficientes de rankson cero:

my.mod1 <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial") # with rank
my.mod2 <- glm(admit ~ gre + gpa, data = mydata, family = "binomial") # without rank

anova(my.mod1, my.mod2, test="LRT")

Analysis of Deviance Table

Model 1: admit ~ gre + gpa + rank
Model 2: admit ~ gre + gpa
  Resid. Df Resid. Dev Df Deviance  Pr(>Chi)    
1       394     458.52                          
2       397     480.34 -3  -21.826 7.088e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

La prueba de razón de probabilidad es altamente significativa y concluiríamos que la variable rankdebe permanecer en el modelo.

Esta publicación también es muy interesante.


Respuesta muy informativa! Una pregunta rápida: ¿qué pasa si solo tenemos el rango como predictor? Para realizar la prueba LRT, el nulo sería admit ~ 1vs admit ~ rank - 1?
NULL

1
@NULL Sí, ya sea nulo vs. admit~ranko admit~rank - 1, son equivalentes con respecto al ajuste.
COOLSerdash

¡Muchas gracias! Otra pregunta rápida: cuando estoy interesado en la realización de una cola de Wald de coeficientes de la variable categórica (sin comparar con el valor basal - me refiero a ninguna intercepción), tendría el efecto de otros predictores como grey gpase ve afectada por esta falta de inclusión de intercepción?
NULL

En otras palabras, si quiero realizar una prueba de una cola en los coeficientes del predictor categórico mientras controlo otras covariables, ¿es este el camino a seguir? ¿Y esto también sería aplicable a la regresión lineal?
NULL

1
@NULL La prueba de razón de probabilidad prueba la hipótesis conjunta, de que todos los coeficientes de rankson cero. Si desea realizar Wald-pruebas individuales en cada uno de los coeficientes de rank, se puede ajustar el modelo sin intercepción y observe el -valores. Para pruebas unilaterales, vea esta publicación aquí . Y sí, todo lo anterior se aplica también a la regresión lineal, como se indica al comienzo de la respuesta. p
COOLSerdash

8

El valor es solo el estadístico de prueba para una prueba estadística, por lo que si tiene problemas para interpretarlo, su primer paso es averiguar cuál es la hipótesis nula. La hipótesis nula para la prueba de CLASS0 es que su coeficiente es 0. El coeficiente de CLASS0 es la diferencia en log (odds) entre CLASS0 y la clase de referencia (CLASS3?) Es cero, o equivalente, que la razón de las probabilidades para CLASS0 y la clase de referencia es 1. En otras palabras, no hay diferencia en las probabilidades de éxito entre CLASS0 y la clase de referencia.z

Entonces, ¿un coeficiente no significativo significa que puede fusionar categorías? No. Primero, no significativo significa que no podemos rechazar la hipótesis de que no hay diferencia, pero eso no significa que no existan tales diferencias. La ausencia de evidencia no es lo mismo que la evidencia de ausencia. En segundo lugar, la fusión de categorías, especialmente la categoría de referencia, cambia la interpretación de todos los demás coeficientes. Si eso tiene sentido o no depende de lo que representan esas diferentes clases.

¿Significa eso que toda la variable categórica es un predictor "malo" (no significativo)? No, para eso necesitaría realizar una prueba simultánea para todos los términos de CLASE.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.