尝试在 OpenBUGS 中设置节点约束时出错

问题描述

我正在尝试对 openbugs 中的两个节点应用约束。

这是我的模型:

model {
    for (i in 1:n) {
        y [i] ~ dnorm(mu [i],tau)
        mu [i] <- Z/(P1 * x[i])*(P2 * x[i])
        
        ranked.Limits <- sort(Limit)
        P1 <- ranked.Limits[1]
        P2 <- ranked.Limits[2]
        }
    
    ## Priors
    Z ~ dnorm (400,0.005)
    tau ~ dgamma(0.001,0.001)
    sigma2 <- 1/tau
    
    Limit[1] ~ dnorm(0,0.0001) 
    Limit[2] ~ dnorm(0,0.0001)
}

我想约束的两个节点是 P1P2

值得注意的是,这两个节点是可互换的,这意味着它们的值可以交换,而不会影响模型的结果。但是,我在这里尝试应用的约束是:

0

我尝试这样做的方法是使用 sort 函数来确保 P2 在每次迭代中始终是较大的值。但是,当我运行我的模型时,我在括号的第 7 行代码中收到错误“无效或意外的令牌扫描”。

是否有其他方法可以应用此限制或进行更改以允许此模型运行?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)