2
當我使用附加的模型加載3個鏈時,我得到「這個鏈包含未初始化的變量」。我打「gen init」繼續前進。這是一件正確的事情嗎? 固定模型不會發生這種情況,但傾向於隨機模型發生。 請指教。這個鏈包含未初始化的變量
#BUGS model
model{
for(i in 1:ns){
w[i,1] <- 0
delta[i,1] <- 0
mu[i] ~ dnorm(0,.0001)
for (k in 1:na[i]) {
r[i,k] ~ dpois(theta[i,k])
theta[i,k] <- lambda[i,k]*E[i,k]
log(lambda[i,k]) <- mu[i] + delta[i,k]
dev[i,k] <- 2*((theta[i,k]-r[i,k]) + r[i,k]*log(r[i,k]/theta[i,k]))
}
resdev[i] <- sum(dev[i,1:na[i]])
for (k in 2:na[i]) {
delta[i,k] ~ dnorm(md[i,k],taud[i,k])
md[i,k] <- d[t[i,k]] - d[t[i,1]] + sw[i,k]
taud[i,k] <- tau *2*(k-1)/k
w[i,k] <- (delta[i,k] - d[t[i,k]] + d[t[i,1]])
sw[i,k] <- sum(w[i,1:k-1])/(k-1)
}
}
for (c in 1:(nt-1)) {
for (k in (c+1):nt) {
lhr[c,k] <- (d[k]-d[c])
log(hr[c,k]) <- lhr[c,k]
}
}
totresdev <- sum(resdev[])
d[1]<-0
for (k in 2:nt){
d[k] ~ dnorm(0,.0001)
}
sd ~ dunif(0,5)
tau <- pow(sd,-2)
}
#data
list(ns=9, nt=9)
t[,1] t[,2] t[,3] t[,4] E[,1] E[,2] E[,3] E[,4] r[,1] r[,2] r[,3] r[,4] na[]
1 2 3 4 224 226 221 223 19 11 15 7 4
2 5 NA NA 818 806 NA NA 83 73 NA NA 2
2 7 NA NA 412 429 NA NA 51 37 NA NA 2
1 2 7 NA 4572 4563 4599 NA 869 730 736 NA 3
1 7 NA NA 68 137 NA NA 8.8 13.7 NA NA 2
1 6 NA NA 125 131 NA NA 4 5 NA NA 2
2 8 9 NA 131 128 130 NA 10.6 20.2 18.1 NA 3
1 2 8 NA 256 255 254 NA 79 73 48 NA 3
2 8 NA NA 152 147 NA NA 38 24 NA NA 2
END
#inits
list(d=c(NA, 0, 0, 0, 0, 0, 0, 0, 0), sd=1, mu=c(0, 0, 0, 0, 0, 0, 0, 0, 0))
list(d=c(NA, -1, -1, -1, -1, -1, -1, -1, -1), sd=4, mu=c(-3, -3, -3, -3, -3, -3, -3, - 3, -3))
list(d=c(NA, 2, 2, 2, 2, 2 ,2, 2, 2), sd=2, mu=c(-3, 5, -1, -3, 7, -3, -4, -3, -3))