[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