View source: R/glm_logml_map.R
glm.logml.map | R Documentation |
Uses Markov chain Monte Carlo (MCMC) and bridge sampling to estimate the logarithm of the marginal likelihood of a GLM under the meta-analytic predictive (MAP) prior. The MAP prior is equivalent to the prior induced by the Bayesian hierarchical model (BHM).
The arguments related to MCMC sampling are utilized to draw samples from the MAP prior. These samples are then used to compute the logarithm of the normalizing constant of the BHM using only historical data sets.
glm.logml.map(
post.samples,
bridge.args = NULL,
iter_warmup = 1000,
iter_sampling = 1000,
chains = 4,
...
)
post.samples |
output from |
bridge.args |
a |
iter_warmup |
number of warmup iterations to run per chain. Defaults to 1000. See the argument |
iter_sampling |
number of post-warmup iterations to run per chain. Defaults to 1000. See the argument |
chains |
number of Markov chains to run. Defaults to 4. See the argument |
... |
arguments passed to |
The function returns a list
with the following objects
"MAP"
the estimated logarithm of the marginal likelihood of the meta-analytic predictive (MAP) prior
an object of class bridge
or bridge_list
containing the output from using bridgesampling::bridge_sampler()
to compute the logarithm of the normalizing constant of the Bayesian hierarchical model (BHM) using all data sets
an object of class bridge
or bridge_list
containing the output from using
bridgesampling::bridge_sampler()
to compute the logarithm of the normalizing constant of the BHM using historical
data sets
the minimum estimated bulk effective sample size of the MCMC sampling
the maximum Rhat
Gronau, Q. F., Singmann, H., and Wagenmakers, E.-J. (2020). bridgesampling: An r package for estimating normalizing constants. Journal of Statistical Software, 92(10).
if (instantiate::stan_cmdstan_exists()) {
data(actg019)
data(actg036)
## take subset for speed purposes
actg019 = actg019[1:100, ]
actg036 = actg036[1:50, ]
formula = outcome ~ scale(age) + race + treatment + scale(cd4)
family = binomial('logit')
data_list = list(currdata = actg019, histdata = actg036)
d.bhm = glm.bhm(
formula = formula,
family = family,
data.list = data_list,
chains = 1, iter_warmup = 500, iter_sampling = 1000
)
glm.logml.map(
post.samples = d.bhm,
bridge.args = list(silent = TRUE),
chains = 1, iter_warmup = 1000, iter_sampling = 2000
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.