2016-03-26 10 views
0

„unter der Anzahl von Deckungs Ansprüche Daten Betrachten wir für drei Gruppen von Versicherungs Policen,Analysieren Wirkung in einem Bayesian Model (Rjags)

year: 1 2 3 4 5 
Grp1: 9 7 6 13 12 
Grp2: 6 4 2 8 10 
Grp3: 8 8 3 4 9 

Run R und Jags die folgende hierarchische Modell anzuwenden, um die Daten zu analysieren, :

Was ist Ihre Schlussfolgerung über den Gruppeneffekt und den Jahreseffekt? "

Ich habe meine Modellspezifikationen entworfen, um mit JAGS in R gezogen zu werden. Meine Frage ist, wie schreibe ich in R, um den Effekt der Gruppe und den Effekt von Year separat zu testen? Ich habe immer nur Zacken für eine Variable verwendet.

Hier ist meine Cookie-Cutter-Code JAGS: Information

model 
{ 
for (i in 1:3,j in 1:5){ 
Y[i,j] ~ dpois(lambda[i,j]) 
lambda[i,j] = P[i,j]*theta[i,j] 
theta[i,j] ~dgamma(alpha,beta) 
P[i,j] ~ dgamma(gamma,delta) 
} 
alpha ~ dgamma(5,5) 
beta ~ dgamma(25,1) 
gamma ~ dunif(0,100) 
delta ~ dunif(0,100) 
} 

Jede Eingabe mir, wie, dass ich für die Effekte wäre separat testen, Code so:

library(rjags) 



forJags<-list(    ) 

inits<-list(     ) 

foo<jags.model(file="m2n4.bug",data = forJags,inits=inits) 

out<-coda.samples(model=foo, variable.names = c(    ),  n.iter=50000,thin=5) 

summary(out) 

Hier mein Modell ist enorm.

Antwort

0

Definieren Sie Ihr Modell als:

model 
{ 
for (j in 1:5){P[j] ~ dgamma(gamma,delta)} 
for (i in 1:3){ 
for(j in 1:5){ 
Y[i,j] ~ dpois(lambda[i,j]) 
lambda[i,j] = P[j]*theta[i,j] 
theta[i,j] ~ dgamma(alpha,beta) 
} 
} 
alpha ~ dgamma(5,5) 
beta ~ dgamma(25,1) 
gamma ~ dunif(0,100) 
delta ~ dunif(0,100) 
} 

und dann laufen:

library(rjags) 

Y<-rbind(c(9, 7, 6, 13, 12),c(6 ,4 ,2 ,8 ,10),c(8 ,8, 3, 4, 9)) 

forJags<-list('Y' = Y) 

foo<-jags.model(file="m2n4.bug",data = forJags) 

out<-coda.samples(model=foo, variable.names = c("theta","P"),n.iter=50000,thin=5) 

summary(out) 

Sie werden dann in der Lage sein, den separaten Effekt für P (das Jahr) und den einzigen Effekt (theta) zu sehen,