始める無料で始める

相互作用を含める

数値の説明変数とカテゴリ変数が1つずつある場合と同様に、数値の説明変数どうしでも相互作用を持たせることができます。このモデル構造では、傾きの係数が3つになります。それぞれの説明変数に1つずつ、そして相互作用に1つです。

ここでは、前の演習と同じモデルを実行、予測、プロットしますが、今回は説明変数間の相互作用を含めます。

この演習はコースの一部です

statsmodels を使った中級 Regression

コースを見る

演習の手順

  • モデルの名前を 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()
コードを編集して実行