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.
mod2
), Pr(>|z|)
para A
es casi 1. No podemos rechazar la hipótesis nula de que el coeficiente A
es 0 por lo que hemos perdido una covariable que se utiliza en mod1
. ¿No es esta una diferencia sustancial?