如何在rjags中使用混合建模设置贝叶斯线性回归?

时间:2017-12-14 01:02:02

标签: r bayesian mixture-model rjags

我正在尝试使用rjags制作贝叶斯混合模型。这是尝试绘制在19个实验室中进行的实验的剂量 - 反应关系。因此,我制作的模型可以拦截所有实验室。我想使用混合建模对实验室效果进行聚类,但我的代码不起作用。这是我的模型的副本,后面是错误: -

mod_string2 <- "
model{
# Likelihood
  for(i in 1:n){
    Y[i]   ~ dnorm(mu[i],inv.var)
    mu[i] <- a[lab[i]] + b[1]*ld1[i] + b[2]*ld2[i] + b[3]*sqld1[i] + b[4]*sqld2[i] + b[5]*lbody[i] + b[6]*B[i]*ld1[i] + b[7]*C[i]*ld1[i] + b[8]*D[i]*ld1[i] + b[9]*B[i]*ld2[i] + b[10]*C[i]*ld2[i] + b[11]*D[i]*ld2[i]
    a[lab[i]] ~ dnorm(muOfClust[clust[lab[i]]], tau)
    clust[i] ~ dcat( pClust[1:Nclust] )
  }

  # Prior for labs (intercepts)

  for (clustIdx in 1: Nclust) {
    muOfClust[clustIdx] ~ dnorm( 0 , 1/100000 )
  }

  pClust[1:Nclust] ~ ddirch(onesRepNclust) # so (pi1,pi2) follow Dir(1,1) which implies pi1 follows Beta(1,1)

  tau ~ dgamma(0.01 , 0.01)

  # Prior for beta
  for(j in 1:11){
    b[j] ~ dnorm(0,0.0001)
  }

  # Prior for the inverse variance
  inv.var ~ dgamma(0.01, 0.01)
  sigma <- 1/sqrt(inv.var)
}
"

我的错误是: -

jags.model中的错误(textConnection(mod_string2),data = d2):   运行时错误: 第7行的编译错误。 尝试重新定义节点a [3]

我做错了什么?

0 个答案:

没有答案