Une histoire de deux variables

Introduction à la régression avec statsmodels en Python

Maarten Van den Broeck

Content Developer at DataCamp

Données relatives à l'assurance automobile en Suède

  • Chaque ligne représente une région géographique de la 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 permettant d'étudier la relation entre une variable réponse et certaines variables explicatives.
  • À partir des valeurs des variables explicatives, il est possible de prédire les valeurs de la variable de 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 de réponse (également appelée variable dépendante)

La variable que vous souhaitez prédire.

Variables explicatives (également appelées variables indépendantes)

Les variables qui expliquent comment la variable de réponse évoluera.

Introduction à la régression avec statsmodels en Python

Régression linéaire et régression logistique

Régression linéaire

  • La variable de réponse est numérique.

Régression logistique

  • La variable de réponse est logique.

Régression linéaire/logistique simple

  • Il n'existe qu'une seule variable explicative.
Introduction à la régression avec statsmodels en Python

Visualisation de 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()

Un diagramme en nuage de points représentant le paiement total par rapport au nombre de réclamations. Le paiement augmente à mesure que le nombre de réclamations augmente.

Introduction à la régression avec statsmodels en Python

Ajout d’une courbe de tendance linéaire

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

Le même diagramme en nuage de points que précédemment, avec une courbe de tendance supplémentaire calculée par régression linéaire. Il offre un ajustement satisfaisant aux données.

Introduction à la régression avec statsmodels en Python

Déroulement du cours

Chapitre 1

Visualisation et ajustement de modèles de régression linéaire.

Chapitre 2

Réalisation de prévisions à partir de modèles de régression linéaire et compréhension des coefficients des modèles.

Chapitre 3

Évaluation de la qualité du modèle de régression linéaire.

Chapitre 4

De nouveau, mais 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 les idées clés (thème central de ce cours)

scikit-learn

  • Optimisé pour la prévision (thème central 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...