Saat memilih jumlah simpul yang tepat untuk GAM, orang mungkin ingin mempertimbangkan jumlah data dan peningkatan pada sumbu x.
Bagaimana jika kita memiliki 100 peningkatan pada sumbu x dengan 1000 titik data pada setiap kenaikan.
Info di sini mengatakan:
Jika tidak disediakan maka simpul spline ditempatkan secara merata di seluruh nilai kovariat yang merujuk istilah: Misalnya, jika memasang data 101 dengan spline 11 simpul x maka akan ada simpul pada setiap tanggal 10 (dipesan) nilai x.
Jadi awal dasar harus 9 knot dalam contoh ini? Saya hanya tidak yakin kisaran knot apa yang cocok untuk kumpulan data ini karena sangat cocok untuk jumlah yang sangat kecil hingga sangat besar.
set.seed(1)
dat <- data.frame(y = rnorm(10000), x = 100)
library(ggplot)
ggplot(dat, aes(x = x, y = y)) +
geom_point(size= 0.5) +
stat_smooth(method = "gam",
formula = y ~ s(x, bs = "cs"),k=9, col = "black")
Jika k = 25 memberikan kecocokan yang bermanfaat, apakah masuk akal untuk data ini?
bs = "cs"
istilah dalam spline?k
setara dengan menentukank=-1
?Dari mana datangnya ide bahwa GCV akan secara otomatis memilih jumlah simpul? Jumlah simpul (yaitu, dimensi dasar) adalah tetap dan tidak dapat diubah selama fit model. Apa yang skor GCV dalam fungsi gam () lakukan "secara otomatis" bukanlah memilih dimensi dasar k, seperti yang dikatakan Ira S, tetapi memilih tingkat kelancaran dari setiap basis spline dengan memperkenalkan hukuman kebodohan dalam gol minimizer atau pas. Untuk memilih jumlah simpul k Anda harus menggunakan nilai yang lebih besar dari jumlah derajat kebebasan yang Anda harapkan. Mengutip bantuan select.k: "pilihan tepat k umumnya tidak kritis: harus dipilih untuk menjadi cukup besar sehingga Anda cukup yakin memiliki derajat kebebasan yang cukup untuk mewakili 'kebenaran' yang mendasarinya dengan cukup baik, tetapi cukup kecil. untuk menjaga efisiensi komputasi yang masuk akal ". Jadi, pada dasarnya tingkatkan k dalam langkah besar sampai Anda tidak melihat perubahan dalam plot Anda, misalnya. Meringkas: Tidak ada yang seperti pilihan "otomatis" untuk k seperti yang dikatakan Ira S, pengguna harusselalu memilih nilai ak sebagai bagian dari desain model. Kalau tidak, Anda kemungkinan besar kurang cocok dengan model Anda!
sumber