Как структурировать модель и найти бета-версию байесовской модели в коде R?

Я пытаюсь структурировать модель 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.


person IPPOKRATIS KARAKOTSOGLOU    schedule 23.02.2017    source источник


Ответы (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, чего вы пытаетесь достичь точно, и показ первых нескольких строк ваших данных будет тоже не больно.

person Matt Denwood    schedule 24.02.2017
comment
Как в этом случае формируется формула Байеса? Р(У|Х1, Х2, Х3)=? Как насчет P(Y|X1X2)? - person IPPOKRATIS KARAKOTSOGLOU; 25.02.2017
comment
Вы можете контролировать отклонение (минус удвоенный логарифмический апостериор) модели, добавив слово «отклонение» в список мониторов в файле JAGSmodel.txt (если его там еще нет). Это дает вам полный апостериор отклонения. Если вы хотите рассчитать отдельные части вероятности/апостериорной вероятности, вы можете сделать это в R, используя, например. dbinom и оценки X1, X2, X3 из апостериорной модели JAGS (или вы можете рассчитать и отслеживать отдельные компоненты вероятности в рамках модели JAGS). - person Matt Denwood; 25.02.2017