0

所以我在下面给出了一个 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))
4

0 回答 0