Regresión logística

Esta regresión se usa para aproximar relación entre una variable continua y las variables predictoras (XY, XX). Cuando la variable a predecir es binaria el uso de una regresión lineal no es la mas apropiada. Si usamos el ejemplo de tarjetas de crédito y deseamos clasificar a un cliente como alto o abajo riesgo los balances que son cercanos a cero una regresión lineal los predice como negativos y en datasets grandes obtendremos valores mayores a 1 (lo cual no puede ser ya que buscamos un resultado binario), mientras que si hacemos uso de una regresión logística sensibilizamos las predicciones a un resultado de 0 o 1.

Requisitos para hacer uso de una regresión logista en R

·         Library(dplyr)

·         Library (ggplot2)

·         Library (rsample) (para separar la data)

·         Library (caret) uso de la regresión logística

·         Library (vip) variable importante

Regresión logística simple

Se hace uso la función glm() que se usa para calzar los modelos de regresión y se puede usar para regresión lineal o logística. Para indicarle que tipo de regresión vamos a usar debemos usar el argumento family = binomial y con esto le decimos a R que es una regresión logistica.

Para facilitar la comprensión de los resultados podemos hacer uso de la función exp()exp().

 

Regresión logística múltiple

Es una forma de extender la regresión logística simple y poder graficar diferentes líneas en el mismo cuadro, es decir, hacer uso de mas de una variable dependiente usando la misma función glm().

 

Evaluar la precisión del modelo

Lo hacemos para poder determinar cuan buenos son nuestros modelos de regresión. Hacemos uso de la función train() o caret::train() y para extraer el rendimiento lo hacemos con summary(resamples(list(nombre de los dataframes, ,)))$statistics$accuracy.

Para mejora un mas el entendimiento de los resultados podemos usar las matrices de confusión con la función caret::confusionMatrix(), pero antes le agregamos la función predict() para crear el dataframe.

El resultado con el nombre de No information Rate es una clasificación automática que el sistema nos da para comparar si nuestro modelo es mejor. Para balancear la sensibilidad y la especificidad del modelo hacemos uso de la librería ROCR (ROC curva).

Similar a una regresión lineal podemos usar un PLS logístico para evaluar reducir los predictores numéricos en busca de mejorar la certeza. En esta parte en lugar de usar glm como método cuando hicimos uso de la función train ahora usamos “pls”.

 

Interpretación de las características

Cuando tenemos nuestro modelo de regresión logista debemos interpretar como las características influencia en los resultados. Podemos hacer uso de la función vip::vip() para extraer 20 variables influyentes. Lo usamos con el dataframe que paso por la función train para aplicar métodos de clasificación determinando los valores óptimos de sus parámetros.

La relación lineal de una regresión logística ocurre en una escala de probabilidad por lo que la relación no es lineal.