Secara umum, saya sangat menyarankan untuk tidak mengkode MCMC Anda sendiri untuk analisis Bayesian nyata. Ini adalah pekerjaan dan waktu yang baik dan sangat mungkin untuk memperkenalkan bug dalam kode. Sampler blackbox, seperti Stan, sudah menggunakan sampler yang sangat canggih. Percayalah, Anda tidak akan membuat kode sampler kaliber ini hanya untuk satu analisis!
Ada kasus khusus di mana dalam hal ini tidak akan cukup. Misalnya, jika Anda perlu melakukan analisis secara real time (yaitu keputusan komputer berdasarkan data yang masuk), program ini tidak akan menjadi ide yang baik. Ini karena Stan memerlukan kompilasi kode C ++, yang mungkin memerlukan waktu lebih lama daripada hanya menjalankan sampler yang sudah disiapkan untuk model yang relatif sederhana. Dalam hal ini, Anda mungkin ingin menulis kode Anda sendiri. Selain itu, saya percaya ada kasus-kasus khusus di mana paket-paket seperti Stan melakukan sangat buruk, seperti model ruang-ruang Non-Gaussian (pengungkapan penuh: Saya percaya Stan melakukan buruk dalam kasus ini, tetapi tidak tahu). Dalam hal itu, mungkin layak untuk mengimplementasikan MCMC khusus. Tapi ini pengecualian, bukan aturannya!
Sejujurnya, saya pikir sebagian besar peneliti yang menulis sampler untuk analisis tunggal (dan ini memang terjadi, saya telah melihatnya) melakukannya karena mereka suka menulis sampler sendiri. Paling tidak, saya dapat mengatakan bahwa saya termasuk dalam kategori itu (yaitu saya kecewa karena menulis sampler sendiri bukan cara terbaik untuk melakukan sesuatu).
Juga, walaupun tidak masuk akal untuk menulis sampler Anda sendiri untuk analisis tunggal , akan lebih masuk akal untuk menulis kode Anda sendiri untuk kelas analisis. Menjadi bahwa JAG, Stan, dll. Adalah sampler kotak hitam, Anda selalu dapat membuat segalanya lebih cepat dengan mengkhususkan untuk model yang diberikan, meskipun jumlah peningkatan tergantung pada model. Tetapi menulis sampler yang sangat efisien dari bawah ke atas mungkin 10-1.000 jam kerja, tergantung pada pengalaman, kompleksitas model, dll. Jika Anda melakukan penelitian dalam metode Bayesian atau menulis perangkat lunak statistik, itu bagus; itu pekerjaanmu. Tetapi jika bos Anda mengatakan, "Hei, Anda bisa menganalisis kumpulan data pengukuran berulang ini?" dan Anda menghabiskan 250 jam menulis sampler yang efisien, bos Anda cenderung kesal. Sebaliknya, Anda bisa menulis model ini di Stan dalam, katakanlah, 2 jam, dan memiliki 2 menit waktu berjalan alih-alih 1 menit waktu berjalan yang dicapai oleh sampler efisien.