Research Article

Modeling Chickenpox Dynamics with a Discrete Time Bayesian Stochastic Compartmental Model

Pseudocode 1

BUGS code for the Bayesian stochastic SEIR model in discrete time.
model
E1[1]  ~  dbin(p[1],  Sini)
logit(p[1])   <-  alpha1  *  log(Iini)  +  r[1]
for(t  in  2:T)
E1[t]  ~  dbin(p[t],  S[t-1])
logit(p[t])  <-  alpha1  *  log(I[t-1])  +  r[t]
  
for(t  in  1:T)
r[t]  <-  a  +  a1*cos(2*3.1416*t/52)  +  a2*sin(2*3.1416*t/52)
+  a3*cos(4*3.1416*t/52)  +  a4*sin(4*3.1416*t/52)
+  a5*cos(6*3.1416*t/52)  +  a6*sin(6*3.1416*t/52)  +  epsilon[t]
epsilon[t]  ~  dnorm(0,  tau.epsilon)
  
alpha1  ~  dunif(0,  1)
a  ~  dnorm(0,  tau.a)
tau.a  <-  1  /  pow(sigma.a,  2)
sigma.a  ~  dunif(0,  5)
a1  ~  dnorm(0,  tau.a1)
tau.a1  <-  1  /  pow(sigma.a1,  2)
sigma.a1  ~  dunif(0,  5)
a2  ~  dnorm(0,  tau.a2)
tau.a2  <-  1  /  pow(sigma.a2,  2)
sigma.a2  ~  dunif(0,  5)
a3  ~  dnorm(0,  tau.a3)
tau.a3  <-  1  /  pow(sigma.a3,  2)
sigma.a3  ~  dunif(0,  5)
a4  ~  dnorm(0,  tau.a4)
tau.a4  <-  1  /  pow(sigma.a4,  2)
sigma.a4  ~  dunif(0,  5)
a5  ~  dnorm(0,  tau.a5)
tau.a5  <-  1  /  pow(sigma.a5,  2)
sigma.a5  ~  dunif(0,  5)
a6  ~  dnorm(0,  tau.a6)
tau.a6  <-  1  /  pow(sigma.a6,  2)
sigma.a6  ~  dunif(0,  5)
tau.epsilon  <-  1  /  pow(sigma.epsilon,  2)
sigma.epsilon  ~  dunif(0,  5)