Friday, April 8, 2011

BUGS and related

(People who aren't interested in automated Markov chain Monte Carlo sampling, or have no idea what it is, should probably stop reading now.)

Got an e-mail from a student trying to get the WinBUGS examples in Chapter 7 of the book to work, on MacOS under WINE.  Here's what I told her:

My advice, unless you really need WinBUGS, would be to switch to JAGS: there are some cases where WinBUGS is faster, and a few things that WinBUGS does that JAGS doesn't, but on the whole JAGS is very good. In fact,
I have mostly been using JAGS rather than WinBUGS these days, because I'm now mostly working in Linux (Ubuntu) under VMWare on a Mac -- I couldn't face installing WINE under VMWare (and hence dealing with two levels of virtualization ...).


Despite my generally good feelings about the idea of BUGS (a useful general-purpose language for expressing multilevel models, with several independently implemented backends for automatically generating computational samplers from specified models: I say this in my ESA forum paper [paywalled link; contact me if you want it and can't get it], I find the BUGS/R ecosystem a bit of a mess.

  • WinBUGS is old and very stable, and has a few nice extensions like GeoBUGS (don't know if these exist in OpenBUGS yet ... ?),  but (1) is free ("gratis") but not open source ("libre"), (2) only runs under WINE on non-Windows platform
  • OpenBUGS is newer, shinier, and more open, but ... (1) doesn't run on the Mac (at least, the home page says "for Windows and Linux personel [sic] computers"); (2) it's not clear (to me at least) how to run it from within R on Linux (again from the home page, "At present the BRugs R functions do not work under Linux".  (After some more poking around, I see that there is some recently developed stuff that looks like it will make BRugs and OpenBUGS work on Linux as well as Windows (but not Mac??) -- but this is still sort of in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying 'Beware of the Leopard' (this will supposedly, eventually, make it to CRAN -- Emmanuel Charpentier posted to the R list a while ago mentioning this stuff ...)
  • ...)
  • the R interfaces are somewhat hard to navigate, too. coda is old and stable and fairly straightforward, but figuring out the various versions of plots and fitted objects that come out of R2WinBUGS, R2jags, Rjags (the latter two are different!), and arm, is a bit tricky.
Someone (other than me!) ought to spend some time documenting this and cleaning it up ...