Hello Florian
I just tried to run the code in WinBUGS and it says that your adj matrix
is not symetric : region 3 does not appear as a neighbor of 7
Symmetry is essential for the car.normal distribution.
best
Andrew Lawson
On 4/9/2015 7:26 AM, Florian Gerber wrote:
>
>
> I try to implement a spatial intrinsic Gaussian Markov random field model (order = 1) in openBugs via the car.normal() distribution. For a regular 3x3 grid it works fine. But if I increase the sample size (say 4x4) I get an error. Why? I am grateful for hints...
>
> Here is a minimal example, that does not work for 4x4 (but for 3x3 it does):
>
> The file "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)
> }
>
> And the "data.txt" for a 4x4 grid:
>
> 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)
>
> I run it in R (other options are possible):
>
> 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)
>
>
> The error is:
>
> 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
>
> -------------------------------------------------------------------
> This list is for discussion of modelling issues and the BUGS software.
> For help with crashes and error messages, first mail [log in to unmask]
> To mail the BUGS list, mail to [log in to unmask]
> Before mailing, please check the archive at www.jiscmail.ac.uk/lists/bugs.html
> Please do not mail attachments to the list.
> To leave the BUGS list, send LEAVE BUGS to [log in to unmask]
> If this fails, mail [log in to unmask], NOT the whole list
-------------------------------------------------------------------
This list is for discussion of modelling issues and the BUGS software.
For help with crashes and error messages, first mail [log in to unmask]
To mail the BUGS list, mail to [log in to unmask]
Before mailing, please check the archive at www.jiscmail.ac.uk/lists/bugs.html
Please do not mail attachments to the list.
To leave the BUGS list, send LEAVE BUGS to [log in to unmask]
If this fails, mail [log in to unmask], NOT the whole list
|