Normal distribution using the zeros trick...
model {
for (i in 1:8) {
z[i] <- 0
z[i] ~ dpois(phi[i])
phi[i] <- log(sigma) + 0.5*pow((y[i] - mu)/sigma, 2)
}
y[8] ~ dflat()
sigma ~ dunif(0, 100)
mu ~ dunif(-100, 100)
}
Data:
list(y = c(-1, -0.3, 0.1, 0.2, 0.7, 1.2, 1.7, NA))
Inits:
list(y = c(NA, NA, NA, NA, NA, NA, NA, 0))
node mean sd MC error 2.5% median 97.5% start sample
mu 0.365 0.4758 0.006864 -0.5948 0.3693 1.316 4001 10000
sigma 1.18 0.481 0.01139 0.6216 1.067 2.415 4001 10000
y[8] 0.3499 1.355 0.03415 -2.345 0.3564 3.095 4001 10000
Normal distribution specified directly...
model {
for (i in 1:8) {
y[i] ~ dnorm(mu, tau)
}
tau <- 1 / pow(sigma, 2)
sigma ~ dunif(0, 100)
mu ~ dunif(-100, 100)
}
Data:
list(y = c(-1, -0.3, 0.1, 0.2, 0.7, 1.2, 1.7, NA))
Inits:
list(y = c(NA, NA, NA, NA, NA, NA, NA, 0))
node mean sd MC error 2.5% median 97.5% start sample
mu 0.3734 0.4716 0.004705 -0.5638 0.3784 1.316 4001 10000
sigma 1.169 0.4544 0.007378 0.6268 1.066 2.371 4001 10000
y[8] 0.3566 1.355 0.01284 -2.346 0.359 3.038 4001 10000