Menggunakan lmer untuk prediksi


18

Halo Saya memiliki dua masalah yang terdengar seperti kandidat alami untuk model bertingkat / campuran, yang tidak pernah saya gunakan. Yang lebih sederhana, dan yang saya harap coba sebagai pengantar, adalah sebagai berikut: Data tampak seperti banyak baris formulir

x y innergroup outergroup

di mana x adalah kovariat numerik di mana saya ingin mundur y (variabel numerik lain), masing-masing y termasuk dalam kelompok dalam, dan setiap kelompok dalam bersarang dalam outergroup (yaitu, semua y dalam kelompok dalam yang diberikan milik outergroup yang sama) . Sayangnya, innergroup memiliki banyak level (ribuan), dan setiap level memiliki pengamatan y yang relatif sedikit, jadi saya pikir model semacam ini mungkin sesuai. Pertanyaan saya adalah

  1. Bagaimana saya menulis rumus bertingkat seperti ini?

  2. Sekali lmer cocok dengan model, bagaimana cara memprediksinya? Saya telah memasukkan beberapa contoh mainan yang lebih sederhana, tetapi belum menemukan fungsi predict (). Kebanyakan orang tampaknya lebih tertarik pada inferensi daripada prediksi dengan teknik semacam ini. Saya memiliki beberapa juta baris, sehingga perhitungannya mungkin menjadi masalah, tetapi saya selalu dapat memotongnya sesuai kebutuhan.

Saya tidak perlu melakukan yang kedua untuk beberapa waktu, tetapi saya mungkin mulai memikirkannya dan bermain-main dengannya. Saya memiliki data yang sama seperti sebelumnya, tetapi tanpa x, dan y sekarang menjadi variabel binomial dari bentuk . Anda juga menunjukkan banyak penayangan berlebih, bahkan di dalam grup. Sebagian besar tidak lebih dari 2 atau 3 (atau kurang), jadi untuk mendapatkan perkiraan tingkat keberhasilan setiap saya telah menggunakan estimator penyusutan beta-binomial , di mana dan(n,nk)nyi(α+ki)/(α+β+ni)αβdiperkirakan oleh MLE untuk masing-masing kelompok dalam secara terpisah. Ini sudah cukup memadai, tetapi sparsitas data masih mengganggu saya, jadi saya ingin menggunakan semua data yang tersedia. Dari satu perspektif, masalah ini lebih mudah karena tidak ada kovariat, tetapi dari yang lain sifat binomial membuatnya lebih sulit. Apakah ada yang punya panduan level tinggi (atau rendah!)?


Harap verifikasi bahwa tanda kurung yang saya masukkan ke rumus susut adalah tempat yang Anda inginkan.
whuber

1
Bukankah seharusnya bagian ke-2 dari pertanyaan Anda (dengan variabel biner) menjadi pertanyaan terpisah?
chl

Jawaban:


17

Mengekspresikan faktor hubungan menggunakan rumus R mengikuti dari notasi Wilkinson, di mana '*' menunjukkan persimpangan dan '/' bersarang, tetapi ada beberapa kekhasan dalam cara formula untuk model efek campuran, atau lebih umum efek acak ditangani. Sebagai contoh, dua efek acak silang mungkin direpresentasikan sebagai (1|x1)+(1|x2). Saya telah menafsirkan deskripsi Anda sebagai kasus bersarang, seperti kelas yang bersarang di sekolah (bersarang di negara bagian, dll.), Sehingga rumus dasar dengan lmerakan terlihat seperti (kecuali dinyatakan lain, gaussiankeluarga digunakan secara default):

y ~ x + (1|A:B) + (1|A)

di mana A dan B masing-masing sesuai dengan faktor dalam dan luar. B bersarang di dalam A, dan keduanya diperlakukan sebagai faktor acak. Dalam paket nlme yang lebih lama , ini akan sesuai dengan sesuatu seperti lme(y ~ x, random=~ 1 | A/B). Jika A dianggap sebagai faktor tetap, rumus harus dibaca y ~ x + A + (1|A:B).

Tetapi perlu dicek lebih tepatnya spesifikasi D. Bates untuk paket lme4 , misalnya dalam buku pelajarannya yang akan datang, lme4: Pemodelan Efek Campuran dengan R , atau banyak handout yang tersedia di halaman web yang sama. Secara khusus, ada contoh untuk hubungan bersarang seperti di Fitting Linear Mixed-Effects Model, Paket lme4 di R . Tutorial John Maindonald juga memberikan gambaran yang bagus: The Anatomy of a Analisis Model Campuran, dengan lme4 Paket R . Akhirnya, bagian 3 dari sketsa R pada imlementasi lme4 termasuk contoh analisis struktur bersarang.

Tidak ada predict()fungsi di lme4(fungsi ini sekarang ada, lihat komentar di bawah), dan Anda harus menghitung sendiri nilai individual yang diprediksi menggunakan efek tetap (lihat ?fixef) dan acak (lihat ?ranef), tetapi lihat juga utas ini tentang kurangnya fungsi prediksi di lme4 . Anda juga dapat membuat sampel dari distribusi posterior menggunakan mcmcsamp()fungsi. Namun, kadang-kadang mungkin berbenturan. Lihat milis sig-me untuk informasi lebih lanjut.


3
Untuk memperbarui: lme4sekarang termasuk fungsi prediksi inside-r.org/packages/cran/lme4/docs/predict.mermod
Bar

Dokumentasi untuk predict.merMod sekarang tersedia di sini: rdocumentation.org/packages/lme4/versions/1.1-12/topics/…
DirtStats

10

The ez paket berisi fungsi ezPredict (), yang memperoleh prediksi dari model lmer mana prediksi didasarkan pada efek tetap saja. Ini benar-benar hanya pembungkus pendekatan yang dijelaskan dalam glmm wiki .


5

Saya akan menggunakan fungsi "logit.mixed" di Zelig , yang merupakan pembungkus untuk lime4 dan membuatnya sangat nyaman untuk melakukan prediksi dan simulasi.


Tampaknya tidak ada metode predcit () untuk logit.mixed dalam zelig ..
nassimhddd

3

Versi pengembangan lme4 memiliki fungsi prediksi bawaan (predict.merMod). Itu dapat ditemukan di https://github.com/lme4/lme4/ .

Kode untuk menginstal "binari pengembangan hampir terbaru dari lme4 r-forge repository" dapat ditemukan di halaman di atas dan adalah:

install.packages("lme4", repos=c("http://lme4.r-forge.r-project.org/repos", getOption("repos")["CRAN"]))

1
perhatikan ini bukan lagi versi pengembangan, predicttelah tersedia selama beberapa tahun sekarang.
Ben Bolker

1

Stephen Raudenbush memiliki bab buku dalam Buku Pegangan Analisis Multilevel tentang " Banyak Grup Kecil ". Jika Anda hanya tertarik pada efek x pada y dan tidak tertarik pada efek level yang lebih tinggi, sarannya hanyalah memperkirakan model efek tetap (yaitu variabel dummy untuk semua kemungkinan pengelompokan level yang lebih tinggi).

Saya tidak tahu seberapa dapat diterapkannya hal itu terhadap prediksi, tetapi saya akan membayangkan sebagian dari apa yang ditulisnya dapat diterapkan pada apa yang ingin Anda capai.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.