glm.post | R Documentation |
Sample from the posterior distribution of a GLM using a normal/half-normal prior.
glm.post(
formula,
family,
data.list,
offset.list = NULL,
beta.mean = NULL,
beta.sd = NULL,
disp.mean = NULL,
disp.sd = NULL,
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 consisting of one |
offset.list |
a list consisting of one vector giving the offset for the current data. The length of
the vector is equal to the number of rows in the current data. The vector has all values
set to 0 by default. If |
beta.mean |
a scalar or a vector whose dimension is equal to the number of regression coefficients giving
the mean parameters for the normal prior on regression coefficients. If a scalar is provided,
|
beta.sd |
a scalar or a vector whose dimension is equal to the number of regression coefficients giving
the sd parameters for the normal prior on regression coefficients. If a scalar is provided,
same as for |
disp.mean |
location parameter for the half-normal prior on dispersion parameter. Defaults to 0. If
|
disp.sd |
scale parameter for the half-normal prior on dispersion parameter. Defaults to 10. If
|
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 priors on the regression coefficients are independent normal distributions. When the normal priors are elicited with large variances, the prior is also referred to as the reference or vague prior. The dispersion parameter is assumed to be independent of the regression coefficients with a half-normal prior (if applicable).
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.
if (instantiate::stan_cmdstan_exists()) {
data(actg019)
## take subset for speed purposes
actg019 = actg019[1:100, ]
data.list = list(currdata = actg019)
glm.post(
formula = cd4 ~ treatment + age + race,
family = poisson('log'),
data.list = data.list,
beta.sd = 10,
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.