From antonio.fabio at gmail.com  Mon Mar 24 10:47:21 2008
From: antonio.fabio at gmail.com (Antonio, Fabio Di Narzo)
Date: Mon, 24 Mar 2008 10:47:21 +0100
Subject: [Rd] idea for GSoC: an R package for fitting Bayesian
	Hierarchical Models
In-Reply-To: <loom.20080324T013004-719@post.gmane.org>
References: <b0808fdc0803210956k5b967d6paa9e572f72482df@mail.gmail.com>
	<b0808fdc0803220410n1b3fbc08k4f837a3355d04096@mail.gmail.com>
	<loom.20080324T013004-719@post.gmane.org>
Message-ID: <b0808fdc0803240247j767614ebm116100a9e8944f2e@mail.gmail.com>

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
>



[Rd] idea for GSoC: an R package for fitting Bayesian Hierarchical Models
Antonio, Fabio Di Narzo