¿El muestreo descendente cambia los coeficientes de regresión logística?


34

Si tengo un conjunto de datos con una clase positiva muy rara, y reduzco la muestra de la clase negativa, luego realizo una regresión logística, ¿necesito ajustar los coeficientes de regresión para reflejar el hecho de que cambié la prevalencia de la clase positiva?

Por ejemplo, supongamos que tengo un conjunto de datos con 4 variables: Y, A, B y C. Y, A y B son binarios, C es continuo. Para 11.100 observaciones Y = 0, y para 900 Y = 1:

set.seed(42)
n <- 12000
r <- 1/12
A <- sample(0:1, n, replace=TRUE)
B <- sample(0:1, n, replace=TRUE)
C <- rnorm(n)
Y <- ifelse(10 * A + 0.5 * B + 5 * C + rnorm(n)/10 > -5, 0, 1)

Encajo una regresión logística para predecir Y, dados A, B y C.

dat1 <- data.frame(Y, A, B, C)
mod1 <- glm(Y~., dat1, family=binomial)

Sin embargo, para ahorrar tiempo, podría eliminar 10.200 observaciones que no son Y, dando 900 Y = 0 y 900 Y = 1:

require('caret')
dat2 <- downSample(data.frame(A, B, C), factor(Y), list=FALSE)
mod2 <- glm(Class~., dat2, family=binomial)

Los coeficientes de regresión de los 2 modelos son muy similares:

> coef(summary(mod1))
              Estimate Std. Error   z value     Pr(>|z|)
(Intercept) -127.67782  20.619858 -6.191983 5.941186e-10
A           -257.20668  41.650386 -6.175373 6.600728e-10
B            -13.20966   2.231606 -5.919353 3.232109e-09
C           -127.73597  20.630541 -6.191596 5.955818e-10
> coef(summary(mod2))
              Estimate  Std. Error     z value    Pr(>|z|)
(Intercept) -167.90178   59.126511 -2.83970391 0.004515542
A           -246.59975 4059.733845 -0.06074284 0.951564016
B            -16.93093    5.861286 -2.88860377 0.003869563
C           -170.18735   59.516021 -2.85952165 0.004242805

Lo que me lleva a creer que el muestreo descendente no afectó los coeficientes. Sin embargo, este es un ejemplo único y artificial, y prefiero saberlo con certeza.


8
Dejando de lado la intersección, está estimando los mismos parámetros de población cuando realiza una muestra descendente pero con menos precisión, excepto la intersección, que puede estimar cuando conoce la prevalencia de la respuesta de la población. Ver Hosmer y Lemeshow (2000), Applied regresión logística , Ch 6.3 para una prueba. A veces se puede introducir la separación, aunque no común, como usted abajo-muestra la respuesta de la mayoría.
Scortchi - Restablecer Mónica

@Scortchi Publique su comentario como respuesta, esto parece suficiente para mi pregunta. Gracias por la referencia
Zach

@Scortchi y Zach: De acuerdo con el modelo downsampled ( mod2), Pr(>|z|)para Aes casi 1. No podemos rechazar la hipótesis nula de que el coeficiente Aes 0 por lo que hemos perdido una covariable que se utiliza en mod1. ¿No es esta una diferencia sustancial?
Zhubarb

@Zhubarb: Como señalé, podría introducir separación, haciendo que las estimaciones de error estándar de Wald sean completamente poco confiables.
Scortchi - Restablece a Monica

Ver también Scott 2006
StasK

Respuestas:


29

El muestreo descendente es equivalente a los diseños de casos y controles en las estadísticas médicas: está fijando los recuentos de respuestas y observando los patrones covariables (predictores). Quizás la referencia clave sea Prentice y Pyke (1979), "Modelos de incidencia de enfermedades logísticas y estudios de casos y controles", Biometrika , 66 , 3.

Utilizaron el Teorema de Bayes para reescribir cada término en la probabilidad de que un patrón covariable dado esté condicionado a ser un caso o control como dos factores; uno representa una regresión logística ordinaria (probabilidad de ser un caso o control condicional en un patrón covariable), y el otro representa la probabilidad marginal del patrón covariable. Demostraron que maximizando la probabilidad general sujeta a la restricción de que las probabilidades marginales de ser un caso o control son fijadas por el esquema de muestreo da las mismas estimaciones de odds ratio que maximizar el primer factor sin una restricción (es decir, llevar a cabo una regresión logística ordinaria) .

La intercepción para la población se puede estimar a partir de la intercepción de casos y controles si se conoce la prevalencia de la población :β0β^0π

β^0=β^0log(1ππn1n0)

donde y son el número de controles y casos muestreados, respectivamente.n0n1

Por supuesto, al descartar los datos que se ha tomado la molestia de recopilar, aunque la parte menos útil, está reduciendo la precisión de sus estimaciones. Las restricciones en los recursos computacionales son la única buena razón que conozco para hacer esto, pero lo menciono porque algunas personas parecen pensar que "un conjunto de datos equilibrado" es importante por alguna otra razón que nunca he podido determinar.


Gracias por la respuesta detallada. Y sí, la razón por la que estoy haciendo esto ejecutando el modelo completo (sin muestreo descendente) es computacionalmente prohibitivo.
Zach

Estimado @Scortchi, gracias por la explicación, pero en el caso de que quiera utilizar la regresión logística, el conjunto de datos equilibrado parece necesario independientemente de los recursos computacionales. Traté de usar el "logit de probabilidad penalizada reducida sesgada de Firth" sin resultado. Aparentemente, el muestreo descendente es la única alternativa para mí, ¿verdad?
Shahin

@Shahin Bueno, (1) ¿por qué no estás contento con una regresión logística ajustada por máxima probabilidad? & (2) ¿qué sale mal exactamente con el método de Firth?
Scortchi - Restablece a Monica

@Scortchi, el problema es el modelo es muy mala en la detección de successcasos. En otras palabras, muy bajo TPR. Al cambiar el umbral, los aumentos de TPR pero la precisión es muy mala, que significa que más del 70% de los casos etiquetados como positivo, son de hecho negativos. He leído que en los eventos raros, de regresión logística no hacerlo así, aquí es donde el método de Firth viene a jugar, o al menos uno de los papeles que puede tomar. Pero los resultados del método de Firth resultaron ser muy similares a logit habitual. Pensé que podría ser malo en hacer Firth, pero aparentemente todo está bien
Shahin

44
@Shahin: Parece que estás ladrando el árbol equivocado allí: el muestreo no mejorará la discriminación de tu modelo. Corrección de sesgo o regularización fuerza (en nuevos datos - se que evaluar su rendimiento en un equipo de prueba?), Pero una especificación más complejo podría quizá ayuda, o simplemente podría ser que usted necesita predictores más informativos. Probablemente debería hacer una nueva pregunta, dando detalles de los datos, el contexto del tema, el modelo, el diagnóstico y sus objetivos.
Scortchi - Restablecer Mónica
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.