U1A12

HextorZapata

5/10/2020

Regresión logística

En estadística, la regresión logística es un tipo de análisis de regresión utilizado para predecir el resultado de una variable categórica (una variable que puede adoptar un número limitado de categorías) en función de las variables independientes o predictoras. Es útil para modelar la probabilidad de un evento ocurriendo como función de otros factores. El análisis de regresión logística se enmarca en el conjunto de Modelos Lineales Generalizados (GLM por sus siglas en inglés) que usa como función de enlace la función logit. Las probabilidades que describen el posible resultado de un único ensayo se modelan, como una función de variables explicativas, utilizando una función logística.

La Regresión Logística Simple, desarrollada por David Cox en 1958, es un método de regresión que permite estimar la probabilidad de una variable cualitativa binaria en función de una variable cuantitativa. Una de las principales aplicaciones de la regresión logística es la de clasificación binaria, en el que las observaciones se clasifican en un grupo u otro dependiendo del valor que tome la variable empleada como predictor. Por ejemplo, clasificar a un individuo desconocido como hombre o mujer en función del tamaño de la mandíbula.

Es importante tener en cuenta que, aunque la regresión logística permite clasificar, se trata de un modelo de regresión que modela el logaritmo de la probabilidad de pertenecer a cada grupo. La asignación final se hace en función de las probabilidades predichas.

La existencia de una relación significativa entre una variable cualitativa con dos niveles y una variable continua se puede estudiar mediante otros test estadísticos tales como t-test o ANOVA (un ANOVA de dos grupos es equivalente al t-test). Sin embargo, la regresión logística permite además calcular la probabilidad de que la variable dependiente pertenezca a cada una de las dos categorías en función del valor que adquiera la variable independiente. Supóngase que se quiere estudiar la relación entre los niveles de colesterol y los ataques de corazón. Para ello, se mide el colesterol de un grupo de personas y durante los siguientes 20 años se monitoriza que individuos han sufrido un ataque. Un t-test entre los niveles de colesterol de las personas que han sufrido ataque vs las que no lo han sufrido permitiría contrastar la hipótesis de que el colesterol y los ataques al corazón están asociados. Si además se desea conocer la probabilidad de que una persona con un determinado nivel de colesterol sufra un infarto en los próximos 20 años, o poder conocer cuánto tiene que reducir el colesterol un paciente para no superar un 50% de probabilidad de padecer un infarto en los próximos 20 años, se tiene que recurrir a la regresión logística.

¿Por qué regresión logística y no lineal?

  • Si una variable cualitativa con dos niveles se codifica como 1 y 0, matemáticamente es posible ajustar un modelo de regresión lineal por mínimos cuadrados:

\[ y = \beta_0 + \beta_1 x\]

El problema de esta aproximación es que, al tratarse de una recta, para valores extremos del predictor, se obtienen valores de Y menores que 0 o mayores que 1, lo que entra en contradicción con el hecho de que las probabilidades siempre están dentro del rango [0,1].

Caso de estudio: fallo del transbordador challanger en 1986

Accidente del Challenger

En 1986, el transbordador espacial Challenger tuvo un accidente catastrófico debido a un incendio en una de las piezas de sus propulsores. Era la vez 25 en que se lanzaba un transbordador espacial. En todas las ocasiones anteriores se habían inspeccionado los propulsores de las naves, y en algunas de ellas se habían encontrando defectos. El fichero challenger contiene 23 observaciones de las siguientes variables: defecto, que toma los valores 1 y 0 en función de si se encontraron defectos o no en los propulsores; y temp, la temperatura (en grados Fahrenheit) en el momento del lanzamiento.

Primero leemos los datos y contamos las frecuencias de casos sin y con defectos:

challenger <- read.table("http://verso.mat.uam.es/~joser.berrendero/datos/challenger.txt", header=TRUE)
table(challenger$defecto)
## 
##  0  1 
## 16  7

Una representación gráfica de los datos, puede obtenerse mediante:

colores <- NULL
colores[challenger$defecto==0] <- "green"
colores[challenger$defecto==1] <- "red"
plot(challenger$temp, challenger$defecto, pch =21, bg= colores, xlab = "Temperatura",ylab = "Probabilidad de defectos")

legend("bottomleft", c("No defecto", "Si defecto"),pch =21, col=c("green","red") )

Parece razonable, a la vista de los datos, pensar que la temperatura puede influir en la probabilidad de que los propulsores tengan defectos. En esta práctica, vamos a ajustar un modelo de regresión logística para estudiar la posible relación. Para ajustar el modelo se usa el comando glm (para modelos lineales generalizados) indicando que la respuesta es binomial mediante el argumento family:

reg <- glm(defecto ~ temp, data = challenger, family=binomial)
summary(reg)
## 
## Call:
## glm(formula = defecto ~ temp, family = binomial, data = challenger)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.0611  -0.7613  -0.3783   0.4524   2.2175  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)  
## (Intercept)  15.0429     7.3786   2.039   0.0415 *
## temp         -0.2322     0.1082  -2.145   0.0320 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28.267  on 22  degrees of freedom
## Residual deviance: 20.315  on 21  degrees of freedom
## AIC: 24.315
## 
## Number of Fisher Scoring iterations: 5
  • El modelo de regresión logística, la raíz de las desviaciones representa el papel de los residuos:

\[D_i = \mp \sqrt{-2 [Y_i\log \hat p_i + (1-Y_i)\log(1-\hat p_i)]}, \]

Donde el signo coincide con el signo de \(Y_i - \hat p_i\) en la salida anterior estas cantidades se denominan “deviance residuals”

para calcular estos pseudo-residuos, podemos ejecutar res = resid(reg).

Para representar gráficamente la función logística estimada, calculamos las probabilidades de fallo estimadas (usando el comando predict) para un vector adecuado de nuevas temperaturas (entre 50 y 85 grados):

datos <- data.frame(temp=seq(50,85, 0.1))
probabilidades <- predict(reg, datos, type="response")
plot(challenger$temp,challenger$defecto,pch=21, bg=colores, xlab="Temperatura", ylab="Probabilidad de defectos")
legend("bottomleft", c("No defecto", "Si defecto"),pch =21, col=c("green","red") )
lines(datos$temp, probabilidades, col="blue", lwd=2)

Cuestiones

  1. ¿Se puede afirmar a nivel α=0.05 que la temperatura influye en la probabilidad de que los propulsores tengan defectos? ¿Y a nivel α=0.01? Usa el test de Wald.

Que es el test de wald? La prueba de Wald es una prueba estadística paramétrica nombrada así en honor del estadístico Abraham Wald. Cada vez que hay una relación dentro o entre los datos se puede expresar un modelo estadístico con los parámetros a ser estimados a partir de una muestra. La prueba de Wald se utiliza para poner a prueba el verdadero valor del parámetro basado en la estimación de la muestra.

wald <- (-0.2322-0.05)/0.1082
wald
## [1] -2.608133
  1. Interpreta el valor del coeficiente estimado para la variable temperatura: β^1=−0.2322. Esto representa la desviacion estandar, podemos observar que no es tan alta y por ende es facil deducir el riesgo de que la temperatura afecta es muy baja

  2. ¿Para qué valores de la temperatura la probabilidad estimada de que se produzcan defectos es menor que 0.1? podemos observar que el rango el cual es mas alejado de un error es de 70 a 80.

  3. ¿Para qué valores de la temperatura se predice que se van a producir defectos? podemos observar que el margen de error se poduce entre los 50 y 68 grados.

Conclusion

La regresion logistica es una herramienta sumamente potente a la hora de relacionar valores y predecir errores, esto es una relacion binaria por lo que siempre se pude obtener el caso A o el caso B o en terminos mas coloquiales es True, o False, gracias a la regresion logistica logramos entender el porque de este grabe error, el porque de esta catastrofe y como esta herramienta nos poermite modelar este tipo de problematicas.