Bagaimana menerapkan model campuran menggunakan fungsi betareg di R?


12

Saya memiliki dataset yang terdiri dari proporsi yang mengukur "tingkat aktivitas" kecebong individu, oleh karena itu membuat nilai-nilai terikat antara 0 dan 1. Data ini dikumpulkan dengan menghitung berapa kali individu bergerak dalam interval waktu tertentu (1 untuk pergerakan, 0 untuk tanpa gerakan), dan kemudian dirata-rata untuk membuat satu nilai per individu. Efek tetap utama saya adalah "tingkat kepadatan".

Masalah yang saya hadapi adalah bahwa saya memiliki variabel faktor, "kolam" yang ingin saya sertakan sebagai efek acak - saya tidak peduli tentang perbedaan antar kolam, tetapi ingin memperhitungkannya secara statistik. Satu poin penting tentang kolam adalah bahwa saya hanya memiliki 3 dari mereka, dan saya mengerti itu ideal untuk memiliki lebih banyak tingkat faktor (5+) ketika berhadapan dengan efek acak.

Jika mungkin untuk dilakukan, saya ingin saran tentang bagaimana menerapkan model campuran menggunakan betareg()atau betamix()dalam R. Saya telah membaca file bantuan R, tapi saya biasanya menemukan mereka sulit untuk dipahami (apa yang masing-masing parameter argumen benar-benar berarti dalam konteks dari data saya sendiri DAN apa artinya nilai output dalam istilah ekologi) dan saya cenderung bekerja lebih baik melalui contoh.

Pada catatan terkait, saya bertanya-tanya apakah saya bisa menggunakan di glm()bawah keluarga binomial, dan tautan logit, untuk menyelesaikan penghitungan efek acak dengan data jenis ini.


tidak, Anda tidak dapat memasukkan istilah kesalahan di glm (). Bagaimana dengan logit mengubah respons Anda dan mempertimbangkan model linear campuran?
utobi

@utobi Terima kasih, saya akan coba ini. Jadi, Anda tidak perlu khawatir memiliki efek acak dengan hanya 3 level?
Kat Y

Saya tidak tahu arti dari "kolam" variabel Anda, tetapi jika Anda telah mengulangi tindakan, efek acak hampir menjadi keharusan. Jika Anda tidak memiliki tindakan berulang, di sini acak vs tetap adalah debat terbuka. Tiga tingkat efek acak mungkin ok, pada prinsipnya variansnya dapat diperkirakan. Saya sarankan Anda untuk memeriksa literatur di bidang Anda. Sebuah buku bagus yang membahas tentang efek acak vs tetap adalah stat.columbia.edu/~gelman/arm .
utobi

1
@utobi terima kasih atas saran Anda. Itu sangat membantu. Saya akan melihat buku itu! Saya akhirnya melakukan transformasi logit dan menggunakan lmer ().
Kat Y

Jawaban:


11

Kemampuan saat ini betaregtidak termasuk efek acak / campuran. Di dalam betareg()Anda hanya dapat memasukkan efek tetap, misalnya, untuk variabel kolam tiga tingkat Anda. The betamix()Fungsi alat yang terbatas campuran beta regresi, bukan campuran efek beta regresi.

Dalam kasus Anda, saya pertama-tama akan mencoba untuk melihat apa efek efek faktor kolam tetap. Ini "biaya" Anda dua derajat kebebasan sementara efek acak akan sedikit lebih murah dengan hanya satu derajat tambahan kebebasan. Tetapi saya akan terkejut jika kedua pendekatan tersebut mengarah pada wawasan kualitatif yang sangat berbeda.

Akhirnya, sementara glm()tidak mendukung regresi beta, tetapi dalam mgcvpaket ada betar()keluarga yang dapat digunakan dengan gam()fungsi tersebut.


Terima kasih atas masukannya. Anda mengklarifikasi beberapa aspek fungsi betareg. Pada titik ini saya telah mengikuti saran @utobi dan melakukan transformasi logit sehingga saya dapat menggunakan lmer (). Saya akan melihat gam () karena dataset saya berikutnya juga terikat antara 0 dan 1, dan saya tidak dapat menormalkan distribusi melalui transformasi :)
Kat Y

1
Saya berharap bahwa pendekatan mengembalikan hasil yang sama tetapi juga beberapa perbedaan dari mana Anda bisa belajar sesuatu. Jadi saya akan merekomendasikan untuk mencoba ketiganya, yaitu, betaregdengan efek tetap, logit-diubah lmerdengan efek acak, dan gamdengan betar. (Dan juga: Jika jawabannya bermanfaat, pertimbangkan untuk meningkatkan atau menerimanya.)
Achim Zeileis

15

Paket glmmTMB mungkin bermanfaat bagi siapa pun yang memiliki pertanyaan serupa. Misalnya, jika Anda ingin memasukkan kolam dari pertanyaan di atas sebagai efek acak, kode berikut akan melakukan trik:

glmmTMB(y ~ 1 + (1|pond), df, family=list(family="beta",link="logit"))

Selamat Datang di CV. Terima kasih atas kontribusi anda. Ini bukan komentar daripada jawaban. Bisakah Anda memberikan jawaban Anda?
Ferdi

Maaf atas keterlambatannya, saya tidak melihat komentar dengan segera. Semoga itu bisa membantu.
Kori K

3

Ini dimulai sebagai komentar, tetapi berlangsung lama. Saya tidak berpikir model efek acak cocok di sini. Hanya ada 3 kolam - apakah Anda ingin memperkirakan varian dari 3 angka? Itulah yang terjadi dengan model efek acak. Saya menduga kolam dipilih dengan alasan kenyamanan mereka kepada peneliti, dan bukan sebagai sampel acak "Kolam Amerika".

Keuntungan dari model efek acak adalah memungkinkan Anda untuk membangun interval kepercayaan pada respons (tingkat aktivitas) yang memperhitungkan variasi kolam ke kolam. Model efek tetap - dengan kata lain, memperlakukan kolam seperti balok - menyesuaikan respons untuk efek kolam. Jika ada beberapa efek pengobatan tambahan - katakanlah dua spesies katak di setiap kolam - pemblokiran mengurangi kesalahan kuadrat rata-rata (penyebut uji F) dan memungkinkan efek perawatan bersinar.

Dalam contoh ini, tidak ada efek pengobatan dan jumlah kolam terlalu kecil untuk model efek acak (dan mungkin juga "non-acak"), jadi saya tidak yakin kesimpulan apa yang dapat diambil dari penelitian ini. Orang bisa mendapatkan perkiraan yang bagus tentang perbedaan antara kolam, tapi hanya itu. Saya tidak melihat kesimpulan yang ditarik ke populasi katak yang lebih luas di pengaturan kolam lainnya. Orang bisa membingkainya sebagai studi percontohan, saya kira.

Ingatlah bahwa setiap penggunaan model efek acak di sini akan memberikan perkiraan yang sangat tidak dapat diandalkan untuk varian kolam dan harus Digunakan Dengan Perhatian.

Tetapi untuk pertanyaan awal Anda - bukankah ini lebih merupakan masalah tarif? Distribusi masuk untuk acara-per-unit-waktu adalah Poisson. Jadi Anda bisa melakukan regresi Poisson menggunakan hitungan dengan interval waktu sebagai offset.

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.