Let me make a concrete plan:
1. User specifies a total run time t.
2. We run warmup until the first iteration ending at a time past t/2.
3. We then run sampling iterations until the first iteration past time t.
4. Analyze ragged R-hat and n_eff with each chain weighted equally.
Is this what you (Andrew) had in mind? If so, that's what
we can implement. I don't think anyone else has a strong
opinion on how this should go.
I'm not sure what this'll do to computation compared to running
each chain the same number of iterations.
Timed setup: If one chain is slow to converge in wall time,
the other chains will keep running for the same amount of time, which
they didn't technically need to do.
# Iterations condition: If one chain takes more iterations to converge,
the other chains will have to keep running for that many iterations,
which they didn't technically need to do.
What we really want is to run until each chain has converged :-)
What I'm seeing in practice is that some chains are slow in wall
time because adaptation gets stuck, but by the time it gets unstuck,
they sample just fine as measured by number of iterations. In
the stochastic volatilit models, it'd often take one chain four or
five times as many iterations to converge as the others (1000 vs.
200, say) in the untransformed model.
- Bob