simple regresion modelo logistica lineal estadistica ejemplos definicion coeficiente r statistics glm confidence-interval

regresion - Intervalos de confianza para predicciones de regresión logística



regresion lineal simple estadistica (1)

La forma habitual es calcular un intervalo de confianza en la escala del predictor lineal, donde las cosas serán más normales (gaussianas) y luego aplicar el inverso de la función de enlace para mapear el intervalo de confianza de la escala del predictor lineal a la escala de respuesta.

Para hacer esto necesitas dos cosas;

  1. llamar a predict() con type = "link" , y
  2. llamar a predict() con se.fit = TRUE .

El primero produce predicciones en la escala del predictor lineal, el segundo devuelve los errores estándar de las predicciones. En pseudo código

## foo <- mtcars[,c("mpg","vs")]; names(foo) <- c("x","y") ## Working example data mod <- glm(y ~ x, data = foo, family = binomial) preddata <- with(foo, data.frame(x = seq(min(x), max(x), length = 100))) preds <- predict(mod, newdata = preddata, type = "link", se.fit = TRUE)

preds es entonces una lista con los componentes fit y se.fit .

El intervalo de confianza en el predictor lineal es entonces

critval <- 1.96 ## approx 95% CI upr <- preds$fit + (critval * preds$se.fit) lwr <- preds$fit - (critval * preds$se.fit) fit <- preds$fit

critval se elige de una distribución t o z (normal) según sea necesario (no recuerdo exactamente ahora qué tipo de GLM y cuáles son sus propiedades) con la cobertura requerida. El 1.96 es el valor de la distribución de Gauss que proporciona una cobertura del 95%:

> qnorm(0.975) ## 0.975 as this is upper tail, 2.5% also in lower tail [1] 1.959964

Ahora para fit , upr e lwr necesitamos aplicarles el inverso de la función de enlace.

fit2 <- mod$family$linkinv(fit) upr2 <- mod$family$linkinv(upr) lwr2 <- mod$family$linkinv(lwr)

Ahora puedes trazar los tres y los datos.

preddata$lwr <- lwr2 preddata$upr <- upr2 ggplot(data=foo, mapping=aes(x=x,y=y)) + geom_point() + stat_smooth(method="glm", method.args=list(family=binomial)) + geom_line(data=preddata, mapping=aes(x=x, y=upr), col="red") + geom_line(data=preddata, mapping=aes(x=x, y=lwr), col="red")

En R predict.lm calcula las predicciones basadas en los resultados de la regresión lineal y también ofrece calcular los intervalos de confianza para estas predicciones. De acuerdo con el manual, estos intervalos se basan en la varianza del error de ajuste, pero no en los intervalos de error del coeficiente.

Por otro lado, predict.glm, que calcula las predicciones basadas en la regresión logística y de Poisson (entre algunas otras), no tiene una opción para los intervalos de confianza. E incluso me cuesta imaginar cómo se podrían calcular dichos intervalos de confianza para proporcionar una visión significativa para Poisson y la regresión logística.

¿Hay casos en que sea significativo proporcionar intervalos de confianza para tales predicciones? ¿Cómo pueden ser interpretados? ¿Y cuáles son las suposiciones en estos casos?