我正在尝试截断确定性节点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)
}
}
}
提前致谢!
答案 0 :(得分:1)
您应该能够使用min
和max
来实现这一目标。例如,约束theta[j]
使其位于0和1之间:
theta.t[j] <- max(0, min(1, exp(-alpha * retention.intervals[j]) + beta))
答案 1 :(得分:0)
JAGS manual的第7章表明不可能截断或审查确定性节点。您只能在随机节点上执行截断和删失。
你唯一的方法就是改变你的先辈。