Generalized additive models (GAMs), interaksi, dan kovariat

12

Saya telah menjelajahi sejumlah alat untuk perkiraan, dan telah menemukan Generalized Additive Models (GAMs) memiliki potensi paling besar untuk tujuan ini. GAM itu luar biasa! Mereka memungkinkan untuk model yang rumit untuk ditentukan dengan sangat ringkas. Namun, kejelasan yang sama itu membuat saya kebingungan, khususnya terkait dengan bagaimana GAM memahami istilah interaksi dan kovariat.

Pertimbangkan contoh kumpulan data (kode yang dapat direproduksi di akhir posting) yang ymerupakan fungsi monoton yang diganggu oleh beberapa gaussians, ditambah beberapa noise:

masukkan deskripsi gambar di sini

Kumpulan data memiliki beberapa variabel prediktor:

  • x: Indeks data (1-100).
  • w: Fitur sekunder yang menandai bagian ytempat gaussian hadir. wmemiliki nilai 1-20 di xantara 11 dan 30, dan 51 hingga 70. Jika tidak, wadalah 0.
  • w2: w + 1, sehingga tidak ada nilai 0.

mgcvPaket R membuatnya mudah untuk menentukan sejumlah model yang mungkin untuk data ini:

masukkan deskripsi gambar di sini

Model 1 dan 2 cukup intuitif. Memprediksi yhanya dari nilai indeks xpada kelancaran default menghasilkan sesuatu yang samar-samar benar, tetapi terlalu mulus. Memprediksi yhanya dari whasil dalam model "rata-rata gaussian" hadir y, dan tidak ada "kesadaran" dari titik data lainnya, yang semuanya memiliki wnilai 0.

Model 3 menggunakan keduanya xdan wsebagai smooth 1D, menghasilkan kecocokan yang bagus. Penggunaan Model 4 xdan wdalam 2D ​​mulus, juga memberikan kecocokan yang bagus. Kedua model ini sangat mirip, meskipun tidak identik.

Model 5 model x"oleh" w. Model 6 melakukan yang sebaliknya. mgcvDokumentasi menyatakan bahwa "dengan argumen memastikan bahwa fungsi yang lancar dikalikan dengan [kovariat yang diberikan dalam argumen 'oleh']". Jadi bukankah seharusnya Model 5 & 6 setara?

Model 7 dan 8 menggunakan salah satu prediktor sebagai istilah linier. Ini masuk akal bagi saya, karena mereka hanya melakukan apa yang akan dilakukan GLM dengan prediktor ini, dan kemudian menambahkan efek ke seluruh model.

Terakhir, Model 9 sama dengan Model 5, kecuali yang xdihaluskan "oleh" w2(yang w + 1). Yang aneh bagi saya di sini adalah bahwa tidak adanya nol w2menghasilkan efek yang sangat berbeda dalam interaksi "oleh".

Jadi, pertanyaan saya adalah ini:

  • Apa perbedaan antara spesifikasi dalam Model 3 dan 4? Apakah ada contoh lain yang akan menjelaskan perbedaannya lebih jelas?
  • Apa, tepatnya, yang "dilakukan" di sini? Banyak dari apa yang saya baca di buku Wood dan situs web ini menunjukkan bahwa "oleh" menghasilkan efek multiplikasi, tetapi saya mengalami kesulitan memahami intuisi itu.
  • Mengapa ada perbedaan yang mencolok antara Model 5 dan 9?

Reprex berikut, ditulis dalam R.

library(magrittr)
library(tidyverse)
library(mgcv)

set.seed(1222)
data.ex <- tibble(
  x = 1:100,
  w = c(rep(0, 10), 1:20, rep(0, 20), 1:20, rep(0, 30)),
  w2 = w + 1,
  y = dnorm(x, mean = rep(c(20, 60), each = 50), sd = 3) + (seq(0, 1, length = 100)^2) / 2 + rnorm(100, sd = 0.01)
)

models <- tibble(
  model = 1:9,
  formula = c('y ~ s(x)', 'y ~ s(w)', 'y ~ s(x) + s(w)', 'y ~ s(x, w)', 'y ~ s(x, by = w)', 'y ~ s(w, by = x)', 'y ~ x + s(w)', 'y ~ w + s(x)', 'y ~ s(x, by = w2)'),
  gam = map(formula, function(x) gam(as.formula(x), data = data.ex)),
  data.to.plot = map(gam, function(x) cbind(data.ex, predicted = predict(x)))
)

plot.models <- unnest(models, data.to.plot) %>%
  mutate(facet = sprintf('%i: %s', model, formula)) %>%
  ggplot(data = ., aes(x = x, y = y)) +
  geom_point() +
  geom_line(aes(y = predicted), color = 'red') +
  facet_wrap(facets = ~facet)
print(plot.models)
jdobres
sumber
Ini sedikit anti-sosial bagi orang-orang di sini untuk menggunakan paket rapi sebagai ketergantungan dari reprex; Saya menggunakan beberapa paket tersebut dan saya masih memerlukan instalasi inst hanya untuk menjalankan kode Anda. Minimal , yaitu mendaftar hanya paket yang dibutuhkan, akan lebih bermanfaat. Yang mengatakan, terima kasih atas reprex; Saya hanya menjalankannya sekarang
Reinstate Monica - G. Simpson

Jawaban:

11

Q1 Apa perbedaan antara model 3 dan 4?

Model 3 adalah model aditif murni

y=α+f1(x)+f2(w)+ε

jadi kami memiliki konstanta ditambah efek halus ditambah efek halus .αxw

Model 4 adalah interaksi yang lancar dari dua variabel kontinu

y=α+f1(x,w)+ε

Dalam arti praktis, Model 3 mengatakan bahwa tidak peduli apa efek , efek pada respons adalah sama; jika kita memperbaiki pada beberapa nilai yang diketahui dan bervariasi atas beberapa rentang, kontribusi dari dengan model dipasang tetap sama. Verifikasi ini jika Anda ingin dengan -ing dari model 3 untuk nilai tetap dan beberapa nilai berbeda dan gunakan argumen metode ini. Anda akan melihat kontribusi konstan pada nilai yang dipasang / diprediksi untuk .wxxwf1(x)predict()xwtype = 'terms'predict()s(x)

Ini bukan kasus model 4; model ini mengatakan bahwa efek kelancaran dari bervariasi dengan lancar dengan nilai dan sebaliknya.xw

Perhatikan bahwa kecuali dan berada dalam unit yang sama atau kami mengharapkan kegoyahan yang sama di kedua variabel, Anda harus menggunakan agar sesuai dengan interaksi.xwte()

m4a <- gam(y ~ te(x, w), data = data.ex, method = 'REML')

pdata <- mutate(data.ex, Fittedm4a = predict(m4a))
ggplot(pdata, aes(x = x, y = y)) +
  geom_point() +
  geom_line(aes(y = Fittedm4a), col = 'red')

masukkan deskripsi gambar di sini

Di satu sisi, model 4 pas

y=α+f1(x)+f2(w)+f3(x,w)+ε

di mana adalah interaksi halus murni dari efek halus "utama" dari dan , dan yang telah dihapus, demi pengidentifikasian, dari dasar . Anda bisa mendapatkan model ini melaluif3xwf3

m4b <- gam(y ~ ti(x) + ti(w) + ti(x, w), data = data.ex, method = 'REML')

tapi perhatikan ini perkiraan 4 parameter kelancaran:

  1. yang terkait dengan efek halus utamax
  2. yang terkait dengan efek halus utamaw
  3. yang terkait dengan marginal smooth of dalam interaksi tensor product smoothx
  4. yang terkait dengan marginal smooth of dalam interaksi tensor product smoothw

The te()Model hanya berisi dua parameter kelancaran, satu per basis marginal.

Masalah mendasar dengan semua model ini adalah bahwa efek tidak sepenuhnya mulus; ada diskontinuitas di mana efek jatuh ke 0 (atau 1 in ). Ini muncul di plot Anda (dan yang saya tunjukkan secara rinci di sini).www2

Q2 Apa, tepatnya, yang "dilakukan" di sini?

byvariabel smooths dapat melakukan sejumlah hal berbeda tergantung pada apa yang Anda sampaikan ke byargumen. Dalam contoh Anda byvariabel, adalah kontinu. Dalam hal ini apa yang Anda dapatkan model koefisien bervariasi. Ini adalah model di mana efek linear bervariasi dengan . Dalam istilah persamaan, inilah yang dilakukan model 5 Andawwx

y=α+f1(x)w+ε

Jika ini tidak segera jelas (bukan bagi saya ketika saya pertama kali melihat model-model ini) untuk beberapa nilai diberikan, kami mengevaluasi fungsi halus pada nilai ini dan ini kemudian menjadi setara dengan ; dengan kata lain, itu adalah efek linier dari pada nilai diberikan , dan efek linier itu bervariasi dengan mulus dengan . Lihat bagian 7.5.3 dalam edisi kedua buku Simon untuk contoh konkret di mana efek linear kovariat bervariasi fungsi ruang yang halus (lat dan panjang).xβ1wwxx

Q3 Mengapa ada perbedaan yang mencolok antara Model 5 dan 9?

Perbedaan antara model 5 dan 9 saya pikir hanya karena mengalikan dengan 0 atau mengalikan dengan 1. Dengan yang pertama, efek dari satu-satunya istilah dalam model adalah 0 karena . Dalam model 9, Anda memiliki di area tersebut di mana tidak ada kontribusi dari gaussians of . Karena adalah ~ fungsi eksponensial, Anda mendapatkan ini ditumpangkan pada efek keseluruhan dari .f1(x)wf1(x)×0=0f1(x)×1=f1(x)wf1(x)w

Dengan kata lain, model 5 berisi tren nol di mana-mana adalah 0, tetapi model 9 mencakup tren ~ eksponensial di mana-mana adalah 0 (1), di mana efek koefisien bervariasi dari ditumpangkan.www

Pasang kembali Monica - G. Simpson
sumber
Itu jawaban yang bermanfaat untuk Q1, terima kasih! Pilihan jumlah smooth 1D atau single 2D smooth tampaknya kira-kira (sekali lagi, kira-kira ) analog dengan efek utama vs interaksi dalam pemodelan linear standar. Tapi ini membuat keberadaan byparameter semakin membingungkan.
jdobres
Saya telah menambahkan sesuatu pada Q2 sekarang, yang semoga menjelaskan apa yang dilakukan model-model itu. Saya akan melihat Q3 sekarang.
Reinstate Monica - G. Simpson
Saya pikir jawaban untuk Q3 hanyalah masalah sederhana aritmatika berinteraksi dengan apa yang bagian koefisien-bervariasi dari model di 5 dan 9.
Reinstate Monica - G. Simpson
Sangat membantu! Untuk memperjelas Q2, apakah Anda mengatakan bahwa prediktor yang disediakan dalam argumen "oleh" pada dasarnya menjadi koefisien tambahan untuk hasil dari prediktor yang dihaluskan? Saya menduga bahwa intuisi saya salah, karena itu harus mengarah pada Model 5 yang terlihat mirip dengan Model 2.
jdobres
Dalam M2 Anda memiliki dan di M5 Anda memiliki , yang pertama adalah smooth of , yang terakhir mengatakan efek linear dari bervariasi sebagai fungsi kelancaran dari . Ini sangat berbeda; perhatikan bahwa dalam 5 efek adalah linear (tidak ada penurunan ketika > 10), tetapi linearitas itu dimodifikasi dengan lancar melalui . Dalam M2 Anda memiliki efek halus . α + f 1 ( x ) w w w x w w x wα+f1(w)α+f1(x)wwwxwwxw
Reinstate Monica - G. Simpson