bayesMargEffF {bayesMeanScale} | R Documentation |
Bayesian marginal effects on the mean scale.
Description
Computes Bayesian marginal effects on the mean scale for models fit using the package "rstanarm". Marginal effects can be averaged over the values of the covariates in the data (average marginal effects), or the covariates can be held at their means (marginal effects at the means). Also, "at" values can be specified to fix covariates at particular values. The marginal effects must be specified in terms of discrete changes. When investigating continuous variables this might be specified as the change between the mean and 1 standard deviation above the mean, for example.
Usage
bayesMargEffF(model,
n_draws = 2000,
marginal_effect,
start_value,
end_value,
ci = .95,
hdi_interval = TRUE,
centrality = 'mean',
digits = 4,
at = NULL,
at_means = FALSE)
Arguments
model |
A model object of class "stanreg." |
n_draws |
The number of draws to take from the posterior distribution of the expectation. |
marginal_effect |
A character vector of terms that you want to estimate the marginal effect for. |
start_value |
The start value(s) for the marginal effect(s). Must be a list when specifying multiple values. |
end_value |
The end value(s) for the marginal effect(s). Must be a list when specifying multiple values. |
ci |
The level for the credible intervals. |
hdi_interval |
If TRUE, the default, computes the highest density credible interval. If FALSE, computes the equal-tailed interval. |
centrality |
Centrality measure for the posterior distribution. Options are "mean" or "median". |
digits |
The number of digits to report in the summary table. |
at |
Optional list of covariate values to estimate the marginal effect at. |
at_means |
If FALSE, the default, the marginal effects are averaged across the rows of the data. If TRUE, the covariate values that are not specified in the "at" argument are held at their means. |
Details
Currently, the following families of fixed-effect models fit using "rstanarm" are supported: 'beta', 'binomial', 'Gamma', 'gaussian', 'neg_binomial_2', and 'poisson.' Future versions of the package will contain support for additional models.
Value
A list of class "bayes_mean_scale_marg" with the following components:
diffTable |
summary table of the marginal effects |
diffDraws |
posterior draws of the marginal effects |
Author(s)
David Dalenberg
References
Agresti, Alan. 2013. Categorical Data Analysis. Third Edition. New York: Wiley
Long, J. Scott and Sarah A. Mustillo. 2018. "Using Predictions and Marginal Effects to Compare Groups in Regression Models for Binary Outcomes." Sociological Methods & Research 50(3): 1284-1320.
Mize, Trenton D. 2019. "Best Practices for Estimating, Interpreting, and Presenting Non-linear Interaction Effects." Sociological Science 6: 81-117.
Examples
## Logit model ##
if(require(rstanarm)){
m1 <- stan_glm(switch ~ dist + educ + arsenic + assoc,
data = rstanarm::wells,
family = binomial,
refresh = 0,
iter = 500)
# marginal effect averaging over sample values of covariates #
bayesMargEffF(m1,
marginal_effect = 'arsenic',
start_value = 2.2,
end_value = .82,
n_draws = 500)
}