Une histoire de deux variables

Introduction à la régression avec statsmodels en Python

Maarten Van den Broeck

Content Developer at DataCamp

Données sur l'assurance automobile suédoise

  • Chaque ligne représente une région de Suède.
  • Il y a 63 lignes.
n_claims total_payment_sek
108 392.5
19 46.2
13 15.7
124 422.2
40 119.4
... ...
Introduction à la régression avec statsmodels en Python

Statistiques descriptives

import pandas as pd
print(swedish_motor_insurance.mean())
n_claims             22.904762
total_payment_sek    98.187302
dtype: float64
print(swedish_motor_insurance['n_claims'].corr(swedish_motor_insurance['total_payment_sek']))
0.9128782350234068
Introduction à la régression avec statsmodels en Python

Qu'est-ce que la régression ?

  • Modèles statistiques pour explorer le lien entre une variable réponse et des variables explicatives.
  • À partir des variables explicatives, vous pouvez prédire la variable réponse.
n_claims total_payment_sek
108 3925
19 462
13 157
124 4222
40 1194
200 ???
Introduction à la régression avec statsmodels en Python

Jargon

Variable réponse (a.k.a. variable dépendante)

La variable à prédire.

Variables explicatives (a.k.a. variables indépendantes)

Les variables qui expliquent l'évolution de la variable réponse.

Introduction à la régression avec statsmodels en Python

Régression linéaire et régression logistique

Régression linéaire

  • La variable réponse est numérique.

Régression logistique

  • La variable réponse est logique.

Régression linéaire/logistique simple

  • Une seule variable explicative.
Introduction à la régression avec statsmodels en Python

Visualiser des paires de variables

import matplotlib.pyplot as plt
import seaborn as sns

sns.scatterplot(x="n_claims",
                y="total_payment_sek",    
                data=swedish_motor_insurance)

plt.show()

Nuage de points du paiement total en fonction du nombre de réclamations. Le paiement augmente avec le nombre de réclamations.

Introduction à la régression avec statsmodels en Python

Ajouter une ligne de tendance linéaire

sns.regplot(x="n_claims",
            y="total_payment_sek",
            data=swedish_motor_insurance,
            ci=None)

Le même nuage de points qu'auparavant, avec une ligne de tendance issue d'une régression linéaire. L'ajustement est raisonnable.

Introduction à la régression avec statsmodels en Python

Déroulement du cours

Chapitre 1

Visualiser et ajuster des modèles de régression linéaire.

Chapitre 2

Prédire à partir de modèles linéaires et comprendre les coefficients.

Chapitre 3

Évaluer la qualité du modèle linéaire.

Chapitre 4

Même chose avec des modèles de régression logistique.

Introduction à la régression avec statsmodels en Python

Forfaits Python pour la régression

statsmodels

  • Optimisé pour l'interprétation (focus de ce cours)

scikit-learn

  • Optimisé pour la prédiction (abordé dans d'autres cours DataCamp)
Introduction à la régression avec statsmodels en Python

Passons à la pratique !

Introduction à la régression avec statsmodels en Python

Preparing Video For Download...