idea for GSoC: an R package for fitting Bayesian Hierarchical Models
Above all, tnx Ben for taking time to read about my proposal! 2008/3/24, Ben Bolker <bolker at ufl.edu>:
Antonio, Fabio Di Narzo <antonio.fabio <at> gmail.com> writes:
> > I've put online a temp web page with some more info (and sources): > > http://antonio.fabio.googlepages.com/rgs%3Athergibbssampler > > Bests, > Antonio. >
Have you seen Jouni Kerman's Umacs package? It sounds similar in spirit.
Ya. But speeds are rather different. I admittely missed a comparison with Umacs in my short demo. However, from some early experiments (I'm doing while I'm writing), as I suspected, my approach results being many times faster than Umacs, even if one doesn't specify samplers as C code. Things goes even better for my demo implementation if one tries to plug in samplers specified as pure C code, which would further eliminate a lot of memory allocations/deallocations behind those "rnorm()". My aim is to obtain something which achieves decent speed, compared with JAGS. I mean, I can easily experiment new samplers by using an interpreted language, but if at the end I obtain something which is *many* times slower than JAGS (which is moreover much more robust and easier to work with), the whole stuff results being of little pratical interest. More: how can one really experiment a new custom sampler if doing some thousands iterations takes forever, so that checking your sampler pratical behaviour is a pain (I speak about my personal experience)? That's why I want to always keep attention on speed, and give the possibility to the user to either use R or C code at his choice, with the ability to modify model node values in place, without unneeded 'malloc's. Ya, I would abandon pure functional style... I will try to add a reproducible benchmark comparing my demo implementation with JAGS and Umacs. However, I see that the problem here is still finding someone interested in it at all.
Something I would love to see done (not that I have the time and energy to supervise someone to do it right now) would be an R (or Python/etc.: R wouldn't necessarily be the best tool) to translate lmer/nlme syntax (Wilkinson-Rogers with extensions for specifying random factors, correlation structures, etc.) into a BUGS file. It strikes me that it would be a really nice way to bridge the gap between what mixed-model code can do and what requires BUGS/MCMC. Such models could also serve as (1) a way to cross-check the results of mixed model code; (2) a way to get started in relaxing the assumptions of mixed models (e.g. allowing for non-normal random effects distributions).
That sounds interesting. However, I currenlty don't have enough know-how to work at something like it now. Antonio.
Ben Bolker
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel