所以我在下面给出了一个 rjags 模型。我的问题是,当我想运行时jags.model()
,它有时会编译,有时却不会。jags.model()
因此,当我立即使用相同的参数重新运行相同的函数并且没有任何变化时,我可以从字面上运行该函数并且没有发生错误jags.model()
我突然收到错误消息:
Error in update.jags(object, n.iter, ...) :
Error in node ((beta[2]/x1[5])^0.9)
Invalid parent values
我真的不知道这是怎么发生的,我的工作空间有问题吗?以下是我的输入和我的模型。
bayesnlm = "
model {
for (i in 1:length(y)) {
y[i] ~ dnorm(mu[i], tau)
mu[i] <- beta[3] + beta[4] * (x2[i]) +
beta[1] *(0.9/beta[2])*(beta[2]/x1[i])^1.9*exp((-(beta[2]/x1[i])^0.9))
residual[i] <- y[i] - mu[i]
}
# Define Prior distribution
beta[1:4] ~ dmnorm.vcov(mu.p[1:4], Sigma[1:4,1:4])
tau ~ dgamma(1.0E-3, 1.0E-3)
}
"
我的输入数据如下所示:
$`x1`
[1] 14 75 258 26 70
$x2
[1] 14 75 258 815 859
$y
[1] 0.2091645 1.7007476 -0.2880298 -0.2880298 0.7063589
$Sigma
[,1] [,2] [,3] [,4]
[1,] 2.479069e+04 3.717394e+03 -1.940021e+01 5.853116e-03
[2,] 3.717394e+03 1.245803e+03 3.743637e+00 -1.778376e-03
[3,] -1.940021e+01 3.743637e+00 3.006899e-01 -1.496941e-04
[4,] 5.853116e-03 -1.778376e-03 -1.496941e-04 9.027231e-08
$mu.p
[1] 5.445813e+02 1.343918e+02 -5.689060e-01 -1.070608e-04
在这里您可以复制并粘贴它:
list(x1 = c(14, 75, 258, 26, 70), x2 = c(14, 75, 258, 815, 859
), y = c(0.20916452356296, 1.70074760142997, -0.288029835726044,
-0.288029835726044, 0.706358882851964), Sigma = structure(c(24790.6941908131,
3717.39378904953, -19.400211288343, 0.00585311596063579, 3717.39378904953,
1245.80270600402, 3.74363729374668, -0.00177837577140645, -19.400211288343,
3.74363729374668, 0.300689871287482, -0.000149694071017865, 0.00585311596063579,
-0.00177837577140645, -0.000149694071017865, 9.02723134020887e-08
), .Dim = c(4L, 4L)), mu.p = c(544.581343592283, 134.391793200685,
-0.568905977830338, -0.000107060840574308))