Just Another Gibbs Sampler (JAGS) is a program for analysis of Bayesian hierarchical models using Markov chain Monte Carlo (MCMC) developed by Martyn Plummer. Its modeling abilities are similar to WinBUGS/OpenBUGS through the use of a dialect of the same modeling language (informally, BUGS), but it provides no GUI for model building and MCMC samples postprocessing, which must therefore be treated in a separate program (for example calling JAGS from R through a library such as rjags and post-processing MCMC output in R).
Its main advantage in comparison to the members of the original BUGS family (WinBUGS and OpenBUGS) is its platform independence. It is written in C++, while the BUGS family is written in Component Pascal, which is only available for Windows. Therefore it is already part of many repositories of Linux distributions like Ubuntu. It can also be compiled as a 64-bit application on 64-bit platforms, thus making all the addressable space available to BUGS models.
JAGS can be used via prompts and script files. This means that there is no need to redo the settings with every run and that the program can be called and controlled from within another program (e.g. R via rjags as outlined above).
JAGS implement a BUGS dialect slightly different of the one implemented in WinBUGS/OpenBUGS, with drawbacks (no cut() operator in the current (2.2.0) version), advantages (vector and matrix operations do not need explicit looping), and different choices (the I(,) operator is replaced by C(,) and T(,) operators with distinct (and clearer) semantics); the current (2.2.0) version offers fewer convenience functions (e. g. dgeneric()) and less syntactic sugar, but more probability functions, it can, however, be more easily extended through user-written (C++) modules. JAGS also requires restructuring older WinBUGS models (separation of the data handling and modeling parts).
It is licensed under the GNU General Public License.
To download JAGS, please visit the files page of the mcmc-jags project at sourceforge.
Binaries for Linux are distributed separately.
There are packages for various RPM-based Linux distributions (RHEL 5; OpenSuSE 10, 11; SLES 9, CentOS 5,6) (Thanks to Lars Vilhuber), Debian and the development version of Ubuntu (Thanks to Dirk Eddelbuettel).
Daniel Meliza also maintains a port of JAGS on MacPorts.
If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog: