有人可以为具有一个分类X变量(Dirichlet优先)的贝叶斯多项式逻辑模型提供JAGS代码吗?我的代表样本是下面代码中表示三个结果的矩阵“ z”,而代码底部的“ site”是分类x变量。
我可以获得估算这3个结果中的每个结果的代码,但是我对如何添加分类X(医院站点)感到困惑。
我想使用第一个结果z [,1]作为参考,并使用'a'作为'site'的参考。
这里是示例代码,用于估计结果(否X类)。到目前为止,这就是我所拥有的。使用X扩展此模型的任何帮助将不胜感激。
library('rjags')
z <- matrix(c(rep(1,70), rep(0,30),
rep(0,70), rep(1,22), rep(0,8),
rep(0,92), rep(1,8)),
nrow=100, ncol=3)
## The model ##
modelString = "
model
{
for (j in 1:K)
{
alpha[j] <- 1
}
#Prior
pi ~ ddirch(alpha[1:K])
for (i in 1:N)
{
z[i, 1:K] ~ dmulti(pi, 1)
}
}
"
writeLines( modelString , con="TEMPmodel.txt" )
#Run jags
jags <- jags.model('TEMPmodel.txt',
data = list('z' = z,
'N' = nrow(z),
'K' = ncol(z)),
n.chains = 4,
n.adapt = 1000)
mcmc.samples <- coda.samples(jags,
c('pi'),
2500)
#Estimates are similar to observed data
summary(mcmc.samples)
#5 category predictor hospital site to add to model
set.seed(1)
site <- sample(rep(letters[1:5], 20), 100)