調整摩托車模型的複雜度
平滑中的基底函式數量會大幅影響模型可呈現的形狀。這裡你將練習修改模型中的基底函式數量,並檢視結果。
本練習屬於課程
R 中的廣義加法模型(GAM)之非線性建模
練習說明
- 對
mcycle資料擬合一個含 3 個基底函式的 GAM,讓accel作為times的平滑函式。 - 再擬合一次相同的 GAM,但這次使用 20 個基底函式。
- 使用提供的
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)