Just another Gibbs sampler
Encyclopedia
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 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-bits application on 64-bits platforms, thus making all the addressable space available to BUGS models.
Another advantage JAGS has over WinBUGS
is that it can be used via prompts and script files again, as it was possible with classic BUGS. 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
.
Markov chain Monte Carlo
Markov chain Monte Carlo methods are a class of algorithms for sampling from probability distributions based on constructing a Markov chain that has the desired distribution as its equilibrium distribution. The state of the chain after a large number of steps is then used as a sample of the...
(MCMC) developed by Martyn Plummer. Its modeling abilities are similar to WinBUGS
WinBUGS
WinBUGS is statistical software for Bayesian analysis using Markov chain Monte Carlo methods.It is based on the BUGS project started in 1989...
/OpenBUGS
OpenBUGS
OpenBUGS is a computer software for the Bayesian analysis of complex statistical models using Markov chain Monte Carlo methods. OpenBUGS is the open source variant of WinBUGS . It runs under Windows and Linux, as well as from inside the R statistical package...
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
R (programming language)
R is a programming language and software environment for statistical computing and graphics. The R language is widely used among statisticians for developing statistical software, and R is widely used for statistical software development and data analysis....
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
WinBUGS
WinBUGS is statistical software for Bayesian analysis using Markov chain Monte Carlo methods.It is based on the BUGS project started in 1989...
and OpenBUGS
OpenBUGS
OpenBUGS is a computer software for the Bayesian analysis of complex statistical models using Markov chain Monte Carlo methods. OpenBUGS is the open source variant of WinBUGS . It runs under Windows and Linux, as well as from inside the R statistical package...
) is its platform independence. It is written in C++, while the BUGS family is written Component Pascal
Component Pascal
Component Pascal is a programming language in the tradition of Niklaus Wirth's Pascal, Modula-2, Oberon and Oberon-2. It bears the name of the Pascal programming language but is incompatible with it. Instead, it is a minor variant and refinement of Oberon-2, designed and supported by a small ETH...
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-bits application on 64-bits platforms, thus making all the addressable space available to BUGS models.
Another advantage JAGS has over WinBUGS
WinBUGS
WinBUGS is statistical software for Bayesian analysis using Markov chain Monte Carlo methods.It is based on the BUGS project started in 1989...
is that it can be used via prompts and script files again, as it was possible with classic BUGS. 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
R (programming language)
R is a programming language and software environment for statistical computing and graphics. The R language is widely used among statisticians for developing statistical software, and R is widely used for statistical software development and data analysis....
via rjags as outlined above).
JAGS implement a BUGS dialect slightly different of the one implemented in WinBUGS
WinBUGS
WinBUGS is statistical software for Bayesian analysis using Markov chain Monte Carlo methods.It is based on the BUGS project started in 1989...
/OpenBUGS
OpenBUGS
OpenBUGS is a computer software for the Bayesian analysis of complex statistical models using Markov chain Monte Carlo methods. OpenBUGS is the open source variant of WinBUGS . It runs under Windows and Linux, as well as from inside the R statistical package...
, 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
Syntactic sugar
Syntactic sugar is a computer science term that refers to syntax within a programming language that is designed to make things easier to read or to express....
, 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
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
.
External links
- JAGS web site
- JAGS, SourceForgeSourceForgeSourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...
page - JAGS, FreshPorts page