首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用先验数据建立JAGS模型

用先验数据建立JAGS模型
EN

Stack Overflow用户
提问于 2022-07-31 11:58:55
回答 1查看 42关注 0票数 1

我已经建立了我的JAGS函数,但无法利用先前的数据使拟合的模型工作。如果有人知道这个错误意味着什么,我已经在下面添加了所有的步骤。我想这与我如何传递我的新数据有关,但不确定的是,任何指针都是非常感激的。

代码语言:javascript
复制
#1. set up the JAGs function
jags.mod = function(){
  #Observation model
  for (i in 2:N) {
    Ohio[i] ~ dnorm(Y[i],tau.v)
    }
  Ohio[1] ~ dnorm(Y[1],tau.v)
  tau.v ~ dgamma(1,0.01)
  #System model
 for(i in 2:N){
   Y[i] ~ dnorm(Y[i-1],tau.w)
    }
  Y[1] ~ dnorm(6,0.001)
  tau.w ~ dgamma(1,0.01)
  sigma.w = 1/sqrt(tau.w)
}

#2.将数据#定义为JAGS需要jags.data = as.list(Ohio_pm25)的列表

代码语言:javascript
复制
#parameters we want to monitor
jags.param = c('Y', 'tau.w', 'sigma.w')

#specify initial values for 2 chains
inits1 = list('Y' = -5, 'tau.w' = 10)
inits2 = list('Y' = 5, 'tau.w' = -10)
jags.inits = list(inits1, inits2)


#3. fitting the JAGS model
jags.mod.fit = jags(data = jags.data, #jags.data is ohio_PM2.5
                inits = jags.inits, 
                parameters.to.save = jags.param, 
                n.chains = 2, 
                n.iter = 100000,
                n.burnin = 5000,
                n.thin = 1, 
                model.file = jags.mod, 
                DIC = FALSE)

数据片段;

ohio_data

代码语言:javascript
复制
     X Obs        Exp       SMR
1   1  14  15.678357 0.8929507
2   2  56  62.786481 0.8919117
3   3  26  26.953383 0.9646284
4   4  57  59.448398 0.9588147
5   5  21  25.710943 0.8167728
6   6  22  24.764319 0.8883749
7   7  67  52.437394 1.2777141
8   8  18  19.082278 0.9432836

ohio_pm2.5

代码语言:javascript
复制
Ohio_pm25
      Date     pm2.5
1   1988-01-01  3.100000
2   1988-01-02  3.000000
3   1988-01-03  8.600000
4   1988-01-04  8.866667
5   1988-01-05  2.800000
6   1988-01-06  3.400000
7   1988-01-07  4.600000
8   1988-01-08  3.900000
EN

回答 1

Stack Overflow用户

发布于 2022-09-06 13:02:04

我在您的代码中看到了两个问题:

您的数据需要是一个列表,并且数据的名称必须与(“俄亥俄”)中的名称相同。此外,它必须具有与jags相同的维度。当您选择Ohioi时,它应该是一维的。因此,我想,您的数据必须如下所示:

代码语言:javascript
复制
jags.data <- list(Ohio = ohio_pm2.5$pm2.5)

我不得不承认,我不明白ohio_data如何适合你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73183118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档