180 likes | 329 Vues
This presentation provides an overview of using R2WinBUGS for Bayesian analysis, emphasizing its application for students in Bill Halteman’s MAT500 course. It discusses the fundamental concepts of Bayesian probability, including the incorporation of prior knowledge, random model parameters, and the generation of posterior distributions. Tools such as WinBUGS, OpenBUGS, and R packages like BRugs are introduced for effective data analysis. Practical examples, including snag survival data, illustrate the application of Bayesian methods in forestry research. Participants will gain insights into assessing results and updating models with new data.
E N D
R2WinBUGS: Using R for Bayesian Analysis Matthew Russell Rongxia Li 2 November 2010 2010 Northeastern Mensurationists Meeting
Bayesian ideologies8(aka what UMaine students needed to learn to pass Bill Halteman’s MAT500 course) • P(H|Y), not P(Y|H) • Probability is the likelihood of an event occurring • Prior knowledge can be incorporated • Model parameters are random variables
Benefits • Posterior distributions generated for model parameters • Statistics can be computed (e.g. mean, median, mode) • A formal distribution does not need to be assumed • Uncertainty of model parameters can be directly assessed • Models easily updated with new data • Consider old model as a prior
bayes* AND [forestry OR silvic*] Web of Science results:
WinBUGS • Software for Bayesian analysis using Markov chain Monte Carlo methods • Standard GUI • http://www.mrc-bsu.cam.ac.uk/bugs/ • OpenBUGS • Open source version of BUGS • Future development will be with OpenBUGS • www.openbugs.info
R packages • R2WinBUGS • Writes data and scripts in R and calls WinBUGS • Useful for: • running multiple datasets • changing model specifications • Results can be provided in R • BRugs • Collection of functions that allow graphical analysis
Snag survival • Probability of snag survival a function of time since tree death (Garber et al. 2005) • Seven species examined • BF, RS, EH, WS, WC, PB, RM
.bug file model{ for(i in 1:3) {b[i]~dnorm(0,1.0E-6)} prec~dgamma(0.001,0.001) for(i in 1:numTrees) { preds[i]<-1/(b[1]+b[2]*pow((t[i]),b[3])) Psurv[i]~dnorm(preds[i],prec) } } Specify priors Loop through trees
Assessing results from BUGS (from McCarthy 2007) • samplesHistory • If it is not white noise, it might be autocorrelation • Are samplesDensity truncated? • Priors might be inadequate • Bumpy samplesDensity? • Consider more samples • Specify different initial values… do you get the same results? • Consider Gelman-Rubin statistic • Measures the influence of specifying initial values
Other OS and other programs • WinBUGS can be run on Linux/Unix/Mac through Wine • But JAGS (Just Another Gibbs Sampler) might work better for Linux users • http://www-fis.airc.fr/~martyn/software/jags/ • Macros available for SAS/Excel • Matlab-WinBUGS GUI available
Sources http://www.mrc-bsu.cam.ac.uk/bugs/ WinBUGS R2WinBUGS OpenBUGS BRugs JAGS McCarthy, M.A. 2007. Bayesian methods for ecology. Cambridge Univ. Press. 296 pp. Gelman et al. 2004. Bayesian data analysis. Chapman Hall/CRC. 696 pp. Albert, J. 2009. Bayesian computation with R. Springer. 300 pp.
Summary • Plenty of tools available for Bayesian analysis with R • All are open source • Coding is not terribly complex • Lots of measures for assessing results • Graphical • Empirical • R2WinBUGS as a learning tool for Bayesian methods