Ajuster une régression linéaire

Introduction à la régression avec statsmodels en Python

Maarten Van den Broeck

Content Developer at DataCamp

Deux éléments définissent une droite

Ordonnée à l'origine

La valeur de $y$ quand $x$ vaut zéro.

Pente

De combien $y$ augmente si vous augmentez $x$ de un.

Équation

$y = \text{ordonnée à l'origine} + \text{pente} * x$

Introduction à la régression avec statsmodels en Python

Estimer l'ordonnée à l'origine

Nuage de points du paiement total selon le nombre de réclamations avec une droite de tendance. Le paiement augmente linéairement avec le nombre de réclamations.

Introduction à la régression avec statsmodels en Python

Estimer l'ordonnée à l'origine

Nuage de points du paiement total selon le nombre de réclamations, avec le point où la droite coupe l'axe des y.

Introduction à la régression avec statsmodels en Python

Estimer l'ordonnée à l'origine

Nuage de points du paiement total selon le nombre de réclamations, avec l'annotation de la valeur quand le nombre de réclamations est zéro.

Introduction à la régression avec statsmodels en Python

Estimer la pente

Nuage de points du paiement total selon le nombre de réclamations, avec deux points annotés sur la droite de tendance. Un point à 1 500 couronnes et 40 réclamations ; un autre à 3 500 couronnes et 100 réclamations.

Introduction à la régression avec statsmodels en Python

Estimer la pente

Nuage de points du paiement total selon le nombre de réclamations, avec l'annotation de l'écart de paiement entre les deux points. 3 500 couronnes moins 1 500 couronnes égalent 2 000 couronnes.

Introduction à la régression avec statsmodels en Python

Estimer la pente

Nuage de points du paiement total selon le nombre de réclamations, avec l'annotation de l'écart du nombre de réclamations entre les deux points. 100 réclamations moins 40 donnent 60 réclamations.

Introduction à la régression avec statsmodels en Python

Estimer la pente

Nuage de points du paiement total selon le nombre de réclamations, avec l'annotation du ratio de l'écart de paiement sur l'écart du nombre de réclamations. 2 000 divisé par 60 donne environ 33.

Introduction à la régression avec statsmodels en Python

Lancer un modèle

from statsmodels.formula.api import ols

mdl_payment_vs_claims = ols("total_payment_sek ~ n_claims", data=swedish_motor_insurance)
mdl_payment_vs_claims = mdl_payment_vs_claims.fit()
print(mdl_payment_vs_claims.params)
Intercept    19.994486
n_claims      3.413824
dtype: float64
Introduction à la régression avec statsmodels en Python

Interpréter les coefficients du modèle

Intercept    19.994486
n_claims      3.413824
dtype: float64

Équation

$\text{total\_payment\_sek} = 19.99 + 3.41 * \text{n\_claims}$

Introduction à la régression avec statsmodels en Python

Passons à la pratique !

Introduction à la régression avec statsmodels en Python

Preparing Video For Download...