Estimate Causal Effects of Population Treatment Policies Assuming Clustered Interference
Estimate Causal Effects of Population Treatment Policies Assuming Clustered Interference
This function implements the estimators from Barkley et al. (2017) for estimating causal effects ("FX") of treatment policies from an observational study when clustered interference is assumed. Clustered interference is also often known as "partial" interference. For the manuscript introducing the methods in clusteredinterference, see: URL https://arxiv.org/abs/1711.04834
data: A data.frame (not a tibble). Columns of factor types are not recommended and will sometimes throw (defensive) errors.
formula: The formula defines the different components of the method. The components are specified by outcome | treatment ~ f(covariates) + (1|cluster_id) | cluster_id. The middle component is passed to glmer, so treatment ~ f(covariates) + (1|cluster_id) specifies the model form for the propensity score (i.e., treatment) model. See Details.
alphas: A numeric vector for the probabilities corresponding to the policies of interest. Each entry must be between 0 and 1.
k_samps: The maximum number of vectors to evaluate to estimate the counterfactual probabilities (i.e., ω(A,N,α)). Setting to 0 avoids approximation at the cost of increased computation time. Recommended to set <= 5.
...: The dots argument. The user may supply their own target_grid through the dots argument. The target_grid can be made through exported function makeTargetGrid
verbose: A Boolean on whether to print output to stderr. Defaults to FALSE.
root_options: These are passed to multiroot
function.
nAGQ: This is the number of Adaptive Gaussian Quadrature points used in the glmer model fitting computation. Defaults to 2. It is recommended to use more than 1.
return_matrices: A Boolean on whether to return the "bread" and "meat" matrices in the sandwich variance. Defaults to FALSE.
Returns
A list object including:
estimates: A tidy data.frame with columns estimand, estimate, var, se, LCI and UCI for 95% CI's, and more information.
parameters: An untidy list of the point estimates of all (target and nuisance) parameters.
variance_matrices: When return_matrices is TRUE this is a list object for the "bread" and "meat" matrices in the sandwich variance calculations for each estimand. Otherwise, it is a list
object with length 0.
propensity_scores: The estimated propensity scores for each cluster.
model: The treatment model object.
formula: The full formula argument provided, after coercion to a Formula object
Details
These estimators are based on inverse probability-weighting by the propensity score for treatment (IPW) to estimate causal effects of counterfactual policies of interest (i.e., "policy effects") when clustered interference is assumed. The policies of interest correspond to counterfactual scenarios in which treatment may be correlated within clusters.
This method estimates causal contrasts of these policies by estimating the counterfactual treatment probabilities; taking the correlation structures into account requires heavy computational resources, so the user should be patient.
The modeling formula for the propensity score (i.e., treatment) model is specified via the formula formal argument. An example of a model logit-linear fixed effects would be Y | A ~ X1 + X2 + (1 | cluster_ID) | cluster_ID. A similar model that also includes an interaction term is Y | A ~ X1 + X2 + X1:X2 + (1 | cluster_ID) | cluster_ID.
Examples
## Not run:toy_data <- clusteredinterference::toy_data
causal_fx <- policyFX( data = toy_data, formula = Outcome | Treatment ~ Age + Distance +(1| Cluster_ID)| Cluster_ID, alphas = c(.3,.5), k_samps =1, verbose =FALSE)## End(Not run)
References
Barkley, B. G., Hudgens, M. G., Clemens, J. D., Ali, M., and Emch, M. E. (2017). Causal Inference from Observational Studies with Clustered Interference. arXiv preprint arXiv:1711.04834. (URL: https://arxiv.org/abs/1711.04834.)