Я пытаюсь структурировать модель Jags и найти бета-версию, а также априорные значения для байесовского анализа данных. В моей модели есть 3 предиктора x1, x2, x3
, а результатом является переменная распределения Бернулли Y. Как определить априорные вероятности P(Y=1|X1), P(Y=1|X2), P(Y=1|X3)
для трех предикторов, влияющих на исход Y? Мои данные основаны на матрице nXr, n=1920 r=4 columns
X1, X2, X3 and Y
.
Как структурировать модель и найти бета-версию байесовской модели в коде R?
Ответы (1)
Похоже, вы спрашиваете, как структурировать GLM в JAGS. Если это так, то, вероятно, самый простой способ — использовать функцию template.jags в пакете runjags, чтобы сделать это за вас, используя что-то вроде:
library('runjags')
template.jags(Y ~ X1 + X2 + X3, data=nXr, family='binomial', write.data=FALSE)
## Inspect and edit the JAGSmodel.txt file ##
results <- run.jags("JAGSmodel.txt", data=nXr)
Обратите внимание, что ожидается, что nXr будет фреймом данных, а не матрицей, как вы говорите, которая у вас есть в настоящее время. При этом используются (относительно стандартные) минимально информативные априорные значения для соответствующих параметров, но НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ редактировать созданный для вас файл модели, чтобы настроить априорные значения по мере необходимости. Я не знаю, что вы имеете в виду под «нахождением беты», если вы не имеете в виду перехват и коэффициенты для фиксированных эффектов?
Если это не поможет, я думаю, вам нужно будет добавить дополнительную информацию к вашему вопросу - например, больше информации о ваших предикторах X1-3, чего вы пытаетесь достичь точно, и показ первых нескольких строк ваших данных будет тоже не больно.