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.
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.