การกำหนดความซับซ้อนของโมเดล motorcycle
จำนวน basis functions ใน smooth ส่งผลอย่างมากต่อรูปร่างที่โมเดลสามารถจำลองได้ ในแบบฝึกหัดนี้ จะได้ฝึกปรับจำนวน basis functions ในโมเดลและสังเกตผลลัพธ์ที่เปลี่ยนไป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างโมเดลแบบไม่เชิงเส้นด้วย Generalized Additive Models (GAMs) ใน R
คำแนะนำการฝึกหัด
- ฟิต GAM ที่มี 3 basis functions กับข้อมูล
mcycleโดยให้accelเป็นฟังก์ชัน smooth ของtimes - ฟิต GAM แบบเดิมอีกครั้ง แต่คราวนี้ใช้ 20 basis functions
- ใช้ฟังก์ชัน
plot()ที่เตรียมไว้ให้เพื่อแสดงผลโมเดลทั้งสอง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
library(mgcv)
# Fit a GAM with 3 basis functions
gam_mod_k3 <- gam(accel ~ s(times, k = ___), data = mcycle)
# Fit with 20 basis functions
gam_mod_k20 <- gam(___)
# Visualize the GAMs
par(mfrow = c(1, 2))
plot(gam_mod_k3, residuals = TRUE, pch = 1)
plot(gam_mod_k20, residuals = TRUE, pch = 1)