Compute Bayes factors from marginal likelihoods.
Report Bayes factors on the log-scale?
Additional arguments passed to
Computing the marginal likelihood requires samples
of all variables defined in Stan's
to be saved. Otherwise
bayes_factor cannot be computed.
Thus, please set
save_all_pars = TRUE in the call to
if you are planning to apply
bayes_factor to your models.
The computation of Bayes factors based on bridge sampling requires
a lot more posterior samples than usual. A good conservative
rule of thumb is perhaps 10-fold more samples (read: the default of 4000
samples may not be enough in many cases). If not enough posterior
samples are provided, the bridge sampling algorithm tends to be unstable,
leading to considerably different results each time it is run.
We thus recommend running
multiple times to check the stability of the results.
More details are provided under
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
## Not run: # model with the treatment effect fit1 <- brm( count ~ zAge + zBase + Trt, data = epilepsy, family = negbinomial(), prior = prior(normal(0, 1), class = b), save_all_pars = TRUE ) summary(fit1) # model without the treatment effect fit2 <- brm( count ~ zAge + zBase, data = epilepsy, family = negbinomial(), prior = prior(normal(0, 1), class = b), save_all_pars = TRUE ) summary(fit2) # compute the bayes factor bayes_factor(fit1, fit2) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.