Синтаксис для арифметики в предыдущих дистрибутивах в JAGS / BUGS

Для априорной оценки связанной меры я пытаюсь растянуть бета-распределение между [-1,1], "[a] s, описанными Barnard, McCulloch & Meng (2000)" (согласно это руководство).

В частности, я пытаюсь реализовать это предложение:

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 (после оператора ~), и если да, то как?


person j_n    schedule 27.05.2014    source источник
comment
Что произойдет, если вы переключите ~ на ‹- в последней строке? ~ используется для стохастических отношений, а ‹- используется для отношений равенства.   -  person Rasmus Bååth    schedule 27.05.2014
comment
@Rasmus Bååth: no :( ... Компиляция графа модели Разрешение необъявленных переменных Распределение узлов Размер графика: 48 Удаление модели Ошибка в setParameters (init.values ​​[[i]], i): Ошибка в узле rho Попытка установить значение non -переменный узел   -  person j_n    schedule 27.05.2014
comment
Я считаю, что ошибка не связана с кодом вопроса. Синтаксическая ошибка в строке (...) около 2 части должна быть связана с использованием ~ вместо ‹-   -  person Rasmus Bååth    schedule 27.05.2014


Ответы (1)


Проблема с кодом, который вы опубликовали, заключается в том, что вы используете ~ в нестохастическом отношении, где 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, чтобы решить эту проблему.

person Rasmus Bååth    schedule 27.05.2014