En general, sugeriría no codificar su propio MCMC para un análisis bayesiano real aplicado. Esto es una buena cantidad de trabajo y tiempo, y es muy probable que introduzca errores en el código. Los muestreadores de Blackbox, como Stan, ya usan muestreadores muy sofisticados. Confía en mí, ¡no codificarás una muestra de este calibre solo para un análisis!
Hay casos especiales en los que esto no será suficiente. Por ejemplo, si necesita hacer un análisis en tiempo real (es decir, la decisión de la computadora basada en los datos entrantes), estos programas no serían una buena idea. Esto se debe a que Stan requiere compilar código C ++, lo que puede llevar mucho más tiempo que simplemente ejecutar una muestra ya preparada para modelos relativamente simples. En ese caso, es posible que desee escribir su propio código. Además, creo que hay casos especiales en los que los paquetes como Stan funcionan muy mal, como los modelos de espacio de estado no gaussianos (divulgación completa: creo Stan lo hace mal en este caso, pero no lo sé). En ese caso, puede valer la pena implementar un MCMC personalizado. ¡Pero esta es la excepción, no la regla!
Para ser sincero, creo que la mayoría de los investigadores que escriben muestreadores para un solo análisis (y esto sucede, lo he visto) lo hacen porque les gusta escribir sus propios muestreadores. Como mínimo, puedo decir que pertenezco a esa categoría (es decir, estoy decepcionado de que escribir mi propia muestra no sea la mejor manera de hacer las cosas).
Además, si bien no tiene sentido escribir su propia muestra para un solo análisis , puede tener mucho sentido escribir su propio código para una clase de análisis. Siendo que los JAG, Stan, etc. son muestreadores de caja negra, siempre puede acelerar las cosas especializándose para un modelo dado, aunque la cantidad de mejora depende del modelo. Pero escribir una muestra extremadamente eficiente desde cero es tal vez 10-1,000 horas de trabajo, dependiendo de la experiencia, la complejidad del modelo, etc. Si está investigando métodos Bayesianos o escribiendo software estadístico, está bien; es tu trabajo. Pero si su jefe dice "Oye, ¿puedes analizar este conjunto de datos de medidas repetidas?" y pasas 250 horas escribiendo una muestra eficiente, es probable que tu jefe esté molesto. En contraste, podría haber escrito este modelo en Stan en, digamos, 2 horas, y tener 2 minutos de tiempo de ejecución en lugar del tiempo de ejecución de 1 minuto logrado por el muestreador eficiente.