openBugs错误与简单的car.normal()模型。我的错误或错误?

时间:2015-04-09 11:13:07

标签: winbugs

我尝试通过car.normal()分布在openBugs中实现空间固有的高斯马尔可夫随机场模型(order = 1)。对于常规3x3网格,它工作正常。但如果我增加样本量(比如4x4),我会收到错误。为什么?我很感激提示...

这是一个最小的例子,它不适用于4x4(但它适用于3x3):

文件“model.txt”:

model{
   # likelihoood
   for(i in 1:No){ Y[i] ~ dnorm(Z[i], tau) } 

   Z[1:No] ~ car.normal(adj[], weights[], num[], kappa)
   for(k in 1:Nw) { weights[k] <- 1 }      

   # prior
   kappa ~ dgamma(1, 1) 
   tau ~ dgamma(1, 1) 
}

4x4网格的“data.txt”:

list(No = 16,
Y = c(0.67,0.88,0.38,0.1,0.78,0.67,0.25,0.55,0.11,0.85,0.46,0.5,0.47,0.38,0.21,0.97), 
adj = c( 
5,2,
6,1,3,
7,2,4,
8,3,
1,9,6,
2,10,5,7,
6,14,9,11,
4,12,7,
5,13,10,
3,11,6,8,
7,15,10,12,
8,16,11,
9,14,
10,13,15,
11,14,16,
12,15),
num = c(2,3,3,2,3,4,4,3,3,4,4,3,2,3,3,2),
Nw = 48)

我在R中运行它(其他选项是可能的):

require(R2OpenBUGS)
bugs(data="data.txt",
     inits=function(){list(tau=10, kappa=100, Z = rep(c(-.5,.5),8))},
     parameters=c("Z","tau","kappa"),
     model.file="model.txt",
     n.chains=1, n.iter=150, n.burnin=1)

错误是:

OpenBUGS version 3.2.2 rev 1063
model is syntactically correct
data loaded
model compiled
error for node Z[1] of type SpatialCARNormal.Node first argument Graph18 error pos 260 (error on line 1)
error for node Z[1] of type SpatialCARNormal.Node first argument Graph18
model must be initialized before updating
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before DIC can be monitored
model must be initialized before updating
model must be initialized before monitors used
model must be initialized before monitors used
DIC monitor not set

0 个答案:

没有答案