De ce aveți nevoie de regresia logistică

Introducere în Regresia în R

Richie Cotton

Data Evangelist at DataCamp

Setul de date privind abandonul bancar

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
... ... ...
răspuns durata relației activitate recentă
1 https://www.rdocumentation.org/packages/bayesQR/topics/Churn
Introducere în Regresia în R

Abandon vs. recență: model liniar

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]
Introducere în Regresia în R

Vizualizarea modelului liniar

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

Predicțiile reprezintă probabilități de abandon, nu cantități.

Un grafic scatter cu probabilitatea de abandon al clientului față de timpul de la ultima achiziție. Toate punctele se află pe dreapta y=0 sau y=1. O dreaptă de tendință liniară indică creșterea probabilității de abandon pe măsură ce timpul crește.

Introducere în Regresia în R

Micșorarea zoom-ului

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)

Graficul scatter cu probabilitatea de abandon față de timpul de la ultima achiziție. Axele sunt mai extinse, arătând că dreapta de tendință coboară sub y=0 și depășește y=1, ceea ce nu ar trebui să fie posibil.

Introducere în Regresia în R

Ce este regresia logistică?

  • Alt tip de model liniar generalizat.
  • Utilizat când variabila de răspuns este logică.
  • Răspunsurile urmează o curbă logistică (în formă de S).
Introducere în Regresia în R

Regresia liniară cu 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
Introducere în Regresia în R

Regresia logistică: glm() cu 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
Introducere în Regresia în R

Vizualizarea modelului logistic

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 grafic scatter cu probabilitatea de abandon al clientului față de timpul de la ultima achiziție. Sunt afișate drepte de tendință liniară și logistică, ambele indicând creșterea probabilității de abandon pe măsură ce timpul crește. Cele două drepte urmează traiectorii foarte apropiate, cu excepția valorilor mari.

Introducere în Regresia în R

Micșorarea zoom-ului

Graficul scatter cu probabilitatea de abandon față de timpul de la ultima achiziție, cu ambele drepte de tendință. Axele sunt mai extinse față de graficul anterior, arătând că dreapta logistică nu depășește niciodată intervalul zero-unu.

Introducere în Regresia în R

Să exersăm!

Introducere în Regresia în R

Preparing Video For Download...