Я пытаюсь запустить байесовскую регрессионную модель с использованием rjags, а мои данные имеют 4 соответствующих условия. Модель отлично работает при свертывании условий, однако я не понимаю, где/как указать, что я хочу, чтобы эта модель выполнялась отдельно для каждого условия, но все же дайте мне вывод coda.samples
, который позволяет мне сравнивать значения бета-версии (я бы хотел 4 Beta0 и 4 Beta1, по одному для каждого условия). Вот моя модель:Как указать rjags для запуска иерархической модели с несколькими условиями
order_model <-
"model {
beta_0 ~ dnorm(0, .0000001)
beta_1 ~ dnorm(0, .0000001)
sigma ~ dunif(0, 100)
sigma_u0 ~ dunif(0,100)
sigma_u1 ~ dunif(0,100)
sigma_i0 ~ dunif(0,100)
for (i in 1:num_items) {
w_0i[i] ~ dnorm(0, 1/sigma_i0^2)
}
for (i in 1:num_subj+1) {
u_0s[i] ~ dnorm(0, 1/sigma_u0^2)
u_1s[i] ~ dnorm(0, 1/sigma_u1^2)
}
for (i in 1:length(rt)) {
rt[i] ~ dnorm((beta_0 + w_0i[item[i]] + u_0s[subject[i]]) + (beta_1 + u_1s[subject[i]]) * order[i], 1/sigma^2)
}
}"
Где предмет и пункт называют получить смещение фиксированных эффектов, и «КТ» является непрерывным зависимым переменным. Условие кодируется в векторном «условии» со значениями 1: 4.
Я предполагаю, что мне нужен еще один цикл, но я не знаю, где.
Добро пожаловать в StackOverflow. Когда вы задаете вопрос, высказывание оправданий о том, насколько вы новичок в этой теме, это плохая идея: 1) это всегда не имеет отношения к вопросу; 2) это затрудняет чтение, потому что эти оправдания - это просто дополнительный текст, который люди должны прочитать, чтобы понять этот вопрос. В этом нет ничего ужасного, многие из них так поступают, но они, конечно же, не должны. Ради лучших вопросов:) – gvlasov