Eén model met een interactie

Gemiddelde regressie met statsmodels in Python

Maarten Van den Broeck

Content Developer at DataCamp

Wat is een interactie?

In de visdataset

  • Soorten hebben verschillende massa-lengteverhoudingen.
  • Het effect van lengte op de verwachte massa verschilt per soort.

 

Algemeen

Het effect van de ene verklarende variabele op de verwachte respons hangt af van de waarde van een andere verklarende variabele.

Gemiddelde regressie met statsmodels in Python

Interacties specificeren

Geen interacties

response ~ explntry1 + explntry2

Met interacties (impliciet)

response_var ~ explntry1 * explntry2

Met interacties (expliciet)

response ~ explntry1 + explntry2 + explntry1:explntry2

Geen interacties

mass_g ~ length_cm + species

Met interacties (impliciet)

mass_g ~ length_cm * species

Met interacties (expliciet)

mass_g ~ length_cm + species + length_cm:species
Gemiddelde regressie met statsmodels in Python

Het model uitvoeren

mdl_mass_vs_both = ols("mass_g ~ length_cm * species", data=fish).fit()

print(mdl_mass_vs_both.params)
Intercept                    -1035.3476
species[T.Perch]               416.1725
species[T.Pike]               -505.4767
species[T.Roach]               705.9714
length_cm                       54.5500
length_cm:species[T.Perch]     -15.6385
length_cm:species[T.Pike]       -1.3551
length_cm:species[T.Roach]     -31.2307
Gemiddelde regressie met statsmodels in Python

Coëfficiënten makkelijker lezen

mdl_mass_vs_both_inter = ols("mass_g ~ species + species:length_cm + 0", data=fish).fit()

print(mdl_mass_vs_both_inter.params)
species[Bream]             -1035.3476
species[Perch]              -619.1751
species[Pike]              -1540.8243
species[Roach]              -329.3762
species[Bream]:length_cm      54.5500
species[Perch]:length_cm      38.9115
species[Pike]:length_cm       53.1949
species[Roach]:length_cm      23.3193
Gemiddelde regressie met statsmodels in Python

Bekende getallen

print(mdl_mass_vs_both_inter.params)
species[Bream]             -1035.3476
species[Perch]              -619.1751
species[Pike]              -1540.8243
species[Roach]              -329.3762
species[Bream]:length_cm      54.5500
species[Perch]:length_cm      38.9115
species[Pike]:length_cm       53.1949
species[Roach]:length_cm      23.3193
print(mdl_bream.params)
Intercept   -1035.3476
length_cm      54.5500
Gemiddelde regressie met statsmodels in Python

Laten we oefenen!

Gemiddelde regressie met statsmodels in Python

Preparing Video For Download...