Setting inits to zero and interpretation of Rhat

71 views
Skip to first unread message

Tom Wallis

unread,
Apr 14, 2016, 7:17:17 AM4/14/16
to Stan users mailing list
Apologies if this has been asked before.

For a model I'm trying to fit, I need to set inits to 0 for sampling to not throw an error. Is my understanding correct that this means one can't use (or at least, must be cautious with) the Rhat statistic for assessing chain convergence? From Gelman & Rubin (1992):

> Our recommended strategy is to use several independent sequences, with starting points sampled from an overdispersed distribution.

Setting the chains to initialise at the same value would violate this starting point assumption, producing spurious evidence of convergence. Correct?

Michael Betancourt

unread,
Apr 14, 2016, 7:26:18 AM4/14/16
to stan-...@googlegroups.com
It is not as robust, but still valid because even though they initialize at
the same point each chain will have an independent random number
generator and hence explore the parameter space differently.  You will
not be able to diagnose many pathologies as strongly, but it will be
better than nothing.

--
You received this message because you are subscribed to the Google Groups "Stan users mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stan-users+...@googlegroups.com.
To post to this group, send email to stan-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bob Carpenter

unread,
Apr 14, 2016, 3:40:28 PM4/14/16
to stan-...@googlegroups.com
What happens with other inits? This can arise from missing
constraints on parameters. You can also control the range of
initialization, which defaults to (-2, 2), but can be made
smaller.

- Bob

Jonah Gabry

unread,
Apr 14, 2016, 6:04:15 PM4/14/16
to Stan users mailing list
Have you tried restricting the range of initialization, like Bob mentioned? That can sometimes work and is more robust than setting to zero. I'm not sure how to specify it in all of the interfaces, but if you're using RStan then you can set  init_r = x  to change the range from (-2,2) to (-x,x). 

Tom Wallis

unread,
Apr 14, 2016, 6:29:06 PM4/14/16
to Stan users mailing list
Hi, thanks for all the replies. I can get it to sample with `init_r = 0.1`, but the next highest value I've tried (0.5) fails again. Still, I suppose initialising from 0.1 is better than initialising from zero.

Andrew Gelman

unread,
Apr 14, 2016, 6:50:31 PM4/14/16
to stan-...@googlegroups.com
Hi, actually I think R-hat should still work ok even if you start the chains at the same point.  The between-chain variance should increase at first at a higher rate than the within-chain variance.
A
On Apr 14, 2016, at 7:17 AM, Tom Wallis <tsaw...@gmail.com> wrote:

Reply all
Reply to author
Forward
0 new messages