I am using WinBUGs for Bayesian spatiotemporal stratification analysis. When I perform the compile operation in Specification Tool, the software prompts "adjacency matrix of normal CAR beta sp contains element greater than length".
This is my model:
model
{
for (i in 1:N){
for (tt in 1:T){
z[i,tt]~dbin(p[i,tt],n[i,tt])
logit(p[i,tt])<-U[i]+gamma_overall[tt]+gamma[i,tt]
}
mu.u[i]<-alpha+s[i]
U[i]~dnorm(mu.u[i],tau_U)
r[i]<-exp(s[i])
}
sigma~dnorm(0,10)I(0,)
tau<-pow(sigma,-2)
sigma_U~dnorm(0,10)I(0,)
tau_U<-pow(sigma_U,-2)
s[1:N]~car.normal(adj[],weights[],num[],tau_s)
for (k in 1:sumNumNeigh){weights[k]<-1}
tau_s~dgamma(0.01, 0.001)
alpha~dflat()
st<-mean(gamma_overall_temp[1:T])
for(tt in 1:T){
gamma_overall[tt]<-gamma_overall_temp[tt]-st
gamma_overall_temp[tt]~dnorm(mu_gamma_overall[tt],tau_gamma_overall)
mu_gamma_overall[tt]<-b0*(tt-mt)
a[tt]<-exp(gamma_overall[tt])
}
tau_gamma_overall<-pow(sigma_gamma_overall,-2)
sigma_gamma_overall~dnorm(0,10)I(0,)
for(i in 1:N) {
b1[i]~dnorm(mu_beta_sp[i],tau_b1)
mu_beta_sp[i]<-beta_sp[i]
for(tt in 1:T) {gamma[i,tt] <-b1[i]*(tt-mt)}
}
beta_sp[1:N]~car.normal(adj[],weights[],num[],tau_beta_sp)
sigma_beta_sp~dnorm(0,10)I(0,)
tau_beta_sp<-pow(sigma_beta_sp,-2)
sigma_b1~dnorm(0,10)I(0,)
tau_b1<-pow(sigma_b1,-2)
b0~dflat()
for(tt in 1:T) {time[tt]<-tt}
mt<-mean(time[1:T])
}
`
'
#data
list(N=31, T=8, num = c(2,2,7,4,8,3,3,2,2,4,5,6,3,6,4,6,6,6,7,5,2,5,7,5,4,4,8,6,4,3,3),
adj = c(2,3,
1,3,
1,2,4,5,6,15,16,
3,5,16,27,
3,4,6,7,8,27,28,30,
3,5,7,
5,6,8,
5,7,
10,11,
9,11,12,15,
9,10,12,13,14,
10,11,14,15,16,17,
11,14,19,
11,12,13,17,18,19,
3,10,12,16,
3,4,12,15,17,27,
12,14,16,18,22,27,
14,17,19,20,22,24,
13,14,18,20,21,33,34,
18,19,21,24,25,
19,20,
17,18,23,24,27,
22,24,25,26,27,28,29,
18,20,22,23,25,
20,23,24,26,
23,25,29,31,
4,5,16,17,22,23,28,30,
5,23,27,29,30,31,
23,26,28,31,
28,5,27,
26,29,28),
sumNumNeigh=142,
z=structure(.Data=c(),.Dim=c(31,8)),
n=structure(.Data=c(),.Dim=c(31,8))
)
Which part should I adjust?