Editors note: I am very pleased to announce that Tomasz Miąsko has created a Python interface to JAGS. The rest of this post is by Tomasz.
Nowadays Python users certainly cannot complain about a lack of MCMC packages. We have emcee, PyMC, PyMC3, and PyStan to mention a few. Recently this list was extended by one more; PyJAGS – a Python interface to JAGS. JAGS is a program for analysis of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation, quite often used from within the R environment with the help of the rjags package. The PyJAGS package offers Python users a high-level API to JAGS, similar to the one found in rjags. Current rjags users interested in migrating to Python should feel at home. Of course, other interested in doing Bayesian data analysis may also find PyJAGS useful. Continue reading
I was saddened to hear of the death of Norm Breslow last week, at the age of 74. Continue reading
This post concerns a bug in JAGS 3.x.y. I wrote it quite a long time ago but was too embarrassed to post it. Now that JAGS 4.0.0 is out it is confession time.
It transpires that JAGS 4.0.0 for Mac OS X has an unwanted runtime dependency on libgfortran. The bugs module will not load on systems that do not have libgfortran installed. This has been corrected with the release of JAGS 4.0.1, now available from Sourceforge.
This is for Mac only. There will be no official release of JAGS 4.0.1 for other platforms, as these were unaffected by the bug.
After a long gestation period, JAGS 4.0.0 was finally released last week. If you go to the project page on Sourceforge then you should see an appropriate download link for your platform (binary packages for Windows and Mac OS X; source tarball for other platforms). Binary packages are also available for some Linux distributions. See the JAGS homepage for details.
Mac users should note that you need OS X 10.9 or later (i.e. Mavericks, Yosemite, or El Capitan). Older releases are no longer supported.
The rjags package for R has been updated to work with the new release of JAGS. It is not yet uploaded to CRAN, and the version of rjags that is available on CRAN (rjags_3-15) does not work with JAGS 4.0.0. However, you can download rjags_4-3 from Sourceforge. Again, binary packages are available for Windows (.zip) and Mac OS X (.tgz).
Somewhat undermining the premise of this series of posts, the last entry is about things that are not new.
The JAGS documentation needs a major overhaul. Although I started revising the documentation, I backed out my changes for the release of JAGS 4.0.0 because it would have taken too long to complete. It was much more important to get the new release out than to update the documentation. One motivation for writing these blog posts was to draw users’ attention to new features that I wanted people to be aware of, even though they are not documented. There are other features – new distributions and samplers – that are currently undocumented and hence hidden. These will miraculously appear as “new” features as they are documented during the JAGS 4.x.y release series.
The BUGS language is syntactically very similar to R and there are several packages that allow R users to interface with the JAGS library. When you are using both R and JAGS simultaneously, small differences between the languages can be frustrating. Consequently there is some pressure to narrow the gap between the two languages. There are some things we cannot change, such as the parameterization of the distributions, but there is a tendency for JAGS to become more R-like with each release. JAGS 4.0.0 introduces a few more R-like features. Continue reading