เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การเพิ่ม Interaction

เช่นเดียวกับกรณีที่มีตัวแปรอธิบายแบบตัวเลขหนึ่งตัวและแบบกลุ่มหนึ่งตัว ตัวแปรอธิบายแบบตัวเลขก็สามารถมี interaction ระหว่างกันได้เช่นกัน โครงสร้างโมเดลแบบนี้จะให้ค่าสัมประสิทธิ์ความชัน 3 ค่า ได้แก่ ค่าสำหรับตัวแปรอธิบายแต่ละตัว และค่าสำหรับ interaction

ในแบบฝึกหัดนี้ จะรัน พยากรณ์ และพล็อตโมเดลเดียวกับแบบฝึกหัดก่อนหน้า แต่คราวนี้เพิ่ม interaction ระหว่างตัวแปรอธิบายด้วย

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Regression ระดับกลางด้วย statsmodels ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เปลี่ยนชื่อโมเดลเป็น mdl_price_vs_conv_dist_inter
  • ปรับโค้ดที่เหลือจากแบบฝึกหัดก่อนหน้าให้รวม interaction ด้วย

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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()
แก้ไขและรันโค้ด