Pourquoi la régression logistique est-elle nécessaire ?

Introduction à la régression dans R

Richie Cotton

Data Evangelist at DataCamp

Ensemble de données sur l’attrition bancaire

as_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
... ... ...
réponse durée de la relation récence de l’activité
1 https://www.rdocumentation.org/packages/bayesQR/topics/Churn
Introduction à la régression dans R

Attrition et récence : un modèle linéaire

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]
Introduction à la régression dans R

Visualisation du modèle linéaire

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

Les prévisions indiquent les probabilités d’attrition, et non les taux d’attrition.

Un diagramme en nuage de points indiquant si le client a quitté l'entreprise ou non en fonction du temps écoulé depuis son dernier achat. Tous les points se trouvent sur la droite y = 0 ou y = 1. Une courbe de tendance linéaire indique que la probabilité d’attrition augmente à mesure que le temps écoulé depuis le dernier achat s'allonge.

Introduction à la régression dans R

Zoom arrière

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)

Le diagramme en nuage de points représentant l’attrition de clientèle par rapport au temps écoulé depuis le dernier achat. Les axes sont agrandis par rapport à la dernière fois, ce qui montre que la courbe de tendance s'étend en dessous de y = 0 et au-dessus de y = 1, ce qui devrait être impossible.

Introduction à la régression dans R

Qu'est-ce que la régression logistique ?

  • Un autre type de modèle linéaire généralisé.
  • Utilisé lorsque la variable de réponse est logique.
  • Les réponses suivent une courbe logistique (en forme de S).
Introduction à la régression dans R

Régression linéaire à l'aide de 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
Introduction à la régression dans R

Régression logistique : glm() avec famille binomiale

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
Introduction à la régression dans R

Visualisation du modèle logistique

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 diagramme en nuage de points indiquant si le client a quitté l'entreprise ou non en fonction du temps écoulé depuis son dernier achat. Les courbes de tendance linéaires et logistiques sont représentées, et toutes deux indiquent une augmentation des probabilités d’attrition à mesure que le temps écoulé depuis le dernier achat augmente. Les deux courbes de tendance suivent une évolution similaire, sauf pour la période écoulée depuis le dernier achat.

Introduction à la régression dans R

Zoom arrière

Le diagramme en nuage de points indiquant si le client est parti ou non en fonction du temps écoulé depuis son dernier achat, avec les deux courbes de tendance. Les axes sont réduits par rapport à la dernière fois, ce qui montre que la courbe de tendance logistique ne dépasse jamais la fourchette d’attrition comprise entre zéro et un.

Introduction à la régression dans R

Passons à la pratique !

Introduction à la régression dans R

Preparing Video For Download...