On Sun, 2016-04-24 at 23:09 -0700, Francisco Fabuel wrote:
> I've run the following code (R version 3.2.2, Platform: x86_64-w64-
> mingw32/x64 (64-bit)) and the samples are different.
>
> set.seed(1)
> datos <- data.frame(x = 1:10)
> datos$y <- 2 * datos$x + rnorm(10)
>
> m <- inla(y ~ x, data = datos, control.compute=list(config = TRUE))
>
> germen <- 1234
> l1 <- inla.posterior.sample(5, m, seed = germen)
> l2 <- inla.posterior.sample(5, m, seed = germen)
>
> s1 <- sapply(l1, "[[", "latent")
> s2 <- sapply(l2, "[[", "latent")
>
> all.equal(s1, s2)
> [1] "Mean relative difference: 0.006738508"
>
> First three columns of s1 and s2 are the same but something wrong
> happens with the other two.
see the example in ?inla.posterior.sample.
you need to control 2 seeds, in R and in `INLA' (which is a C-program).
do
> set.seed(1)
> datos <- data.frame(x = 1:10)
> datos$y <- 2 * datos$x + rnorm(10)
>
> m <- inla(y ~ x, data = datos, control.compute=list(config = TRUE))
>
> set.seed(8123)
> germen <- 1234
> l1 <- inla.posterior.sample(5, m, seed = germen)
> set.seed(8123)
> l2 <- inla.posterior.sample(5, m, seed = germen)
>
> s1 <- sapply(l1, "[[", "latent")
> s2 <- sapply(l2, "[[", "latent")
>
> all.equal(s1, s2)
[1] TRUE