Performs asymmetric (percentile-based) trimming using within-group percentile thresholds. Implements the Sturmer extension to multiple treatments as described in Yoshida et al. (2019).
trim_weights_asymmetric(ps_result, data, treatment_var, alpha = NULL)A logical vector of length n, where TRUE indicates the observation should be kept and FALSE indicates it should be trimmed.
A list returned by estimate_ps().
A data.frame containing the treatment variable.
A character string specifying the name of the treatment
variable in data.
Numeric percentile threshold in (0, 0.5). Default is NULL, which uses recommended values: 0.05 for binary treatment, 0.033 for 3 groups, 1/(2*J) for J >= 4.
The asymmetric trimming rule retains observation i if: $$e_{ji} \geq F^{-1}_{e_{ji}|A_i=j}(\alpha|j) \text{ for all } j$$
where \(F^{-1}_{e_{ji}|A_i=j}(\alpha|j)\) is the \(\alpha\)-percentile of propensity scores \(e_{ji}\) among individuals who actually received treatment j.
Yoshida, K., et al. (2019). Multinomial extension of propensity score trimming methods: A simulation study. American Journal of Epidemiology, 188(3), 609-616.