小弟求教,不知道坛子里玩winbugs的人多不,最近在写一个需要比较在不同先验分布下后验的结论的模型,本来分别定义了三个先验,然后分别用bugs估计,现在想能否直接在同一个模型中定义一个循环,把三个先验都放在里面,但得出的结论和之前有很大差别,不知是不是有什么地方写错,请高人指点,bugs 的code如下:
model {
for (n in 1:3) { #定义有三个先验的循环
for (j in 1:K) {
for (i in 1:M) {
alpha[i,j]~dnorm(mu[n,j], tau[n])
}
mu[n,j] <- t[n,j]+a[n,j]
t[n,j]~dnorm(m[n],V[n])
a[n,j]~dnorm(0,sigma[n])
}
}
# 先验分布1
tau[1]~dgamma(100,0.0075)
sigma[1]~dgamma(10,0.00033)
m[1]~dnorm(0,400)
V[1]~dgamma(100,0.0075)
# 先验分布2
tau[2]~dgamma(10,0.03)
sigma[2]~dgamma(1,0.0013)
m[2]~dnorm(0,100)
V[2]~dgamma(10,0.03)
# 先验分布3
tau[3]~dgamma(0.001,0.001)
sigma[3]~dgamma(0.001,0.001)
m[3]~dnorm(0.001,0.001)
V[3]~dgamma(0.001,0.001)
}