[newthreezeroone10]    What's new in OpenBUGS 3.0.1

When you get fed up of seeing this file at start up of OpenBUGS just rename the file manuals/NewThreeZeroOne to some new name.

The Update options dialog now has two tabs. The first tab has options for altering which sampling algorithms OpenBUGS will use for a model. The second tab both displays a list of the sampling algorithms used for the current compiled model and provides a way of altering their parameters. New to the first tab is a way of changing the updater algorithm that OpenBUGS has choosen for a node (or group of nodes). This feature can be used any stage after the model is compiled. Just type the name of the node (with possible square brackets and index ranges) into the text entry field, select which new sampling algorithm you want OpenBUGS to use from the list on the left and click ok. You can use the node info tool to check that OpenBUGS has been able to make the requested change of algorithm.


Two new buttons have been added to the Samples Monitor Tool:
accept and jump . These option produce graphics if the monitored node has an associated sampling algorithm. The accept button gives the average number of times the state of value of the monitored variable changes over successive iterations within a bin of 100 iterations. (For gibbs sampling algorithms this should be a horizontal line through one but there might be an occasional glitch due to rounding) The jump button calculates the mean square jumping distance within bins of length 100 iterations. Bigger mean jump distances are better than small one (they are related to the lag one autocorrelation function). Both the accept and jump button will hopefully be useful for assesing the performance of continously adapting metropolis algorithms. The graphs produce by both buttons give details of the sampling algorithm associated with the monitored node. The monitor met option of the Model menu is now obsolite and could be removed in the future.


The Latex option in the model menu can now produce legal tex for some models. This option works once the model has been checked and is syntaxically correct. The model can either be specified in the BUGS language or as a Doodle. For the Otree model with BUGS language description

model {
      for (i in 1:K) {
         for (j in 1:n) {
            Y[i, j] ~ dnorm(eta[i, j], tau.C)
            eta[i, j] <- phi[i, 1] / (1 + phi[i, 2] * exp(phi[i, 3] * x[j]))
         }
         phi[i, 1] <- exp(theta[i, 1])
         phi[i, 2] <- exp(theta[i, 2]) - 1
         phi[i, 3] <- -exp(theta[i, 3])
         for (k in 1:3) {
            theta[i, k] ~ dnorm(mu[k], tau[k])
         }
      }
      tau.C ~ dgamma(1.0E-3, 1.0E-3)
      sigma.C <- 1 / sqrt(tau.C)
      varC <- 1 / tau.C
      for (k in 1:3) {
         mu[k] ~ dnorm(0, 1.0E-4)
         tau[k] ~ dgamma(1.0E-3, 1.0E-3)
         sigma[k] <- 1 / sqrt(tau[k])
      }
   }
   
the following tex code is produced which looks like

[newthreezeroone11]


\documentclass{article}
\begin{document}
\begin{math} \\
\left.
\begin{array}{l}
\left.
\begin{array}{l}
\begin{array}{lll} %block
Y_{i,j} & \sim & \mbox{dnorm}(\eta_{i,j}, \tau_{C}) \\
\eta_{i,j} & = & \phi_{i,1} / (1 + \phi_{i,2} \cdot e^{\phi_{i,3} \cdot x_{j}})
\end{array} %block
\end{array}
\right \} \mbox{$1 \leq j \leq n$} \\
\begin{array}{lll} %block
\phi_{i,1} & = & e^{\theta_{i,1}} \\
\phi_{i,2} & = & e^{\theta_{i,2}} - 1 \\
\phi_{i,3} & = & -e^{\theta_{i,3}} \\
\end{array} \\ %block
\left.
\begin{array}{l}
\begin{array}{lll} %block
\theta_{i,k} & \sim & \mbox{dnorm}(\mu_{k}, \tau_{k})
\end{array} %block
\end{array}
\right \} \mbox{$1 \leq k \leq 3$}
\end{array}
\right \} \mbox{$1 \leq i \leq K$} \\
\begin{array}{lll} %block
\tau_{C} & \sim & \mbox{dgamma}(\mbox{0.001}, \mbox{0.001}) \\
\sigma_{C} & = & 1 / \sqrt \tau_{C} \\
\mbox{varC} & = & 1 / \tau_{C} \\
\end{array} \\ %block
\left.
\begin{array}{l}
\begin{array}{lll} %block
\mu_{k} & \sim & \mbox{dnorm}(0, \mbox{1.0E-4}) \\
\tau_{k} & \sim & \mbox{dgamma}(\mbox{0.001}, \mbox{0.001}) \\
\sigma_{k} & = & 1 / \sqrt \tau_{k}
\end{array} %block
\end{array}
\right \} \mbox{$1 \leq k \leq 3$}
\end{math}
\end{document}