Wie kann man mit rjags Vorhersagen erstellen?

12

Ich habe rjags verwendet, um MCMC auf einem Modell auszuführen, das in der JAGS-Sprache angegeben ist. Gibt es eine gute Möglichkeit, dieses Modell zu extrahieren und Vorhersagen damit durchzuführen (unter Verwendung der posterioren Verteilungen meiner Parameter)? Ich kann das Modell in R neu spezifizieren und die Modi meiner Parameter posteriors einfügen; Ich frage mich nur, ob es einen weniger redundanten Weg gibt, dies zu tun.

Ich glaube, dass http://sourceforge.net/p/mcmc-jags/discussion/610037/thread/0ecab41c die gleiche Frage stellt.

Quantitativer Historiker
quelle
Verbindung ist unterbrochen. Können Sie es bitte aktualisieren?
chl
Erledigt. Sieht aus wie Sourceforge neu arrangiert
Quantitative Historian
Vielen Dank! (Ich habe den Thread selbst nicht gefunden, seit SF ihre relativen Pfade geändert hat.)
chl

Antworten:

8

Normalerweise können Sie die Vorhersagen in JAGS machen. Im Folgenden finden Sie ein Regressionsbeispiel mit FEV (etwas mit der Lungenkapazität zu tun) als abhängiger Variable und Alters- und Rauchindikator als Prädiktoren.

FEV20s und FEV20ns sind die vorhergesagten FEV-Werte für einen 20-jährigen Raucher und einen 20-jährigen Nichtraucher.

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)
}

Beispiel aus: Bayesianische Ideen und Datenanalyse

Tal
quelle
Vielen Dank für den Hinweis - ich hatte nicht darüber nachgedacht, nur meine Testdaten an JAGS zu senden, aber das sollte es tun.
Quantitativer Historiker
1
Gibt es eine Möglichkeit, diese Vorhersagen zu generieren, ohne das gesamte Modell überarbeiten zu müssen? Wäre dies der Fall, wäre es einfach genug, generierende Vorhersagen massiv zu parallelisieren. Wenn jedoch das gesamte Modell überarbeitet werden muss, ist dies nicht möglich.
Colin