Computes the inclusion Bayes factor for two sets of models (e.g., A={M1,M2} vs. B={M3,M4}).
inclusion(logml, include = 1, prior = 1)
a vector with log-marginal likelihoods. Alternatively, a list
with meta-analysis models (fitted via meta_random
or meta_fixed
).
integer vector which models to include in inclusion Bayes
factor/posterior probability. If only two marginal likelihoods/meta-analyses
are supplied, the inclusion Bayes factor is identical to the usual Bayes factor
BF_{M1,M2}. One can include models depending on the names of the models (such as
"random_H1"
) by providing a character value, for instance: include="H1"
(all H1 vs. all H0 models) or include="random"
(all random- vs. all
fixed-effects models).
prior probabilities over models (possibly unnormalized). For instance, if the first model is as likely as models 2, 3 and 4 together: prior = c(3,1,1,1)
. The default is a discrete uniform distribution over models.
#### Example with simple Normal-distribution models
# generate data:
x <- rnorm(50)
# Model 1: x ~ Normal(0,1)
logm1 <- sum(dnorm(x, log = TRUE))
# Model 2: x ~ Normal(.2, 1)
logm2 <- sum(dnorm(x, mean = .2, log = TRUE))
# Model 3: x ~ Student-t(df=2)
logm3 <- sum(dt(x, df = 2, log = TRUE))
# BF: Correct (Model 1) vs. misspecified (2 & 3)
inclusion(c(logm1, logm2, logm3), include = 1)
#> ### Inclusion Bayes factor ###
#> Model Prior Posterior included
#> 1 Model 1 0.333 0.626965 x
#> 2 Model 2 0.333 0.372869
#> 3 Model 3 0.333 0.000167
#>
#> Inclusion posterior probability: 0.627
#> Inclusion Bayes factor: 3.361