View source: R/glm_commensurate.R
glm.commensurate | R Documentation |
Sample from the posterior distribution of a GLM using the commensurate prior (CP) by Hobbs et al. (2011) doi:10.1111/j.1541-0420.2011.01564.x.
glm.commensurate(
formula,
family,
data.list,
offset.list = NULL,
beta0.mean = NULL,
beta0.sd = NULL,
disp.mean = NULL,
disp.sd = NULL,
p.spike = 0.1,
spike.mean = 200,
spike.sd = 0.1,
slab.mean = 0,
slab.sd = 5,
iter_warmup = 1000,
iter_sampling = 1000,
chains = 4,
...
)
formula |
a two-sided formula giving the relationship between the response variable and covariates |
family |
an object of class |
data.list |
a list of |
offset.list |
a list of vectors giving the offsets for each data. The length of |
beta0.mean |
a scalar or a vector whose dimension is equal to the number of regression coefficients
giving the mean parameters for the prior on the historical data regression coefficients. If a
scalar is provided, |
beta0.sd |
a scalar or a vector whose dimension is equal to the number of regression coefficients giving
the sd parameters for the prior on the historical data regression coefficients. If a scalar is
provided, same as for |
disp.mean |
a scalar or a vector whose dimension is equal to the number of data sets (including the current
data) giving the location parameters for the half-normal priors on the dispersion parameters.
If a scalar is provided, same as for |
disp.sd |
a scalar or a vector whose dimension is equal to the number of data sets (including the current
data) giving the scale parameters for the half-normal priors on the dispersion parameters. If a
scalar is provided, same as for |
p.spike |
a scalar between 0 and 1 giving the probability of the spike component in spike-and-slab prior
on commensurability parameter |
spike.mean |
a scalar giving the location parameter for the half-normal prior (spike component) on |
spike.sd |
a scalar giving the scale parameter for the half-normal prior (spike component) on |
slab.mean |
a scalar giving the location parameter for the half-normal prior (slab component) on |
slab.sd |
a scalar giving the scale parameter for the half-normal prior (slab component) on |
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 commensurate prior (CP) assumes that the regression coefficients for the current data conditional on those for
the historical data are independent normal distributions with mean equal to the corresponding regression coefficients
for the historical data and variance equal to the inverse of the corresponding elements of a vector of precision
parameters (referred to as the commensurability parameter \tau
). We regard \tau
as random and elicit
a spike-and-slab prior, which is specified as a mixture of two half-normal priors, on \tau
.
The number of current data regression coefficients is assumed to be the same as that of historical data regression coefficients. The priors on the dispersion parameters (if applicable) for the current and historical data sets are independent half-normal distributions.
The function returns an object of class draws_df
giving posterior samples, with an attribute called 'data' which includes
the list of variables specified in the data block of the Stan program.
Hobbs, B. P., Carlin, B. P., Mandrekar, S. J., and Sargent, D. J. (2011). Hierarchical commensurate and power prior models for adaptive incorporation of historical information in clinical trials. Biometrics, 67(3), 1047–1056.
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)
glm.commensurate(
formula = cd4 ~ treatment + age + race,
family = poisson(), data.list = data_list,
p.spike = 0.1,
chains = 1, iter_warmup = 500, iter_sampling = 1000
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.