[R] Output from BRugs Doesn't Match That from OpenBUGS

ethanarenson ethan.a.arenson at gmail.com
Mon Oct 24 11:12:55 CEST 2011


Hi.

I am trying to analyze with BRugs the Box-Tiao variance components example
in WinBUGS. The output from BRugs,

              mean   sd MC_error  val2.5pc median val97.5pc start sample
sigma2.btw   681.9 1161    10.89    0.7016  253.8      4232 25001 100000
sigma2.with 4266.0 1246     4.92 2480.0000 4057.0      7262 25001 100000

doesn't match the output from WinBUGS,

 node	        mean	        sd	 MC error	2.5%	       median	97.5%	start	       
sample
sigma2.btw	2929.0	2191.0	12.0	263.9	        2306.0	8658.0	10001	100000
sigma2.with	2725.0	880.3	        4.112	1505.0	2562.0	4897.0	10001	100000

Can anyone offer some insight, or--better yet--a solution to fix this?

Thanks in advance,
Ethan


Here is my code:

############################################
############################################
> rm(list=ls(all=T))
> library(R2WinBUGS)
> library(BRugs)
> library(coda)
> #################################
> dats = list(batches = 6, samples = 5, y = structure(
+   .Data = c(1545, 1440, 1440, 1520, 1580,
+          1540, 1555, 1490, 1560, 1495,
+          1595, 1550, 1605, 1510, 1560,
+          1445, 1440, 1595, 1465, 1545,
+          1595, 1630, 1515, 1635, 1625,
+          1520, 1455, 1450, 1480, 1445)
+  , .Dim = c(6,5))
+ )
> ##########################################
> model = function()
+ {
+ for( i in 1 : batches )           
+             {
+ mu[i] ~ dnorm(theta, tau.btw)
+ for( j in 1 : samples ) 
+ {
+                   y[i , j] ~ dnorm(mu[i], tau.with)
+                   }
+ }
+ theta ~ dnorm(0.0, 1.0E-10)
+ # prior for within-variation
+  sigma2.with <- 1 / tau.with
+  tau.with ~ dgamma(0.005, 0.005)
+ 
+ # Choice of priors for between-variation
+ # Prior 1: uniform on SD
+ sigma.btw~ dunif(0,100)
+ sigma2.btw<-sigma.btw*sigma.btw
+ tau.btw<-1/sigma2.btw
+ }
> ##########################################
> inits = function()
+   list(theta=1500, tau.with=1, sigma.btw=1)
> ##########################################
> setwd('C:/Users/ethan/Desktop/Dissertation/R/Dyes')
> 
> print(dats)
$batches
[1] 6

$samples
[1] 5

$y
     [,1] [,2] [,3] [,4] [,5]
[1,] 1545 1555 1605 1465 1625
[2,] 1440 1490 1510 1545 1520
[3,] 1440 1560 1560 1595 1455
[4,] 1520 1495 1445 1630 1450
[5,] 1580 1595 1440 1515 1480
[6,] 1540 1550 1595 1635 1445

> bugs.data(dats)
[1] "data.txt"
> model.file.name = 'C:/Users/ethan/Desktop/Dissertation/R/Dyes/Model.txt'
> model.data.name = 'C:/Users/ethan/Desktop/Dissertation/R/Dyes/data.txt'
> n.chains = 1
> write.model(model, model.file.name)
> modelCheck(model.file.name)
model is syntactically correct
> modelData(model.data.name)
data loaded
> modelCompile(numChains=n.chains)
model compiled
> model.init.name = bugsInits(inits)
> modelInits(rep(model.init.name,n.chains))
Initializing chain 1: initial values loaded but chain contain uninitialized
variables
> modelGenInits()
initial values generated, model initialized
> modelUpdate(25000)
25000 updates took 1 s
> samplesSet(c("sigma2.with","sigma2.btw"))
monitor set for variable 'sigma2.with'
monitor set for variable 'sigma2.btw'
> #dicSet()
> modelUpdate(100000)
100000 updates took 5 s
> samplesStats("*")
              mean   sd MC_error  val2.5pc median val97.5pc start sample
sigma2.btw   681.9 1161    10.89    0.7016  253.8      4232 25001 100000
sigma2.with 4266.0 1246     4.92 2480.0000 4057.0      7262 25001 100000
> 
############################################
############################################


--
View this message in context: http://r.789695.n4.nabble.com/Output-from-BRugs-Doesn-t-Match-That-from-OpenBUGS-tp3932530p3932530.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list