Por qué necesitas la regresión logística

Introducción a la regresión en R

Richie Cotton

Data Evangelist at DataCamp

Conjunto de datos de abandono bancario

has_churned time_since_first_purchase time_since_last_purchase
0 0.3993247 -0.5158691
1 -0.4297957 0.6780654
0 3.7383122 0.4082544
0 0.6032289 -0.6990435
... ... ...
response longitud de la relación recencia de actividad
1 https://www.rdocumentation.org/packages/bayesQR/topics/Churn
Introducción a la regresión en R

Abandono vs. recencia: modelo lineal

mdl_churn_vs_recency_lm <- lm(has_churned ~ time_since_last_purchase, data = churn)
Call:
lm(formula = has_churned ~ time_since_last_purchase, data = churn)

Coefficients:
             (Intercept)  time_since_last_purchase  
                 0.49078                   0.06378 
coeffs <- coefficients(mdl_churn_vs_recency_lm)
intercept <- coeffs[1]
slope <- coeffs[2]
Introducción a la regresión en R

Visualizar el modelo lineal

ggplot(
  churn, 
  aes(time_since_last_purchase, has_churned)
) +
  geom_point() +
  geom_abline(intercept = intercept, slope = slope)

Las predicciones son probabilidades de abandono, no cantidades de abandono.

Un diagrama de dispersión de si el cliente abandonó frente al tiempo desde la última compra. Todos los puntos están en y igual a 0 o y igual a 1. Una tendencia lineal muestra que la probabilidad de abandono aumenta con el tiempo desde la última compra.

Introducción a la regresión en R

Alejar zoom

ggplot(
  churn, 
  aes(days_since_last_purchase, has_churned)
) +
  geom_point() +
  geom_abline(intercept = intercept, slope = slope) +
  xlim(-10, 10) +
  ylim(-0.2, 1.2)

El diagrama de dispersión de si el cliente abandonó frente al tiempo desde la última compra. Los ejes están más alejados que antes, mostrando que la línea de tendencia baja de y = 0 y sube de y = 1, lo cual debería ser imposible.

Introducción a la regresión en R

¿Qué es la regresión logística?

  • Otro tipo de modelo lineal generalizado.
  • Se usa cuando la variable respuesta es lógica.
  • Las respuestas siguen una curva logística (en S).
Introducción a la regresión en R

Regresión lineal con glm()

glm(has_churned ~ time_since_last_purchase, data = churn, family = gaussian)
Call:  glm(formula = has_churned ~ time_since_last_purchase, family = gaussian, 
    data = churn)

Coefficients:
             (Intercept)  time_since_last_purchase  
                 0.49078                   0.06378  

Degrees of Freedom: 399 Total (i.e. Null);  398 Residual
Null Deviance:        100 
Residual Deviance: 98.02     AIC: 578.7
Introducción a la regresión en R

Regresión logística: glm() con familia binomial

mdl_recency_glm <- glm(has_churned ~ time_since_last_purchase, data = churn, family = binomial)
Call:  glm(formula = has_churned ~ time_since_last_purchase, family = binomial, 
    data = churn)

Coefficients:
             (Intercept)  time_since_last_purchase  
                -0.03502                   0.26921  

Degrees of Freedom: 399 Total (i.e. Null);  398 Residual
Null Deviance:        554.5 
Residual Deviance: 546.4     AIC: 550.4
Introducción a la regresión en R

Visualizar el modelo logístico

ggplot(
  churn, 
  aes(time_since_last_purchase, has_churned)
) +
  geom_point() +
  geom_abline(
    intercept = intercept, slope = slope
  ) +
  geom_smooth(
    method = "glm", 
    se = FALSE, 
    method.args = list(family = binomial)
  )

Un diagrama de dispersión de si el cliente abandonó frente al tiempo desde la última compra. Se muestran líneas de tendencia lineal y logística; ambas aumentan la probabilidad de abandono al aumentar el tiempo desde la última compra. Las dos líneas coinciden bastante salvo para tiempos muy altos desde la última compra.

Introducción a la regresión en R

Alejar zoom

El diagrama de dispersión de si el cliente abandonó frente al tiempo desde la última compra, con ambas líneas de tendencia. Los ejes están más alejados que antes, mostrando que la curva logística nunca sale del rango de abandono de 0 a 1.

Introducción a la regresión en R

¡Vamos a practicar!

Introducción a la regresión en R

Preparing Video For Download...