gpt4 book ai didi

winbugs - 此链包含未初始化的变量

转载 作者:行者123 更新时间:2023-12-01 10:51:06 25 4
gpt4 key购买 nike

当我为带有附加模型的 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))

最佳答案

如果您没有为未知参数提供初始值,您会收到此消息。在您的情况下,这将是随机效应。允许 WinBUGS 为随机效果生成初始值通常是可以的。作为一般规则,如果先验是模糊的,您应该指定自己的初始值(以避免在采样开始时出现数值溢出问题)。如果先验信息是有用的(如果您已将随机效应分布的参数初始化为合理的值,则它会是随机效应),您可以让 WinBUGS 执行此操作。

关于winbugs - 此链包含未初始化的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com