我正在使用 Jags,并且我定义了两个不同的模型来估计参数 theta。为什么这两个模型返回不同的 theta 1 和 theta 2 样本?有人可以帮助我吗?
#MODEL 1
model {
for ( i in 1:nFlip) {
y[i] ~ dbern ( theta[ mdlI ] )
}
theta[1] <- 1/(1+exp( -nu ))
theta[2] <- exp( -eta )
nu ~ dnorm(0,.1) # 0,.1 vs 1,1
eta ~ dgamma(.1,.1) # .1,.1 vs 1,1
# Prob dos modelos
mdlI ~ dcat ( mdlProb[] )
mdlProb[1] <- .5
mdlProb[2] <- .5
}
#MODEL 2
model {
for ( i in 1:nFlip ) {
# Likelihood:
y[i] ~ dbern( theta )
}
# Prior
theta <- ( (2-mdlIdx) * 1/(1+exp( -nu )) # theta from model index 1
+ (mdlIdx-1) * exp( -eta ) ) # theta from model index 2
nu ~ dnorm(0,.1) # 0,.1 vs 1,1
eta ~ dgamma(.1,.1) # .1,.1 vs 1,1
# Hyperprior on model index:
mdlIdx ~ dcat( modelProb[] )
modelProb[1] <- .5
modelProb[2] <- .5
}
提前感谢您的帮助。迪奥戈·法拉利