Me preguntaba qué paquete estadístico de software recomiendan ustedes para realizar la Inferencia Bayesiana.
Por ejemplo, sé que puede ejecutar openBUGS o winBUGS como independientes o también puede llamarlos desde R. Pero R también tiene varios de sus propios paquetes (MCMCPack, BACCO) que pueden hacer análisis bayesianos.
¿Alguien tiene alguna sugerencia sobre qué paquete de estadísticas bayesianas en R es mejor o sobre otras alternativas (Matlab o Mathematica?)
Las principales características que estoy buscando comparar son rendimiento, facilidad de uso, estabilidad y flexibilidad.
R<(Matlab,Python)<C
en términos de eficiencia (ver, por ejemplo, enlace )Respuestas:
Las variantes de ERRORES externos son el estándar. Trabajar dentro de R puede ser conveniente, pero me sorprendería si esos paquetes son tan maduros y funcionan tan bien. El uso de una biblioteca que une R y el programa externo suele ser el compromiso más común.
Utilizo el combo jags / rjags (los jags podrían considerarse aproximadamente un dialecto de errores). No he probado las otras variantes de errores, pero los informes que he escuchado son que el rendimiento y la capacidad de jags para lidiar con problemas numéricos es un poco mejor que las otras variantes de errores. Encuentro que los jags son fáciles de usar, pero, por supuesto, necesita algún conocimiento del análisis de datos bayesianos para saber cómo usarlo.
fuente
Dentro de las 3 variantes de BUGS (openBUGS / winBUGS, jags), jags parece ser el más prometedor para el futuro desarrollo de características, y openBUGS / winBUGS parecen ser proyectos muertos. Sin embargo, a jags todavía le faltan algunas bondades presentes en openBUGS / winBUGS (también mire aquí ). Por otro lado, jags ha eliminado algunas limitaciones presentes en WinBUGS, por ejemplo:
La buena noticia es que con la mayoría de los modelos, puede ejecutarlos en las 3 herramientas con solo cambios mínimos, por lo que puede cambiar a una herramienta diferente más tarde sin muchos problemas (eso es lo que hago).
Sin embargo, por algunas razones (por ejemplo, falta de paralelismo y naturaleza de intérprete) , ¡no es cierto que estas variantes de BUGS sean la forma más rápida de hacer análisis bayesianos! De hecho, todo lo contrario. Los proyectos de BUGS son buenos para probar y desarrollar modelos complicados en pequeños conjuntos de datos . Una vez que haya desarrollado el modelo y necesite ejecutarlo repetidamente en grandes conjuntos de datos, es más eficiente utilizar diferentes herramientas.
Por ejemplo el se dice que el combo CppBugs / rcpp es 5-10 veces más rápido que las variantes BUGS. El principio es que básicamente compilas tu modelo en un programa C ++, que se ejecuta mucho más rápido. También eche un vistazo al blog de Dirk Eddelbuettel para la prueba Rcpp : se ve brutalmente rápido. También puedes jugar con paralelismo.
También puede hacer cálculos paralelos en WinBUGS usando bugsparallel .
fuente
Stan
es probable que se convierta en la pieza de software para los modelos bayesianos.