利用R语言中的R2WinBUGS包计算贝叶斯模型的时候,在WinBUGS中的inverse gamma(逆伽马)函数为什么总是出错?
winbugs 中的模型如下
model {
for(i in 1:N){
Median_NO2NO3 ~ dnorm(mu, sigma)
mu <- beta0 + beta1*PerAg + beta2*TotForest+ beta3*Pasture_Hay+ beta4*AWC_Weighted
}
# priors
beta0 ~ dnorm(0, .01)
beta1 ~ dnorm(0, .01)
beta2 ~ dnorm(0, .01)
beta3 ~ dnorm(0, .01)
beta4 ~ dnorm(0, .01)
sigma0 ~ dgamma(0.01, 0.01)
sigma<-1/sigma0
}
如果将sigma0 ~ dgamma(0.01, 0.01)改成参数较大的,如sigma0 ~ dgamma(10, 10)就不会出错,这是为什么?