################ # WinBUGS code for 3-stage Bayesian GLM (Lindley and Smith, 1972) # See Example 4.2 in Carlin and Louis (2008) ################ model{ for( i in 1:n) { logage[i] <- log(x[i]) Y[i] ~ dnorm(meen[i] , tau) meen[i] <- beta[1]+ beta[2]*(logage[i] - mean(logage[])) } beta[1:2] ~ dmnorm(mu[], R[ , ]) mu[1] ~ dflat() mu[2] ~ dflat() R[1:2, 1:2] ~ dwish(Omega[ , ], 2) tau <- 1/(sigma*sigma) sigma ~ dunif(0.01, 100) Rinv[1:2, 1:2] <- inverse(R[ , ]) priorsd[1] <- sqrt(Rinv[1,1]) priorsd[2] <- sqrt(Rinv[2,2]) } # Data: list(x = c( 1.0, 1.5, 1.5, 1.5, 2.5, 4.0, 5.0, 5.0, 7.0, 8.0, 8.5, 9.0, 9.5, 9.5, 10.0, 12.0, 12.0, 13.0, 13.0, 14.5, 15.5, 15.5, 16.5, 17.0, 22.5, 29.0, 31.5), Y = c(1.80, 1.85, 1.87, 1.77, 2.02, 2.27, 2.15, 2.26, 2.47, 2.19, 2.26, 2.40, 2.39, 2.41, 2.50, 2.32, 2.32, 2.43, 2.47, 2.56, 2.65, 2.47, 2.64, 2.56, 2.70, 2.72, 2.57), n = 27, Omega = structure(.Data = c(0.1, 0, 0, 0.1), .Dim = c(2, 2))) # Inits: list( beta = c(0, 0), sigma=1, mu = c(0,0), R = structure(.Data = c(1,0,0,1), .Dim = c(2, 2)))