Tenemos datos con un resultado binario y algunas covariables. Usé regresión logística para modelar los datos. Solo un simple análisis, nada extraordinario. Se supone que el resultado final es una curva de dosis-respuesta donde mostramos cómo cambia la probabilidad para una covariable específica. Algo como esto:
Recibimos algunas críticas de un revisor interno (no un estadístico puro) por elegir la regresión logística. La regresión logística supone (o define) que el punto de inflexión de la curva en forma de S en la escala de probabilidad tiene una probabilidad de 0,5. Argumentó que no habría ninguna razón para suponer que el punto de inflexión tenía una probabilidad de 0.5 y deberíamos elegir un modelo de regresión diferente que permita que el punto de inflexión varíe de tal manera que la posición real esté basada en datos.
Al principio, su argumento me tomó por sorpresa, ya que nunca había pensado en este punto. No tenía ningún argumento de por qué estaría justificado suponer que el punto de inflexión está en 0.5. Después de investigar un poco, todavía no tengo una respuesta a esta pregunta.
Encontré la regresión logística de 5 parámetros, para la cual el punto de inflexión es un parámetro adicional, pero parece que este modelo de regresión generalmente se usa cuando se producen curvas de dosis-respuesta con un resultado continuo. No estoy seguro de si y cómo se puede extender a las variables de respuesta binaria.
Supongo que mi pregunta principal es por qué o cuándo está bien suponer que el punto de inflexión para una regresión logística está en 0.5. ¿Incluso importa? Nunca he visto a nadie que se ajuste a un modelo de regresión logística y que explique explícitamente el asunto del punto de inflexión. ¿Existen alternativas para crear una curva de respuesta a la dosis donde el punto de inflexión no sea necesariamente de 0.5?
Solo para completar, el código R para generar la imagen de arriba:
dat <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
dat$rank <- factor(dat$rank)
logit <- glm(admit ~ gre + gpa + rank, family = binomial(link = "logit"), data = dat)
newdata <- data.frame(gre = seq(-2000,8000,1), gpa = 2.5, rank = factor(1,c(1,2,3,4)))
pp <- predict(logit, newdata, type = "response", se.fit = TRUE)
plot(newdata$gre, pp$fit, type="l", col="black", lwd=2,ylab="Probability", xlab="Dose")
Editar 1:
Solo para agregar a lo que Scortchi dijo en uno de los comentarios: El revisor realmente argumentó que biológicamente podría ser más probable que el cambio en la curvatura ocurra antes de 0.5. Por lo tanto, su resistencia contra asumir que el punto de inflexión es 0.5.
Edición 2:
Como reacción al comentario de Frank Harrell:
Como ejemplo, modifiqué mi modelo anterior para incluir un término cuadrático y un término cúbico en gre
(que es la "dosis" en este ejemplo).
logit <- glm(admit ~ gre+I(gre^2)+I(gre^3)+ gpa + rank, family = binomial(link = "logit"), data = dat)
newdata <- data.frame(admit=1, gre = seq(-2000,8000,1), gpa = 2.5, rank = factor(1,c(1,2,3,4)))
pp <- predict(logit, newdata, type = "response", se.fit = TRUE)
plot(newdata$gre, pp$fit, type="l", col="black", lwd=2,xlim=c(-2000,4000),ylab="Probability", xlab="Dose")
A pesar de que probablemente no sea significativo agregar un término cuadrático y un gre
término cúbico en este caso, vemos que la forma de la curva dosis-respuesta ha cambiado. De hecho, ahora tenemos dos puntos de inflexión a aproximadamente 0.25 y cerca de 0.7.