[pigweights0]    Pig Weight Gain

Histogram smoothing adapted from Example 5.9 from Congdon (2001), p 180. The model illustrates a structured precision matrix for a multivariate normal prior on a multinomial logistic regression model. The model can also be formulated in terms of a structured covariance matrix (see the commented out section of the model) which has a form with elements that decay exponentialy with absolute value of difference in index.

    model{
      y[1:s] ~ dmulti(th[1 : s] , n)
      sum.g <- sum(g[])
    # smoothed frequencies
       for (i in 1 : s) {
         Sm[i] <- n * th[i]
          g[i] <- exp(gam[i])
         th[i] <- g[i] / sum.g
      }
    # prior on elements of AR Precision Matrix
       rho ~ dunif(0, 1)
       tau ~ dunif(0.5, 10)
    # MVN for logit parameters
       gam[1 : s] ~ dmnorm(mu[], T[ , ])
       for (j in 1:s) {
         mu[j] <- -log(s)
      }
   # Define Precision Matrix
      for (j in 2 : s - 1) {
         T[j, j] <- tau * (1 + pow(rho, 2))
      }
      T[1, 1] <- tau
      T[s, s] <- tau
      for (j in 1 : s -1 ) {
         T[j, j + 1] <- -tau * rho
         T[j + 1, j] <- T[j, j + 1]
      }
      for (i in 1 : s - 1) {
         for (j in 2 + i : s) {
            T[i, j] <- 0; T[j, i] <- 0
         }
      }
    # Or Could do in terms of covariance, which is simpler to write but slower
    #      for (i in 1 : s) {
    #         for (j in 1 : s) {
    #            cov[i, j] <- pow(rho, abs(i - j)) / tau
    #         }
    #      }
    #      T[1 : s, 1 : s] <- inverse(cov[ , ])
   }

Data ( click to open )

Inits for chain 1        Inits for chain 2    ( click to open )

Results


[pigweights1]