首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAGS递归模型

JAGS递归模型
EN

Stack Overflow用户
提问于 2020-12-22 00:42:59
回答 1查看 44关注 0票数 0

我是使用JAGS/WinBUGS/STAN语言进行贝叶斯统计分析的新手。我正在尝试拟合扩展的SIR模型,错误似乎位于第2行,因为我总是收到警告:"Error parsing model file: error on line 2 near "for"“

但是我无法理解这个错误,数据是:Y是矩阵形式(T X K),N个向量大小K,L个向量大小K。

代码语言:javascript
复制
bayesian.model <- "
                  for(r in 1:K){
                    for(t in 2:T){

                         S[t,r] <- S[t-1,r] - y[t,r] + b*R[t-1,r]
                         E[t,r] <- E[t-1,r] + y[t,r] - c*E[t-1,r]
                         I[t,r] <- I[t-1,r] - a*I[t-1,r] + c*E[t-1,r]
                         R[t,r] <- R[t-1,r] + a*I[t-1,r] - b*R[t-1,r]
 
                         y[t,r] ~ dbin(theta[t,r], S[t-1,r])
                         logit(theta[t,r]) <-  alpha*log(I[t-1,r]) +  rzero + beta*L[r]
                     }
                   }

                       # PARAMETERS OF THE MODEL
                              a <- 1/17.5
                              b <- 1/m
                              m ~ dnorm(300, 20)
                              c <- 1/11.17
                              for(r in 1:K){
                                    S[1,r] <- N[r] - 100 - 0.5*100 
                                    E[1,r] <- 0.5*100
                                    I[1,r] <- 100
                                    R[1,r] <- 0
                                    y[1,r] ~ dbin(theta[1,r], S[1,r])
                                    logit(theta[1,r]) <- alpha*log(I[1,r]+100) + rzero + 
                                                                    beta*L[r]                                                 
                              }
                                  rzero ~ dbeta(0.1, 0,3)
                                  beta ~ dbeta(0.1, 0.3)
                                  alpha <- 0.8
"
K <- ncol(y)
T <- nrow(y)
jags.data <- list(y = data, N = data$Population, L = data$Location, K = K, T = T)

parameters <- c("theta")
model <- jags(data = jags.data, parameters.to.save= parameters,
              n.iter = 10000,n.burnin = 0, n.thin = 1,
              n.chains = 2, model = textConnection(bayesian.model))
EN

回答 1

Stack Overflow用户

发布于 2021-07-27 16:42:43

就像评论中建议的那样,添加{ ...}并用rzero ~ dbeta(0.1, 0.3)替换rzero ~ dbeta(0.1, 0,3)应该是可行的:

代码语言:javascript
复制
bayesian.model <- "
{
                  for(r in 1:K){
                    for(t in 2:T){

                         S[t,r] <- S[t-1,r] - y[t,r] + b*R[t-1,r]
                         E[t,r] <- E[t-1,r] + y[t,r] - c*E[t-1,r]
                         I[t,r] <- I[t-1,r] - a*I[t-1,r] + c*E[t-1,r]
                         R[t,r] <- R[t-1,r] + a*I[t-1,r] - b*R[t-1,r]
 
                         y[t,r] ~ dbin(theta[t,r], S[t-1,r])
                         logit(theta[t,r]) <-  alpha*log(I[t-1,r]) +  rzero + beta*L[r]
                     }
                   }

                       # PARAMETERS OF THE MODEL
                              a <- 1/17.5
                              b <- 1/m
                              m ~ dnorm(300, 20)
                              c <- 1/11.17
                              for(r in 1:K){
                                    S[1,r] <- N[r] - 100 - 0.5*100 
                                    E[1,r] <- 0.5*100
                                    I[1,r] <- 100
                                    R[1,r] <- 0
                                    y[1,r] ~ dbin(theta[1,r], S[1,r])
                                    logit(theta[1,r]) <- alpha*log(I[1,r]+100) + rzero + 
                                                                    beta*L[r]                                                 
                              }
                                  rzero ~ dbeta(0.1, 0.3)
                                  beta ~ dbeta(0.1, 0.3)
}                                  alpha <- 0.8 
"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65396668

复制
相关文章

相似问题

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