Как генерировать прогнозы с помощью rjags?

12

Я использовал rjags для запуска MCMC на модели, указанной на языке JAGS. Есть ли хороший способ извлечь эту модель и выполнить с ней предсказания (используя апостериорные распределения моих параметров)? Я могу переопределить модель в R и подключить режимы своих параметров для постеров; Мне просто интересно, есть ли менее излишний способ сделать это.

Я думаю, что http://sourceforge.net/p/mcmc-jags/discussion/610037/thread/0ecab41c задает тот же вопрос.

Количественный историк
источник
Ссылка не работает. Вы можете обновить его, пожалуйста?
Хл
Выполнено. Выглядит как переставленная sourceforge
Количественный Историк
Благодарность! (Я не нашел нить сам, так как SF изменил их относительные пути.)
chl

Ответы:

8

Обычно вы можете делать прогнозы в JAGS. Ниже приведен пример регрессии с ОФВ (что-то связанное с объемом легких) в качестве зависимой переменной, а также показателя возраста и курения в качестве предикторов.

FEV20s и FEV20ns - это прогнозируемые значения FEV для 20-летнего курильщика и 20-летнего некурящего.

model
{
for(i in 1:n){
    FEV[i] ~ dnorm(mu[i],tau)
    mu[i] <- beta[1] + beta[2]*Age[i] + beta[3]*Smoke[i]  + beta[4]*Age[i]*Smoke[i]
}

#priors
beta[1] ~ dnorm(0,0.001)
beta[2] ~ dnorm(0,0.001)
beta[3] ~ dnorm(0,0.001)
beta[4] ~ dnorm(0,0.001)
tau ~ dgamma(0.001,0.001)
sigma<-1/sqrt(tau) 

## Predict the FEV for a 20 year old smoker and for a 20 year old nonsmoker
mu20s <-  beta[1] + (beta[2]+beta[4])*20 + beta[3]
mu20ns <-  beta[1] + beta[2]*20 
FEV20s ~ dnorm(mu20s,tau)
FEV20ns ~ dnorm(mu20ns,tau)
}

Пример из: Байесовские идеи и анализ данных

лощина
источник
Спасибо за указатель - я не думал просто отправить свои тестовые данные в JAGS, но это должно сработать.
Количественный историк
1
Есть ли способ генерировать эти прогнозы, не обновляя всю модель? Если бы это было так, было бы достаточно просто массово распараллелить генерацию прогнозов, однако, если всю модель нужно перестроить, это невозможно.
Colin