对于绑定(bind)测量的先验,我试图在 [-1,1] 之间拉伸(stretch) beta 分布,“Barnard、McCulloch 和孟(2000)描述的[a]”(根据 this tutorial ) .
具体来说,我正在尝试实现此建议:
rho_half_with ~ dbeta(1, 1)
# shifting and streching rho_half_with from [0,1] to [-1,1]
rho ~ 2 * rho_half_with - 1
但是,我总是得到
syntax error on line (...) near "2"
手册中没有 JAGS 的条目或我发现的涉及分布操纵的错误(作为随机关系分配的来源)。是否确实可以将基本算术运算应用于 BUGS/JAGS 随机关系(在 ~
运算符之后),如果可以,如何实现?
最佳答案
您发布的代码的问题是您使用了 ~
在非随机关系中,JAGS 希望您使用 <-
反而。以下内容应该有效:
rho_half_with ~ dbeta(1, 1)
# shifting and streching rho_half_with from [0,1] to [-1,1]
rho <- 2 * rho_half_with - 1
关于您在评论中提到的错误消息,您收到的错误消息是因为您尝试启动一个非随机变量( rho
)。删除该初始化或切换到初始化 rho_half_with
来解决这个问题。
关于winbugs - JAGS/BUGS 中先验分布的算术语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23880180/