4

我试图比较两个非常等效但略有不同的模型的运行时间。但是根据采样的随机数,链总是需要非常不同的时间。所以我试图解决这个问题,seedstan().

我试过两次运行相同的模型。不幸的是,我发现即使是相同的种子也不能保证该过程会产生相同的样品!并且两次运行中链的运行时间也有很大不同!

100 iterations, 50 warmup, 15 chains

1st run: total 57.42 seconds, chain 14: 4.515 seconds, chain 15: 2.782 seconds; 
2nd run: total 76.99 seconds, chain 14: 2.703 seconds, chain 15: 4.125 seconds.
  1. 种子怎么可能不保证 Stan 中的相同链?

  2. 这怎么能保证?

以下选项用于运行 Stan(rstan 版本 2.5.0):

t1 <- proc.time()
out7.5b <- out <- stan(fit = fit7.5b, data = win.data, init = inits,
    pars = params,
      iter = ni, warmup = nb, chains = nc, seed = 123)
t2 <- proc.time()
print(t2 - t1)
4

0 回答 0