Een lineaire regressie fitten

Introductie tot regressie met statsmodels in Python

Maarten Van den Broeck

Content Developer at DataCamp

Rechte lijnen worden door twee dingen bepaald

Intercept

De y-waarde wanneer x nul is.

Helling

Hoeveel de y-waarde toeneemt als je x met één verhoogt.

Vergelijking

$y = \text{intercept} + \text{helling} * x$

Introductie tot regressie met statsmodels in Python

Het intercept schatten

Een spreidingsdiagram van totale betaling versus aantal claims met een lineaire trendlijn. De betaling neemt lineair toe naarmate het aantal claims toeneemt.

Introductie tot regressie met statsmodels in Python

Het intercept schatten

Het spreidingsdiagram van totale betaling versus aantal claims, met de annotatie van het punt waar de trendlijn de y-as snijdt.

Introductie tot regressie met statsmodels in Python

Het intercept schatten

Het spreidingsdiagram van totale betaling versus aantal claims, met de annotatie van de waarde wanneer het aantal claims nul is.

Introductie tot regressie met statsmodels in Python

De helling schatten

Het spreidingsdiagram van totale betaling versus aantal claims, met twee punten op de trendlijn. Eén punt is bij 1500 kronen en 40 claims; een ander punt is bij 3500 kronen en 100 claims.

Introductie tot regressie met statsmodels in Python

De helling schatten

Het spreidingsdiagram van totale betaling versus aantal claims, met de annotatie van het verschil in betaling tussen twee punten. 3500 kronen min 1500 kronen is 2000 kronen.

Introductie tot regressie met statsmodels in Python

De helling schatten

Het spreidingsdiagram van totale betaling versus aantal claims, met de annotatie van het verschil in aantal claims tussen twee punten. 100 claims min 40 claims is 60 claims.

Introductie tot regressie met statsmodels in Python

De helling schatten

Het spreidingsdiagram van totale betaling versus aantal claims, met de annotatie van de verhouding tussen verschil in betaling en verschil in aantal claims. 2000 gedeeld door 60 is ongeveer 33.

Introductie tot regressie met statsmodels in Python

Een model draaien

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
Introductie tot regressie met statsmodels in Python

De modelcoëfficiënten interpreteren

Intercept    19.994486
n_claims      3.413824
dtype: float64

Vergelijking

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

Introductie tot regressie met statsmodels in Python

Laten we oefenen!

Introductie tot regressie met statsmodels in Python

Preparing Video For Download...