加入交互项
与"一个数值型自变量配合一个分类型自变量"的情形类似,数值型自变量之间也可能存在交互作用。采用这种模型结构时,您会得到第三个斜率系数:每个自变量各一个,再加上交互项的一个。
本练习中,您将运行、预测并绘制与上一个练习相同的模型,但这一次要在两个自变量之间加入交互项。
本练习是课程的一部分
Python 中级回归:使用 statsmodels
练习说明
- 将模型名称改为
mdl_price_vs_conv_dist_inter。 - 在上一个练习的代码基础上做相应调整,把交互项包含进来。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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()