+ All Categories
Home > Documents > winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and...

winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and...

Date post: 22-Mar-2018
Category:
Upload: nguyendieu
View: 215 times
Download: 3 times
Share this document with a friend
18
winBUGS and openBUGS PUBH 8442: Bayes Decision Theory and Data Analysis Eric F. Lock UMN Division of Biostatistics, SPH [email protected] 04/19/2017 PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS
Transcript
Page 1: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

winBUGS and openBUGS

PUBH 8442: Bayes Decision Theory and Data Analysis

Eric F. LockUMN Division of Biostatistics, SPH

[email protected]

04/19/2017

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 2: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

Bayesian estimation software

I Several stand-alone applications and add-ons to estimateBayesian models

I Stand-alone applications:

I Bayesian Inference using Gibbs Sampling (BUGS): winBUGSand openBUGS

I Just Another Gibbs Sampler (JAGS), maintained by MartinPlummer and others

I Stan, maintained by Andrew Gelman and others

I Packages in R

I Package MCMC, maintained by Charles Greyer

I Package Nimble, maintained by Chris Paciorek and others

I Packages to run openBUGS, rjags, or STAN through R

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 3: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

winBUGS and openBUGS: history

I The BUGS project started in early 1990’s from the MRCBiostatistics Unit, Cambridge

I WinBUGS first introduced in mid-90s

I Became widely adopted software for Bayesian modeling inmany application areas

I openBUGS was introduced more recently

I Very similar to winBUGS, but open-source and slightly moreflexible

I Development is now focused on openBUGS

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 4: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

openBUGS: Installing

I Download openBUGS from this link.

I Straightforward in Windows or Linux

I For a Mac, this worked for me:

I Download Wine.app from the Wine Bottler website

I Install Wine.app – this will facilitate running Windowsprograms.

I Download the windows .exe file from openBUGS

I Run this .exe file to install openBUGS (double-clicking shouldopen it in Wine)

I Run the OpenBUGS.exe from the application folder (again,this should open automatically in Wine)

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 5: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

openBUGS: input

I openBUGS is a mix of “point-and-click” menus and commandcode

I Input for a given application consists of the model, data, andinitialization

I The model is given in BUGS language, which has syntaxsimilar to R

I Define sampling model, and the distribution for each parameter

I BUGS recognizes several common distributions

I Example syntax for normal-normal model with flat prior:model{

for(i in 1:n){y[i] ∼ dnorm(mu, Prec) #2nd parameter is precision, NOT

variance}mu ∼ dflat()}

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 6: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

openBUGS: input

I Data and fixed parameters are specified in list form, withsyntax similar to R:list(Prec=0.5, y=c(2.6,1.2,-0.4,3.7,3.1),n=5)

I Initial values are also given in list formlist(mu = 0)

I It is often not required to specify initial values, as these areprovided automatically by openBUGS.

I However, the default initializations may be poor

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 7: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

openBUGS: estimation approach

I openBUGS estimates the posterior through Gibbs samplingand MH-sampling

I Several known conjugate posteriors are recognized, allowingGibbs sampling directly from full conditionals

I MH proposals used for unknown full conditionals

I User can specify

I Number of MCMC chains (potentially with different initialvalues)

I Total number of iterations and burn-in

I Thinning number I - This will select every I ’th draw forposterior inference

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 8: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

openBUGS: output

I Output for posterior inference:

I Percentiles, summary statistics, and MCMC error for posteriordraws

I Kernel density estimates based on posterior draws

I Output for MCMC diagnostics:

I Trace plots of mcmc draws (’history’ option gives full chain)

I Acceptance rate

I Autocorrelation plots

I Output for model assessment:

I Deviance information criterion (DIC) – will discuss this morelater!

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 9: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

openBUGS screenshots

Specify model, etc. in editor

Select Model → Specification, then check, load, and compilemodel

Highlight relevant portion of text before each button

 

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 10: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

openBUGS screenshots

For estimation select Model→Update Tool andInference→Sample Monitor Tool

Sample Monitor allows you to specify nodes (variables totrack) and create output, Update Tool actually runs theMCMC

 

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 11: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

openBUGS screenshots

Output:

 

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 12: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

Example: Beetle toxicity

I Flour beetles are exposed to a toxic substance at 5 differentconcentrations1

I Let xi be the log-concentration for i = 1, . . . , 5

I ni is the number of beetles exposed at concentration i

I yi is the number of beetles who die

I Model:yi | θi ∼ Binomial(θi , ni )

log

(θi

1− θi

)= α + βxi

π(α, β) = 1× Normal(β|0, 1000)

1Example and data inspired byhttp://math.tut.fi/~piche/bayes/winbugs_lecture.pdf

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 13: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

Example: Beetle toxicity

Given data:

xi ni yi-0.863 5 0-0.296 5 1-0.053 5 30.727 5 5

We are interested in LD50, the log-concentration at which50% of beetles die

LD50 = −αβ

Estimate in openBUGS, running MCMC from two differentinitializations

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 14: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

Example: Beetle toxicity

BUGS code:

model{for(i in 1:nx){

logit(theta[i]) <- alpha+beta*x[i]y[i] ∼ dbin(theta[i],n[i])}alpha ∼ dflat()beta ∼ dnorm(0, 0.001)LD50 <- -alpha/beta }

#datalist(y=c(0,1,3,5), n=c(5,5,5,5), x=c(-0.863,-0.296,-0.53,0.727), nx=4)#init 1:list(alpha=0, beta=0)#init 2:list(alpha=0,beta=5)

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 15: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

Example: Beetle toxicity

Output:

 

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 16: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

Example: Beetle toxicity

Output:

 

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 17: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

Example: Beetle toxicity

Estimated LD50 is −0.2744, with 95% credible interval

LD50 ∈ (−0.5529, 0.1503)

Output:

 

 

PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS

Page 18: winBUGS and openBUGS - ericfrazerlock.comericfrazerlock.com/WinBUGS_and_openBUGS.pdfwinBUGS and openBUGS: history I The BUGS project started in early 1990’s from the MRC Biostatistics

openBUGS doodle

As an alternative to specifying model in BUGS syntax, theDoodle option can specify a hierarchical model graphically

Example (http://web.engr.oregonstate.edu/~tgd/classes/519/assignment1.html):

 

 PUBH 8442: Bayes Decision Theory and Data Analysis winBUGS and openBUGS


Recommended