Як генерувати прогнози за допомогою rjags?


12

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

Я вважаю, що http://sourceforge.net/p/mcmc-jags/discussion/610037/thread/0ecab41c задає те саме питання.


Посилання розірвано. Чи можете ви її оновити, будь ласка?
chl

Зроблено. Схоже, джерело переставлено
Кількісний історик

Дякую! (Я сам не знайшов нитку, оскільки SF змінив свої відносні шляхи.)
chl

Відповіді:


8

Зазвичай ви можете робити прогнози в JAGS. Нижче наводиться приклад регресу з FEV (що стосується ємності легенів) як залежної змінної та віку та показника паління як прогнозів.

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
Чи є спосіб генерувати ці прогнози, не переробляючи всю модель? Якби це було, було б досить просто масово паралелізувати генеруючі прогнози, однак, якщо цілу модель потрібно переробити, це неможливо.
Колін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.