glm.logml.pp | R Documentation |
Uses Markov chain Monte Carlo (MCMC) and bridge sampling to estimate the logarithm of the marginal likelihood of a GLM under the power prior (PP).
The arguments related to MCMC sampling are utilized to draw samples from the power prior (PP). These samples are then used to compute the logarithm of the normalizing constant of the PP using only historical data sets.
glm.logml.pp(
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 |
If all of the power prior parameters (a_0
's) are equal to zero, or if the posterior samples are obtained from using only
one data set (the current data), then the function will return the same result as the output from glm.logml.post()
.
If at least one of the power prior parameters (a_0
's) is non-zero, the function will return a list
with the following objects
"PP"
the estimated logarithm of the marginal likelihood
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 power prior (PP) 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 PP using historical
data sets
the minimum estimated bulk effective sample size of the MCMC sampling
the maximum Rhat
Chen, M.-H. and Ibrahim, J. G. (2000). Power prior distributions for Regression Models. Statistical Science, 15(1).
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, ]
data_list = list(currdata = actg019, histdata = actg036)
formula = cd4 ~ treatment + age + race
family = poisson('log')
a0 = 0.5
d.pp = glm.pp(
formula = formula, family = family,
data.list = data_list,
a0.vals = a0,
chains = 1, iter_warmup = 500, iter_sampling = 1000
)
glm.logml.pp(
post.samples = d.pp,
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.