2016-03-26 12 views
0

«Рассмотрим ниже количества данных актуарных претензий на три группы страховых страхователей,Анализ эффекта в байесовской модели (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 и Jags применять следующую иерархическую модель для анализа данных :

Yij ∼ Poisson(λij) 
λij = Pijθj 
θij ∼ Ga(α, β) Pij ∼ Ga(γ, δ) 
α ∼ Ga(5, 5) γ ∼ U(0, 100) 
β ∼ Ga(25, 1) δ ∼ U(0, 100), 
where i = 1, 2, 3 and j = 1, . . . , 5. 

Каково ваше заключение об эффекте группы и эффекте года? "

У меня есть мои спецификации модели, которые нужно вытащить в R с помощью JAGS. Мой вопрос: как мне закодировать в R, чтобы проверить влияние группы и эффект года отдельно? Я использовал только jags для одной переменной.

Вот мой резака печенья JAGS код:

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) 

Вот моя модель:

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

Любой вход информировал меня о том, как код так, что я могу проверить для эффектов отдельно будет огромно.

ответ

0

Определите модель, как:

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

, а затем запустить:

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) 

тогда Вы сможете увидеть отдельный эффект для P (год) и один эффект (theta)