14 votos

Paquete de software óptimo para el análisis bayesiano

Me preguntaba qué paquete estadístico de software recomiendan ustedes para realizar la Inferencia Bayesiana.

Por ejemplo, sé que puedes ejecutar openBUGS o winBUGS como independientes o también puedes llamarlos desde R. Pero R también tiene varios paquetes propios (MCMCPack, BACCO) que pueden hacer análisis bayesianos.

¿Alguien tiene alguna sugerencia sobre qué paquete de estadística bayesiana en R es mejor o sobre otras alternativas (Matlab o Mathematica?)

Las principales características que quiero comparar son el rendimiento, la facilidad de uso, la estabilidad y la flexibilidad

1voto

Simon Forrest Puntos 2079

Las variantes externas de BUGS son el estándar. Trabajar dentro de R puede ser conveniente, pero me sorprendería que esos paquetes sean tan maduros y funcionen tan bien. El uso de una biblioteca que hace de puente entre R y el programa externo suele ser el compromiso más común.

Yo uso el combo jags/rjags (jags podría considerarse aproximadamente un dialecto de bugs). No he probado las otras variantes de bugs, pero los informes que he escuchado son que el rendimiento de jags y la capacidad de tratar con problemas numéricos es un poco mejor que las otras variantes de bugs. Encuentro que jags es fácil de usar, pero por supuesto, se necesita algún conocimiento de análisis de datos bayesianos para saber cómo usarlo.

1voto

Iwasakabukiman Puntos 518

Dentro de las 3 variantes de BUGS (openBUGS/winBUGS, jags) jags parece ser la más prometedora en cuanto al desarrollo de características futuras, y openBUGS/winBUGS parecen ser proyectos muertos. Sin embargo, jags aún carece de algunas de las características presentes en openBUGS/winBUGS (también mira aquí ). Por otro lado, jags ha eliminado algunas limitaciones presentes en WinBUGS, por ejemplo

x ~ dnorm(0, tau) 
tau ~ dgamma(1.0E-3, 1.0E-3) # in WinBUGS, you cannot do this, 1.0E-3 is too small 
                             # for dgamma (use e.g. dgamma(0.01, 0.01))

La buena noticia es que con la mayoría de los modelos, puedes ejecutarlos en las 3 herramientas con apenas cambios mínimos, por lo que puedes cambiar de herramienta más adelante sin muchos problemas (eso es lo que yo hago).

Sin embargo, por algunas razones (por ejemplo, la falta de paralelismo y la naturaleza del intérprete) No es cierto que estas variantes de BUGS sean la forma más rápida de hacer un análisis bayesiano. De hecho, es todo lo contrario. Los proyectos BUGS son buenos para probar y desarrollar modelos complicados en conjuntos de datos pequeños . Una vez que se tiene el modelo desarrollado, y se necesita ejecutarlo repetidamente en grandes conjuntos de datos, es más eficiente utilizar diferentes herramientas.

Por ejemplo, el CppBugs / rcpp se dice que es 5-10 veces más rápido que las variantes de BUGS. El principio es que básicamente compila su modelo en un programa C++, que se ejecuta mucho más rápido. También puedes echar un vistazo a Blog de Dirk Eddelbuettel para Rcpp test - parece brutalmente rápido. También puedes jugar con el paralelismo.

También puedes hacer cálculos paralelos en WinBUGS usando bugsparallel .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X