Ein Modell mit Interaktion

Fortgeschrittene Regression mit statsmodels in Python

Maarten Van den Broeck

Content Developer at DataCamp

Was ist eine Interaktion?

Im Fisch-Datensatz

  • Verschiedene Fischarten haben unterschiedliche Masse-zu-Länge-Verhältnisse.
  • Der Effekt der Länge auf die erwartete Masse ist je nach Art unterschiedlich.

 

Allgemeiner

Der Einfluss einer erklärenden Variable auf die erwartete Antwort hängt vom Wert einer anderen erklärenden Variable ab.

Fortgeschrittene Regression mit statsmodels in Python

Interaktionen angeben

Keine Interaktionen

response ~ explntry1 + explntry2

Mit Interaktionen (implizit)

response_var ~ explntry1 * explntry2

Mit Interaktionen (explizit)

response ~ explntry1 + explntry2 + explntry1:explntry2

Keine Interaktionen

mass_g ~ length_cm + species

Mit Interaktionen (implizit)

mass_g ~ length_cm * species

Mit Interaktionen (explizit)

mass_g ~ length_cm + species + length_cm:species
Fortgeschrittene Regression mit statsmodels in Python

Modell ausführen

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
Fortgeschrittene Regression mit statsmodels in Python

Leichter verständliche Koeffizienten

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
Fortgeschrittene Regression mit statsmodels in Python

Bekannte Zahlen

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
Fortgeschrittene Regression mit statsmodels in Python

Lass uns üben!

Fortgeschrittene Regression mit statsmodels in Python

Preparing Video For Download...