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:
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, 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 .
R<(Matlab,Python)<C
en términos de eficiencia (ver, por ejemplo, enlace )