Un model cu interacțiune

Regresie intermediară cu statsmodels în Python

Maarten Van den Broeck

Content Developer at DataCamp

Ce este o interacțiune?

În setul de date despre pești

  • Specii diferite au raporturi diferite masă-lungime.
  • Efectul lungimii asupra masei estimate diferă în funcție de specie.

 

Mai general

Efectul unei variabile explicative asupra răspunsului estimat variază în funcție de valoarea altei variabile explicative.

Regresie intermediară cu statsmodels în Python

Specificarea interacțiunilor

Fără interacțiuni

response ~ explntry1 + explntry2

Cu interacțiuni (implicit)

response_var ~ explntry1 * explntry2

Cu interacțiuni (explicit)

response ~ explntry1 + explntry2 + explntry1:explntry2

Fără interacțiuni

mass_g ~ length_cm + species

Cu interacțiuni (implicit)

mass_g ~ length_cm * species

Cu interacțiuni (explicit)

mass_g ~ length_cm + species + length_cm:species
Regresie intermediară cu statsmodels în Python

Rularea modelului

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
Regresie intermediară cu statsmodels în Python

Coeficienți mai ușor de interpretat

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
Regresie intermediară cu statsmodels în Python

Valori familiare

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
Regresie intermediară cu statsmodels în Python

Să exersăm!

Regresie intermediară cu statsmodels în Python

Preparing Video For Download...