It would be a cool feature like this: stan would monitor the effective
sample size during sampling (at least sporadically). Whenever the sample
is sufficiently large, a new chain is started. The user would specify
the number of threads and the desired overall sample size. Stan then
would do something like this:
c1 |-----|-------|-----|-------|--------|
c2 |---|---------|-------|---|--------|
c3 |-----|-------|-----|-------|------|
c4 |-----|-----|---------|---------|---|
E.g., ~4 serial chains in 4 threads
While currently it does something like this:
c1 |---------------------------------|
c2 |---------------------------------|
c3 |---------------------------------|
c4 |---------------------------------|
The overall sample size in this case is similar, but the across chain
diagnostics weaker (probably trades for more samples per chain than
really needed).
Each in the chains in the hypothetical first case would go through the
whole adaptation and warmup business, of course.
Best regards
Jan
On 10/30/2015 12:02 AM, Jonah wrote:
> And always run multiple chains. In parallel there's really no cost to running several (preferably >= 4) rather than 1. Even if you can't parallelize for whatever reason, I'd argue that the (scientific) cost of running them sequentially (even for really slow models) is infinitely smaller than the cost of unknowingly using invalid estimates.
>
> Of course this doesn't apply if you're doing it for educational purposes (e.g. to show that multiple chains are required in order to identify certain pathologies when doing MCMC).
>
--
M.Sc. Jan T U E N N E R M A N N _________________________________
University of Paderborn
Faculty of Computer Science
Electrical Engineering and Mathematics
GET Lab
phone:
+49/ (0)5251/ 60 - 2219 Pohlweg 47-49
fax:
+49/ (0)5251/ 60 - 3238 D-33098 Paderborn
email:
tuenn...@get.uni-paderborn.de
Faculty of Cultural Sciences
Department of Psychology
PsyLab
phone:
+49/ (0)5251/ 60 - 3211 Warburger Straße 100
fax:
+49/ (0)5251/ 60 - 3528 D-33098 Paderborn
email:
jan.tue...@uni-paderborn.de