Une histoire de deux variables

Introduction à la régression avec statsmodels en Python

Maarten Van den Broeck

Content Developer at DataCamp

Données d’assurance auto suédoise

  • Chaque ligne représente une région de Suède.
  • 63 lignes au total.
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, on peut 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 (ou variable dépendante)

La variable que vous voulez prédire.

Variables explicatives (ou variables indépendantes)

Les variables qui expliquent l’évolution de la 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 booléenne.

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 selon le nombre de sinistres. Le paiement augmente avec le nombre de sinistres.

Introduction à la régression avec statsmodels en Python

Ajouter une tendance linéaire

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

Le même nuage de points, avec une droite de tendance issue d’une régression linéaire. L’ajustement est raisonnable.

Introduction à la régression avec statsmodels en Python

Parcours du cours

Chapitre 1

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

Chapitre 2

Prédire avec des modèles linéaires et comprendre les coefficients.

Chapitre 3

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

Chapitre 4

Idem avec des modèles de régression logistique.

Introduction à la régression avec statsmodels en Python

Packages Python pour la régression

statsmodels

  • Optimisé pour l’analyse (focus de ce cours)

scikit-learn

  • Optimisé pour la prédiction (vu 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...