Inclure une interaction
Comme pour le cas d’une variable explicative numérique et d’une variable explicative catégorielle, des variables explicatives numériques peuvent aussi interagir. Avec cette structure de modèle, vous obtenez un troisième coefficient de pente : un pour chaque variable explicative et un pour l’interaction.
Ici, vous allez exécuter, prédire et tracer le même modèle que dans l’exercice précédent, mais cette fois en incluant une interaction entre les variables explicatives.
Cet exercice fait partie du cours
Régression intermédiaire avec statsmodels en Python
Instructions
- Changez le nom du modèle en
mdl_price_vs_conv_dist_inter. - Adaptez le reste du code de l’exercice précédent pour inclure une interaction.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Convert to mdl_price_vs_conv_dist_inter
mdl_price_vs_conv_dist = ols("price_twd_msq ~ n_convenience + sqrt_dist_to_mrt_m", data=taiwan_real_estate).fit()
# Use mdl_price_vs_conv_dist_inter to make predictions
n_convenience = np.arange(0, 11)
sqrt_dist_to_mrt_m = np.arange(0, 81, 10)
p = product(n_convenience, sqrt_dist_to_mrt_m)
explanatory_data = pd.DataFrame(p, columns=["n_convenience", "sqrt_dist_to_mrt_m"])
prediction_data = explanatory_data.assign(
price_twd_msq = mdl_price_vs_conv_dist.predict(explanatory_data))
sns.scatterplot(x="n_convenience", y="sqrt_dist_to_mrt_m", data=taiwan_real_estate, hue="price_twd_msq", legend=False)
sns.scatterplot(x="n_convenience", y="sqrt_dist_to_mrt_m", data=prediction_data, hue="price_twd_msq", marker="s")
plt.show()