glm.napp {hdbayes} | R Documentation |
Posterior of normalized asymptotic power prior (NAPP)
Description
Sample from the posterior distribution of a GLM using the NAPP by Ibrahim et al. (2015) doi:10.1002/sim.6728.
Usage
glm.napp(
formula,
family,
data.list,
offset.list = NULL,
a0.shape1 = 1,
a0.shape2 = 1,
iter_warmup = 1000,
iter_sampling = 1000,
chains = 4,
...
)
Arguments
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 offset.list is equal to the length of data.list. The length of each element of offset.list is equal to the number of rows in the corresponding element of data.list. Defaults to a list of vectors of 0s. |
a0.shape1 |
first shape parameter for the i.i.d. beta prior on a0 vector. When |
a0.shape2 |
second shape parameter for the i.i.d. beta prior on a0 vector. When |
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 |
Details
The NAPP assumes that the regression coefficients and logarithm of the dispersion parameter are a multivariate
normal distribution with mean equal to the maximum likelihood estimate of the historical data and covariance
matrix equal to a_0^{-1}
multiplied by the inverse Fisher information matrix of the historical data,
where a_0
is the power prior parameter (treated as random).
Value
The function returns an object of class draws_df
giving posterior samples.
References
Ibrahim, J. G., Chen, M., Gwon, Y., and Chen, F. (2015). The power prior: Theory and applications. Statistics in Medicine, 34(28), 3724–3749.
Examples
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.napp(
formula = cd4 ~ treatment + age + race,
family = poisson('log'),
data.list = data_list,
chains = 1, iter_warmup = 500, iter_sampling = 1000
)
}