Een verhaal van twee variabelen

Introductie tot regressie met statsmodels in Python

Maarten Van den Broeck

Content Developer at DataCamp

Zweedse autoverzekeringsdata

  • Elke rij staat voor één geografische regio in Zweden.
  • Er zijn 63 rijen.
n_claims total_payment_sek
108 392.5
19 46.2
13 15.7
124 422.2
40 119.4
... ...
Introductie tot regressie met statsmodels in Python

Beschrijvende statistiek

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

Wat is regressie?

  • Statistische modellen om de relatie tussen een responsvariabele en verklarende variabelen te verkennen.
  • Met waarden van verklarende variabelen kun je de respons voorspellen.
n_claims total_payment_sek
108 3925
19 462
13 157
124 4222
40 1194
200 ???
Introductie tot regressie met statsmodels in Python

Jargon

Responsvariabele (ook wel afhankelijke variabele)

De variabele die je wilt voorspellen.

Verklarende variabelen (ook wel onafhankelijke variabelen)

Variabelen die verklaren hoe de respons verandert.

Introductie tot regressie met statsmodels in Python

Lineaire en logistische regressie

Lineaire regressie

  • De responsvariabele is numeriek.

Logistische regressie

  • De responsvariabele is logisch.

Eenvoudige lineaire/logistische regressie

  • Er is maar één verklarende variabele.
Introductie tot regressie met statsmodels in Python

Paren van variabelen visualiseren

import matplotlib.pyplot as plt
import seaborn as sns

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

plt.show()

Een spreidingsdiagram van de totale uitbetaling versus het aantal claims. De uitbetaling stijgt naarmate het aantal claims toeneemt.

Introductie tot regressie met statsmodels in Python

Een lineaire trendlijn toevoegen

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

Hetzelfde spreidingsdiagram als eerder, nu met een trendlijn via lineaire regressie. De lijn past redelijk bij de data.

Introductie tot regressie met statsmodels in Python

Cursusopbouw

Hoofdstuk 1

Visualiseren en fitten van lineaire regressiemodellen.

Hoofdstuk 2

Voorspellen met lineaire regressiemodellen en modelcoëfficiënten begrijpen.

Hoofdstuk 3

De kwaliteit van het lineaire regressiemodel beoordelen.

Hoofdstuk 4

Hetzelfde opnieuw, maar met logistische regressiemodellen

Introductie tot regressie met statsmodels in Python

Python-packages voor regressie

statsmodels

  • Geoptimaliseerd voor inzicht (focus in deze cursus)

scikit-learn

  • Geoptimaliseerd voor voorspellen (focus in andere DataCamp-cursussen)
Introductie tot regressie met statsmodels in Python

Laten we oefenen!

Introductie tot regressie met statsmodels in Python

Preparing Video For Download...