Regressão Intermediária com statsmodels em Python
Maarten Van den Broeck
Content Developer at DataCamp
sns.scatterplot(x="length_cm",
y="height_cm",
data=fish,
hue="mass_g")

grid = sns.FacetGrid(data=fish,col="species",hue="mass_g", col_wrap=2,palette="plasma")
grid.map(sns.scatterplot,
"length_cm",
"height_cm")
plt.show()


Sem interações
ols("mass_g ~ length_cm + height_cm + species + 0", data=fish).fit()
interações de dois fatores entre pares de variáveis
ols(
"mass_g ~ length_cm + height_cm + species +
length_cm:height_cm + length_cm:species + height_cm:species + 0", data=fish).fit()
interação de três fatores entre as três variáveis
ols(
"mass_g ~ length_cm + height_cm + species +
length_cm:height_cm + length_cm:species + height_cm:species + length_cm:height_cm:species + 0", data=fish).fit()
ols(
"mass_g ~ length_cm + height_cm + species +
length_cm:height_cm + length_cm:species + height_cm:species + length_cm:height_cm:species + 0",
data=fish).fit()
o mesmo que
ols(
"mass_g ~ length_cm * height_cm * species + 0",
data=fish).fit()
ols(
"mass_g ~ length_cm + height_cm + species +
length_cm:height_cm + length_cm:species + height_cm:species + 0",
data=fish).fit()
o mesmo que
ols(
"mass_g ~ (length_cm + height_cm + species) ** 2 + 0",
data=fish).fit()
mdl_mass_vs_all = ols(
"mass_g ~ length_cm * height_cm * species + 0",
data=fish).fit()
length_cm = np.arange(5, 61, 5)
height_cm = np.arange(2, 21, 2)
species = fish["species"].unique()
p = product(length_cm, height_cm, species)
explanatory_data = pd.DataFrame(p,
columns=["length_cm",
"height_cm",
"species"])
prediction_data = explanatory_data.assign(
mass_g = mdl_mass_vs_all.predict(explanatory_data))
print(prediction_data)
length_cm height_cm species mass_g
0 5 2 Bream -570.656437
1 5 2 Roach 31.449145
2 5 2 Perch 43.789984
3 5 2 Pike 271.270093
4 5 4 Bream -451.127405
.. ... ... ... ...
475 60 18 Pike 2690.346384
476 60 20 Bream 1531.618475
477 60 20 Roach 2621.797668
478 60 20 Perch 3041.931709
479 60 20 Pike 2926.352397
[480 rows x 4 columns]
Regressão Intermediária com statsmodels em Python