Post

Have you used Bayes factor to test point-null hypotheses in Hierarchical models and wondered: 1. Bridge sampling (BS) or Savage-Dickey density ratio (SDDR)? 2. If SDDR, which density estimation method? 3. How many MCMC samples? 4. What's the cost-benefit trade-off? This may be of interest to you.

12 reposts21 likes

Based on 6 simulations, we provide practical recommendations. For context, the main limiting factor on using BF is practical: they are hard to compute. Researchers mostly have to resort to numerical estimation. BS is flexible but computationally expensive; SDDR less flexible, but cheaper.

The upshot: all methods can give accurate estimates, but the cost-benefit trade-off shifts depending on (1) computational cost of MCMC sampling, (2) normality of the posterior, (3) number of model parameters, and (4) test value tail probability.

1. BS or SDDR? If MCMC sampling is cheap, BS is a good default. But we found an unfavorable cost–benefit trend: with more parameters, BS becomes computationally expensive while BF estimates become less accurate. In models with many parameters, SDDR is often cheaper and at least as accurate.

We also find that variability of SDDR estimates increases with BF10 (i.e., test value tail probability). For large BF10, SDDR was less reliable than BS, but more reliable for BF01 > 1. Note that for low tail probabilities, reliability may matter less (is BF10 = 1,000 or 1,000,000?).

Thanks for sharing! Very interesting! I'm honestly surprised by the low(ish) variability of the SDDR! In {bayestestR} we currently use logspline - I'm interested in hearing any recommendations you might have to improve there 🙂

I think the documentation should note the importance of a sufficient number of MCMC samples and tail probability of the test value. An estimate of the tail probability (`plogspline()`) might be a useful "diagnostic."

When you estimate the posterior density, you can calculate the tail probability of the test value via plogspline() (posterior p-value). Assuming enough MCMC samples, this may give a rough idea if SDDR may be unreliable/biased (if p is small; see Simulation 5).