JAGS中确定性节点的下限和上限

时间:2014-03-03 00:15:33

标签: jags

我正在尝试截断确定性节点theta.t,以确保其值介于0和1之间。 我试图通过在第6行末尾使用T(0,1)来解决此问题,但这不起作用,我不确定如何使用~ dinterval()来解决此特定问题。< / p>

我正在使用JAGS 3.3.0和R 3.0.2。

这是我的代码:

model {
  # PRIORS
  alpha ~ dunif(0,1)
  beta ~ dunif(0,1)
  # Deterministic Node
  for(j in 1:n.intervals) {
    theta.t[j] <- exp(-alpha * retention.intervals[j]) + beta
  }
  # DATA
  for(i in 1:n.participants) {
    for(j in 1:n.intervals) {
      k[i, j] ~ dbin(theta.t[j], 18)
    }
  }
}

提前致谢!

2 个答案:

答案 0 :(得分:1)

您应该能够使用minmax来实现这一目标。例如,约束theta[j]使其位于0和1之间:

theta.t[j] <- max(0, min(1, exp(-alpha * retention.intervals[j]) + beta))

答案 1 :(得分:0)

JAGS manual的第7章表明不可能截断或审查确定性节点。您只能在随机节点上执行截断和删失。

你唯一的方法就是改变你的先辈。