Параметры Дирихле не обновляются в JAGS - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь запустить иерархическую модель Дирихле в JAGS, но у меня нет обновлений, и я должен что-то сделать не так.Я пытаюсь аппроксимировать его гамма-распределением:

#Creating some data
set.seed(555)
cat1=rbeta(15,20,60)
cat2=rbeta(15,20,80)
cat3=rbeta(15,20,160)
cat4=1-cat1-cat2-cat3

dat_dirich=list(
  dirF=cbind(cat1, cat2, cat3, cat4),
  AL=c(1,1,1,1),
  K=4
)

require(runjags)

{
  catch_mod="model{

    for(y in 1:15){
      dirF[y,1:K]~ddirch(alpha_dirF1B[y,1:K])

      #Approximation with Gamma
      for(a in 1:K){
          alpha_dirF1B[y,a]<-P2[y,a]/sum(P2[y,1:K])
          P2[y,a]~dgamma(alpha_dirF1[a,y],1)#1 or kappa_dirF
      }
      #hierarchical structure   
      alpha_dirF1[1:K,y]~ddirch(AL*kappa_dirF)
    }
    kappa_dirF~dunif(0.1,5000)   #kappa_dirF~dlnorm(0,0.01)   
  }"
}

1 Ответ

0 голосов
/ 19 марта 2019

Вам нужно позвонить на run.jags() где-нибудь в вашем коде. Это должно выглядеть примерно так:

results <- run.jags(catch_mod, data = dat_dirich, n.chains = XXX, ...)

Это описано в виньетке для runjags (https://cran.r -project.org / web / packages / runjags / vignettes / quickjags.html )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...