[R] MCMC/Bayesian framework in R?

Carsten Dormann carsten.dormann at ufz.de
Thu Jul 2 10:26:47 CEST 2009


Dear R-users (and developers),

I am looking for an efficient framework to carry out parameter 
estimations based on MCMC (optionally with specified priors). My goal is 
as follow:
* take ANY R-function returning a likelihood-value (this function may 
itself call external programmes or other code!)
* run a sampler that covers the multidimensional parameter space (thus 
creating a posterior distribution)
* do the above efficiently (!)

What I want to estimate with this type of setup (apart from the optimal 
parameter values themselves):
* parameter uncertainty (i.e. the posterior distribution, indicating how 
much support the data give to each model parameter)
* parameter interdependency (to somehow measure effective model complexity)
Both I would extract from the MCMC-trace.

Sounds simple? It possibly is - just not for me.
I compared several MCMC algorithms implemented in R, from Win/OpenBUGS 
over MCMCmetrop1R (MCMCpack; my current favourite) and metrop (mcmc) to 
gibbs and rwmetrop (LearnBayes) and gibbs_met (gibbs.met). These 
implementations differ dramatically in efficiency (MCMCmetrop1R was over 
20 times faster than gibbs_met).
Since my functions can be complex (mainly ODEs, complex environmental 
models programmed in Fortran or C to be called by the system-function), 
I cannot use OpenBUGS or JAGS.

MCMCmetrop1R samples from a multinormal distribution, but I would like 
to have the option to use priors (that's what I refer to as "Bayesian" 
here: sorry for irritating statisticians with this interpretation). HOW?

What I did so far (in vain) to find the answer:
I searched the R-help list (MCMC, Bayes) for suitable threads.
I looked at all packages listed in R task view Bayesian 
(http://cran.r-project.org/web/views/Bayesian.html), even those written 
for specific problems (e.g. regression)
I searched "the internet" for alternative names for the concepts, or 
alternative implementation frameworks (e.g. sage)

Before I start programming (in C inefficiently myself), I would like to 
seek your advice.

Any help (also implementations in other languages/software as long at it 
is GPL or alike) would be appreciated!

Cheers,

Carsten

-- 
Dr. Carsten F. Dormann
Department of Computational Landscape Ecology
Helmholtz Centre for Environmental Research-UFZ 
Permoserstr. 15
04318 Leipzig
Germany

Tel: ++49(0)341 2351946
Fax: ++49(0)341 2351939
Email: carsten.dormann at ufz.de
internet: http://www.ufz.de/index.php?de=4205




More information about the R-help mailing list