Jika kita memasang glmer, kita mungkin mendapat peringatan yang memberitahu kita bahwa model tersebut mengalami kesulitan untuk berkumpul ... misalnya
>Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 0.00389462 (tol = 0.001)
Cara lain untuk memeriksa konvergensi yang dibahas di utas ini oleh @Ben Bolker adalah:
relgrad <- with(model@optinfo$derivs,solve(Hessian,gradient))
max(abs(relgrad))
#[1] 1.152891e-05
jika max(abs(relgrad))
ini <0.001
maka hal-hal mungkin ok ... jadi dalam hal ini kita memiliki hasil yang bertentangan? Bagaimana kita harus memilih antara metode dan merasa aman dengan model kita yang cocok?
Di sisi lain ketika kita mendapatkan nilai yang lebih ekstrem seperti:
>Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 35.5352 (tol = 0.001)
relgrad <- with(model@optinfo$derivs,solve(Hessian,gradient))
max(abs(relgrad))
#[1] 0.002776518
Apakah ini berarti kita harus mengabaikan hasil model / perkiraan / nilai-p? Apakah 0,0027 terlalu besar untuk diproses?
Ketika pengoptimal yang berbeda memberikan hasil yang berbeda dan pemusatan variabel / menghapus parameter (pengupasan model ke minimum) tidak membantu tetapi VIF rendah, model tidak overdispersed, dan hasil model masuk akal berdasarkan harapan apriori, tampaknya sulit untuk mengetahui apa yang harus dilakukan.
Saran tentang bagaimana menafsirkan masalah konvergensi, betapa ekstremnya mereka perlu untuk benar-benar membuat kita khawatir dan cara yang mungkin untuk mencoba mengelolanya di luar yang disebutkan akan sangat membantu.
Menggunakan:
R version 3.1.0 (2014-04-10)
danlme4_1.1-6
sumber
lme4
(versi 1.1-7) memiliki perilaku peringatan yang berbeda yang menurut penulis cenderung kurang memberikan peringatan "false alarm". Anda dapat mencoba memperbaruilme4
ke versi terbaru, memasang model lagi, dan melihat apakah Anda masih mendapatkan peringatan yang sama, setidaknya dalam kasus pertama.Jawaban:
Takut. Sangat takut.
Tahun lalu, saya mewawancarai John Nash, penulis optim dan optimx, untuk sebuah artikel di situs DeveloperWorks IBM. Kami berbicara tentang bagaimana pengoptimal bekerja dan mengapa mereka gagal ketika mereka gagal. Dia sepertinya menerima begitu saja yang sering mereka lakukan. Itu sebabnya diagnostik termasuk dalam paket. Dia juga berpikir bahwa Anda perlu "memahami masalah Anda", dan memahami data Anda. Semua itu berarti bahwa peringatan harus ditanggapi dengan serius, dan merupakan undangan untuk melihat data Anda dengan cara lain.
Biasanya, pengoptimal berhenti mencari ketika tidak dapat lagi meningkatkan fungsi kerugian dengan jumlah yang berarti. Tidak tahu ke mana harus pergi selanjutnya, pada dasarnya. Jika gradien fungsi kerugian bukan nol pada titik itu, Anda belum mencapai ekstrem apa pun. Jika Goni tidak positif, tetapi gradiennya nol, Anda belum menemukan minimum, tetapi mungkin, Anda memang menemukan titik maksimum atau pelana. Namun, tergantung pada pengoptimal, hasil tentang Goni mungkin tidak disediakan. Di Optimx, jika Anda ingin kondisi KKT dievaluasi, Anda harus memintanya - kondisi tersebut tidak dievaluasi secara default. (Kondisi ini melihat gradien dan Goni untuk melihat apakah Anda benar-benar memiliki minimum.)
Masalah dengan model campuran adalah bahwa estimasi varians untuk efek acak dibatasi menjadi positif, sehingga menempatkan batas dalam wilayah optimisasi. Tetapi anggaplah efek acak tertentu tidak benar-benar diperlukan dalam model Anda - yaitu varians dari efek acak adalah 0. Pengoptimal Anda akan menuju ke batas itu, tidak dapat melanjutkan, dan berhenti dengan gradien yang tidak nol. Jika menghapus efek acak meningkatkan konvergensi, Anda akan tahu itu masalahnya.
Sebagai tambahan, perhatikan bahwa teori kemungkinan maksimum asimptotik mengasumsikan MLE ditemukan di titik interior (yaitu tidak pada batas nilai parameter yang sah) - jadi tes rasio kemungkinan untuk komponen varians mungkin tidak berfungsi ketika memang hipotesis nol nol varians adalah benar. Pengujian dapat dilakukan dengan menggunakan tes simulasi, seperti yang diterapkan dalam paket RLRsim.
Bagi saya, saya curiga bahwa pengoptimal mengalami masalah ketika ada terlalu sedikit data untuk jumlah parameter, atau model yang diusulkan benar-benar tidak cocok. Pikirkan sepatu kaca dan saudara tiri yang jelek: Anda tidak bisa memasukkan data ke dalam model, tidak peduli seberapa keras Anda mencoba, dan sesuatu harus diberikan.
Bahkan jika data sesuai dengan model, mereka mungkin tidak memiliki kekuatan untuk memperkirakan semua parameter. Suatu hal yang lucu terjadi pada saya di sepanjang garis itu. Saya mensimulasikan beberapa model campuran untuk menjawab pertanyaantentang apa yang terjadi jika Anda tidak mengizinkan efek acak dikorelasikan saat memasang model efek campuran. Saya mensimulasikan data dengan korelasi kuat antara dua efek acak, kemudian cocok dengan model dua arah dengan kata lain: menempatkan 0 korelasi dan korelasi bebas. Model korelasi cocok lebih baik daripada model yang tidak berkorelasi, tetapi yang menarik, dalam 1000 simulasi, saya memiliki 13 kesalahan saat pemasangan model yang benar dan 0 kesalahan saat pemasangan model yang lebih sederhana. Saya tidak sepenuhnya mengerti mengapa ini terjadi (dan saya mengulangi sims untuk hasil yang sama). Saya menduga bahwa parameter korelasi tidak berguna dan pengoptimal tidak dapat menemukan nilai (karena tidak masalah).
Anda bertanya tentang apa yang harus dilakukan ketika pengoptimal yang berbeda memberikan hasil yang berbeda. John dan saya membahas hal ini. Beberapa pengoptimal, menurutnya, tidak begitu bagus! Dan semuanya memiliki titik kelemahan - yaitu, kumpulan data yang akan menyebabkan mereka gagal. Inilah sebabnya ia menulis optimx, yang mencakup beragam pengoptimal. Anda dapat menjalankan beberapa di set data yang sama.
Jika dua pengoptimal memberikan parameter yang sama, tetapi diagnostik yang berbeda - dan parameter tersebut masuk akal di dunia nyata - maka saya akan cenderung mempercayai nilai parameter. Kesulitannya bisa terletak pada diagnosa, yang tidak bodoh. Jika Anda belum memberikan fungsi gradien dan / atau matriks Hessian secara eksplisit, pengoptimal perlu memperkirakannya dari fungsi kehilangan dan data, yang merupakan hal lain yang bisa salah.
Jika Anda mendapatkan nilai parameter yang berbeda juga, maka Anda mungkin ingin mencoba nilai awal yang berbeda dan melihat apa yang terjadi kemudian. Beberapa pengoptimal dan beberapa masalah sangat sensitif terhadap nilai awal. Anda ingin memulai di taman bola.
sumber
Saya hanya ingin melengkapi jawaban hebat @ Placidia. Anda mungkin ingin memeriksa "Model Linear Kaya Parameter: Aditif, Seri Waktu, dan Model Spasial Menggunakan Efek Acak" oleh James Hodges (2014). Ini membahas apa yang tidak kita ketahui tentang model campuran dan pada saat yang sama mencoba untuk menawarkan teori yang luas serta tips praktis untuk pemasangan model yang kompleks.
Seorang modeler yang sering takut, saya menemukan diskusi Hodge tentang "teka-teki" tak ternilai. Dia menjelaskan kasus-kasus aneh yang muncul dari pemodelan efek campuran yang pas, termasuk "Efek acak bersaing dengan efek tetap" dan "Persaingan antara Efek Acak". Kedengarannya asing?
sumber