martyn plummer jags

8

Click here to load reader

Upload: david-lebauer

Post on 10-May-2015

339 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Martyn Plummer JAGS

JAGS: Just Another Gibbs Sampler

Martyn Plummer

International Agency for Research on Cancer

Ecological Forecasting WorkshopMarch 2014

Page 2: Martyn Plummer JAGS

Goals/Aims

I Portable implementation of BUGS languageI Interface to other software:

I User interface to RI Back-end interfact to C/C++/Fortran libraries

I Extensible

I A platform for experimenting with ideas in Bayesian modelling

Page 3: Martyn Plummer JAGS

History

Version Release Date

0.1 December 20021.0 December 20072.0.0 April 20103.0.0 August 20113.4.0 September 2013

I JAGS became feasible when theR Math functions becameavailable as a standalone library.

I JAGS has been in aconsolidation phase, with nochanges to the library API sinceAugust 2011

Page 4: Martyn Plummer JAGS

Technical Implementation

Very much like OpenBUGS:

I User writes a description of the model in the BUGS language

I An interpreter creates a virtual graphical model (VGM)

I Sampler factories inspect the VGM looking for design motifsto sample.

I User runs MCMC updates, monitoring mixing and convergence

But also not like OpenBUGS:

I No GUI.

I No output processing: use R or another package.

I Core library with dynamically loadable modules that providefunctions, distributions, samplers and monitors.

Page 5: Martyn Plummer JAGS

Strengths

I Portable (Windows, Mac OS X, Linux)

I Several R interfaces (rjags, R2jags, runjags)

I Widely used (> 10000 downloads of 3.3.0 - but I don’t knowwho these people are)

Page 6: Martyn Plummer JAGS

Limitations

For the user:

I High memory overhead (inherent to VGM design)

I Lack of support for Gaussian Markov Random Fields

For the developer:

I Lack of developer documentation

I No critical mass

Page 7: Martyn Plummer JAGS

Applications

I In my own field (epidemiology), there are standard models formost study designs

I But sources of “complexity” perturb the model outside therange of these standard models:

I Repeated measurements, hierarchical structure, missing data,measurement error, ...

I We use JAGS to build models that can be adapted to copewith complexity.

Page 8: Martyn Plummer JAGS

Current and future development

Disclaimer: there is no timeline on any of this

I HMC for GLMMs

I ParallelismI Compiler overhaul:

I if/else statementsI vectorized indexingI local variables in loops

I Potentials (Likelihoods that do not correspond to adistribution)

I Better treatment of censored survival data