Saya ingin melakukan sesuatu dalam R yang dapat dilakukan SAS menggunakan campuran proc SAS (ada beberapa cara yang dapat dilakukan dalam STATA es dengan baik), yaitu menyesuaikan model Bivariat yang disebut dari Reitsma et al (2005). Model ini adalah model campuran khusus di mana varians tergantung pada penelitian (lihat di bawah). Googling dan berbicara dengan beberapa orang yang akrab dengan model tidak menghasilkan pendekatan langsung yang cepat pada saat yang sama (yaitu fungsi pemasangan model tingkat tinggi yang bagus). Namun saya yakin, ada sesuatu yang cepat di R yang bisa dibangun.
Singkatnya, seseorang dihadapkan pada situasi berikut: Pasangan proporsi yang diberikan di orang ingin mencocokkan normal bivariat dengan pasangan logit-transformed. Karena proporsi berasal dari tabel 2x2 (yaitu data binomial) setiap logit yang diubah proporsi yang diamati memiliki estimasi varians yang harus dimasukkan dalam proses pemasangan, katakanlah. Jadi orang ingin mencocokkan normal bivariat dengan pasangan, di mana matriks kovarians tergantung pada pengamatan, yaitu
dengan S adalah matriks diagonal dengan dan sepenuhnya tergantung pada data tetapi bervariasi dari observasi ke observasi. mu dan Sigma adalah sama untuk semua observasi sekalipun.
Saat ini saya menggunakan panggilan ke optim()
(menggunakan BFGS) untuk memperkirakan lima parameter (, , dan tiga parameter untuk ). Namun demikian ini sangat lambat, dan terutama tidak cocok untuk simulasi. Juga salah satu tujuan saya adalah untuk memperkenalkan koefisien regresi untuk mu nanti, meningkatkan jumlah parameter.
Saya mencoba mempercepat pemasangan dengan memasok nilai awal dan saya juga berpikir tentang menghitung gradien untuk lima parameter. Karena kemungkinan menjadi sangat kompleks karena penambahan, Saya merasa risiko memasukkan kesalahan dengan cara ini terlalu besar dan belum mencobanya, saya juga tidak melihat cara untuk memeriksa perhitungan saya.
Apakah perhitungan gradien biasanya bermanfaat? Bagaimana Anda memeriksanya?
Saya mengetahui pengoptimal lain selain itu optim()
, yaitu nlm()
dan saya juga tahu tentang tampilan tugas CRAN: Pengoptimalan. Manakah yang patut dicoba?
Trik macam apa yang ada untuk mempercepat optim()
selain mengurangi akurasi?
Saya akan sangat berterima kasih atas petunjuk apa pun.
sumber
Jawaban:
Ini mungkin bukan solusi yang Anda perkirakan, tetapi saya pikir Anda dapat menyesuaikan model ini dengan brms (yaitu sebagai antarmuka ke Stan), dengan apa yang disebutnya sebagai 'model distribusi' ... lihat https: //cran.r- project.org/web/packages/brms/vignettes/brms_distreg.html
Lihat juga sketsa ikhtisar di sini yang menunjukkan cara menyesuaikan model binomial. https://cran.r-project.org/web/packages/brms/vignettes/brms_overview.pdf
sumber