Bagaimana memilih perpustakaan nlme atau lme4 R untuk model efek campuran?

85

Saya muat beberapa model efek campuran (terutama model longitudinal) menggunakan lme4di Rtetapi ingin benar-benar menguasai model dan kode yang terjadi dengan mereka.

Namun, sebelum menyelam dengan kedua kaki (dan membeli beberapa buku) saya ingin memastikan bahwa saya belajar perpustakaan yang tepat. Saya telah menggunakan lme4sampai sekarang karena saya baru saja menemukannya lebih mudah daripada nlme, tetapi jika nlmelebih baik untuk tujuan saya maka saya merasa saya harus menggunakannya.

Saya yakin tidak ada yang "lebih baik" dalam cara yang sederhana, tetapi saya akan menghargai beberapa pendapat atau pemikiran. Kriteria utama saya adalah:

  1. mudah digunakan (saya seorang psikolog dengan pelatihan, dan tidak terlalu berpengalaman dalam statistik atau pengkodean, tapi saya sedang belajar)
  2. fitur yang baik untuk pemasangan data longitudinal (jika ada perbedaan di sini- tapi inilah yang saya gunakan untuk itu)
  3. ringkasan grafis yang bagus (mudah diinterpretasikan), sekali lagi tidak yakin apakah ada perbedaan di sini tapi saya sering membuat grafik untuk orang yang bahkan kurang teknis daripada saya, jadi plot yang bagus selalu bagus (saya sangat menyukai fungsi xyplot di kisi () untuk alasan ini).

Seperti biasa, harap pertanyaan ini tidak terlalu kabur, dan terima kasih sebelumnya atas kebijaksanaannya!

Chris Beeley
sumber

Jawaban:

68

Kedua paket digunakan Latticesebagai backend, tetapi nlmememiliki beberapa fitur bagus seperti groupedData()dan lmList()yang kurang lme4(IMO). Namun, dari sudut pandang praktis, dua kriteria paling penting tampaknya adalah itu

  1. lme4meluas nlmedengan fungsi tautan lainnya: di nlme, Anda tidak dapat memasukkan hasil yang distribusinya bukan gaussian, lme4dapat digunakan untuk menyesuaikan dengan regresi logistik efek campuran, misalnya.
  2. di nlme, dimungkinkan untuk menentukan matriks varians-kovarians untuk efek acak (misalnya AR (1)); tidak mungkin di lme4.

Sekarang, lme4dapat dengan mudah menangani sejumlah besar efek acak (karenanya, jumlah individu dalam studi tertentu) berkat bagian C-nya dan penggunaan matriks yang jarang. The nlmepaket telah agak digantikan oleh lme4jadi saya tidak akan mengharapkan orang menghabiskan banyak waktu mengembangkan add-ons di atas nlme. Secara pribadi, ketika saya memiliki respon berkelanjutan dalam model saya, saya cenderung menggunakan kedua paket, tetapi saya sekarang mengerti lme4cara untuk memasang GLMM.

Daripada membeli buku, kita lihat pertama di draf buku Doug Bates' pada R-bengkel: lme4: Mixed-efek Modeling dengan R .

chl
sumber
5
@ 2) lebih tepatnya, di dalam lme4Anda dapat menentukan struktur kovarians diagonal (yaitu, efek acak independen) atau matriks kovarians tidak terstruktur (yaitu semua korelasi harus diperkirakan) atau matriks kovarians parsial diagonal, sebagian tidak terstruktur untuk efek acak. Saya juga menambahkan perbedaan ketiga dalam kemampuan yang mungkin lebih relevan untuk banyak situasi data longitudinal: nlmemari kita tentukan struktur varians-kovarians untuk residu (yaitu autokorelasi spasial atau temporal atau heteroskedastisitas), lme4tidak.
Fabian
@fabians (+1) Ah, terima kasih! Tidak disadari lme4memungkinkan untuk memilih struktur VC yang berbeda. Akan lebih baik jika Anda menambahkannya dalam respons Anda sendiri, bersama dengan gagasan lain yang mungkin Anda miliki. Saya akan terharu. BTW, saya juga menyadari bahwa lmList()tersedia lme4juga. Sepertinya saya ingat beberapa diskusi tentang itu di R-sig-ME.
chl
Adakah alternatif yang lebih cepat? Saya perlu mencocokkan model dengan dataset besar dan memakan waktu hampir setengah jam di komputer saya. Ada banyak paket regresi cepat tetapi tampaknya tidak ada yang bisa menangani efek acak.
skan
52

Seperti yang ditunjukkan oleh chl, perbedaan utama adalah struktur varians-kovarians apa yang dapat Anda tentukan untuk efek acak. Di dalam lme4Anda dapat menentukan:

  • struktur kovarians diagonal (yaitu, menegakkan efek acak yang tidak saling terkait melalui sintaksis seperti ~ (1 | group)+ (0 + x1 | group) + (0 + x2 | group))
  • atau matriks kovarians yang tidak terstruktur (yaitu semua korelasi diperkirakan, ~ (1 + x1 + x2 | group))
  • atau kovarians tidak terstruktur sebagian diagonal, (di y ~ (1 + x1 | group) + (0 + x2 | group)mana Anda akan memperkirakan korelasi antara intersepsi acak dan kemiringan acak untuk x1, tetapi tidak ada korelasi antara kemiringan acak untuk x2dan intersep acak dan antara kemiringan acak untuk x2dan kemiringan acak untuk x1).

nlmemenawarkan kelas yang lebih luas dari struktur kovarian untuk efek acak. Pengalaman saya adalah bahwa fleksibilitas lme4cukup untuk sebagian besar aplikasi.

Saya juga akan menambahkan perbedaan ketiga dalam kemampuan yang mungkin lebih relevan untuk banyak situasi data longitudinal: nlme mari Anda tentukan struktur varians-kovarians untuk residual (yaitu autokorelasi spasial atau temporal atau heteroskedastisitas atau variabilitas dependen kovariat) dalam weightsargumen (cf ?varFunc), sementara lme4hanya memungkinkan bobot tetap sebelumnya untuk pengamatan.

Perbedaan keempat adalah sulit untuk nlmemenyesuaikan (secara parsial) efek acak yang dilewati, sementara itu tidak menjadi masalah lme4.

Anda mungkin akan baik-baik saja jika bertahan lme4.

orang fabian
sumber
1
Dengan pengecualian yang mungkin (seperti yang Anda tunjukkan) mampu menggabungkan autokorelasi temporal dalam nlme tetapi tidak lme4. Jika kumpulan data cukup besar, dan jika data memiliki struktur semacam ini, itu bisa menjadi keuntungan besar nlme.
Ben Bolker
22

Yang lain telah merangkum perbedaan dengan sangat baik. Kesan saya adalah yang lme4lebih cocok untuk kumpulan data yang dikelompokkan terutama ketika Anda perlu menggunakan efek acak silang. Namun, untuk desain tindakan berulang (termasuk banyak desain longitudinal), nlmeadalah alat karena hanya nlmemendukung menentukan struktur korelasi untuk residu. Anda melakukannya menggunakan argumen correlationsatau cordengan corStructobjek. Ini juga memungkinkan Anda untuk memodelkan heteroskedastisitas menggunakan varFuncobjek.

AlefSin
sumber
13

Sebenarnya ada sejumlah paket dalam R untuk pas model efek campuran luar lme4dan nlme. Ada wiki yang dijalankan oleh grup minat khusus R untuk model campuran, yang memiliki FAQ yang sangat bagus dan halaman yang membandingkan paket yang berbeda .

Adapun pendapat saya tentang benar-benar menggunakan lme4dan nlme: Saya menemukan lme4secara umum lebih mudah digunakan karena ekstensi yang agak langsung dari sintaks rumus R dasar. (Jika Anda perlu bekerja dengan model aditif umum, maka gamm4paket memperpanjang sintaks ini satu langkah lebih lanjut dan sehingga Anda memiliki kurva belajar yang bagus dan mulus.) Seperti yang telah disebutkan, lme4dapat menangani model umum (fungsi tautan lain dan distribusi kesalahan), sementara nlmeFokus pada fungsi tautan Gaussian memungkinkannya melakukan beberapa hal yang sangat sulit dalam kasus umum (menentukan struktur kovarians dan hal-hal tertentu yang bergantung pada perhitungan derajat kebebasan, seperti nilai-p, yang belakangan saya anjurkan Anda untuk pindah jauh dari!).

Livius
sumber