48 votos

¿Por muestreo, a cambio de coeficientes de regresión logística?

Si tengo un conjunto de datos con una muy rara positivo de la clase, y yo abajo muestra la negativa de la clase, a continuación, realizar una regresión logística, ¿es necesario ajustar los coeficientes de regresión para reflejar el hecho de que he cambiado la prevalencia de la positiva clase?

Por ejemplo, digamos que tengo un conjunto de datos con 4 variables: Y, a, B y C. Y, a, y B son binarios, C es continua. Para 11,100 observaciones Y=0, y por 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)

I ajuste de 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 podía quitar 10,200 no Y observaciones, 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 a partir de los 2 modelos se ven 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 no afecta a los coeficientes. Sin embargo, este es un solo ejemplo inventado, y prefiero saber con certeza.

40voto

jasonmray Puntos 1303

El muestreo descendente es equivalente a los diseños de casos y controles en la estadística médica: se fijan los recuentos de las respuestas y se observan los patrones de las covariables (predictores). Quizá la referencia clave sea Prentice y Pyke (1979), "Logistic Disease Incidence Models and Case-Control Studies", Biometrika , 66 , 3.

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

El intercepto de la población $\beta_0^*$ puede estimarse a partir del intercepto caso-control $\hat{\beta}_0$ si la prevalencia de la población $\pi$ es conocido:

$$ \hat{\beta}_0^* = \hat{\beta}_0 - \log\left( \frac{1-\pi}{\pi}\cdot \frac{n_1}{n_0}\right)$$

donde $n_0$ & $n_1$ son el número de controles y casos muestreados, respectivamente.

Por supuesto, al desechar los datos que te has tomado la molestia de recoger, aunque sean los menos útiles, estás reduciendo la precisión de tus estimaciones. La única razón de peso que conozco para hacer esto es la limitación de los recursos informáticos, 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 averiguar.

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