
The following code describes how estimate model (3.5) using
WinBugs.

model{
b.clu[1:na]~car.normal(mapa[],weia[],numa[],tau.clu);
b.coo[1:nc]~car.normal(mapc[],weic[],numc[],tau.coo);
b.tem[1:nt]~car.normal(mapt[],weit[],numt[],tau.tem)
for (j in 1:nt) {eff.tem[j]<- b.tem[j]-b.tem[1]}
for (i in 1:na) {
for (j in 1:nt) {
ind[i,j]~dnorm(media[i,j],tau.indi);
media[i,j]<-b.ete2[i]+eff.tem[j]}
b.ete2[i]~dnorm(0.00,tau.ete2)}
for (i in 1:na) {
for (j in 1:nc) {
oss[i,j]~dpois(lambda[i,j]);
log(lambda[i,j])<-log(att[i,j])+alpha+b.clu[i]+b.ete[i]+b.coo[j]+
     beta[j]*(cate[j,1]*ind[i,j+3]+cate[j,2]*ind[i,j+5]+
     cate[j,3]*ind[i,j+7]+cate[j,4]*ind[i,j+9]);
rr[i,j]<-lambda[i,j]/att[i,j];
devi[i,j]<-(oss[i,j]+0.05)*log((oss[i,j]+0.05)/(rr[i,j]*(att[i,j]
         + 0.05)))-oss[i,j]+att[i,j]*rr[i,j]}
b.ete[i]~dnorm(0.00,tau.ete)}
deviance<-2*(sum(devi[,]));
for (j in 1:6){beta[j]~dnorm(0,0.001)}
for (j in 1:6){
cate[j,1:4]~dmulti(lag[j,],1);
lag[j,1:4]~ddirch(nu[])}
alpha~dflat();
tau.ete~dgamma(1.0E-3,1.0E-3);
tau.indi~dgamma(1.0E-3,1.0E-3);
tau.clu~dgamma(nu.clu,sf.clu);
tau.coo~dgamma(nu.coo,sf.coo);
tau.tem~dgamma(nu.tem,sf.tem);
tau.ete2~dgamma(1.0E-3,1.0E-3)}}
