On 6/30/13 6:18 PM, Ryan wrote:
> What sort of randomness is there during the adapt phase?
If you don't specify initial values, those are initialized
between -2 and 2 uniformly on the unconstrained scale (constrained
variables are transformed to unconstrained scales automatically).
Then NUTS is run during adaptation, and that has several kinds
of built-in randomness, including initial momentum and the directions
in which to update and a final Metropolis reject step.
> Could this be a cause for slowness in sampling between chains?
Yes.
> I have two very different types of models that I've encountered slowness in some chains when sampling from 3 chains in
> parallel. Both models have somewhere between 50k-100k sample sizes, some form of a normal likelihood, so nothing too
> crazy in either case, yet in both cases I find that one chain finishes sampling much faster than the other two.
We've noticed that, too, and have been considering
time-based evaluation with appropriate weighting
among the chains.
Do all of the chains get to the same place eventually
in terms of the quantiles (or mean and sd).
> My sense is that this caused by some sort of randomness at the start of the adapt phase in each chain. Is there anyway
> to monitor this, or possibly set some sort of initial values in hopes of having all chains sample at the faster rate?
Yes, you can provide initial values for each chain. If
they all start in the same place, they're much more likely
to all run at roughly the same speed, but you lose the
benefit of the conservative convergence diagnostics.
- Bob