The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Outcome-adaptive lasso propensity scores — published methods, exactly.
oalasso implements the outcome-adaptive lasso (OAL) of
Shortreed & Ertefaie (2017) and the generalized outcome-adaptive
lasso (GOAL) of Baldé, Yang & Lefebvre (2023) for propensity score
estimation. OAL fits a logistic propensity score model with an
adaptively weighted lasso penalty whose weights come from an
outcome regression: covariates unrelated to the outcome —
instruments and noise variables — receive an exploding
penalty and are excluded, while confounders and outcome predictors are
retained. Excluding instruments from a propensity score model improves
precision and avoids bias amplification under unmeasured confounding
(Brookhart et al. 2006; Myers et al. 2011). Tuning is by the weighted
absolute mean difference (wAMD) balance criterion, and
method = "goal" adds Baldé’s elastic-net ridge term for
correlated covariates and fragile positivity.
Fidelity is the package’s identity. The solver is glmnet
with an exact, KKT-verified penalty-scale correction, so the
published objectives and tuning grids (Shortreed &
Ertefaie’s \(\lambda_n = n^\delta\)
grid with paired \(\gamma\)) are
reproduced rather than silently reinterpreted by glmnet’s internal
penalty-factor rescaling. Every fit prints a provenance line stating
exactly which published method it implements — and flags anything that
goes beyond the validated territory. The pipeline is fully deterministic
(no seed needed).
oalasso is the second package of a suite with psAve, and a companion to
the MatchIt/WeightIt/cobalt ecosystem. The
deliverable is a plain numeric vector of propensity scores:
fit$ps drops into MatchIt::matchit() as a
distance measure, WeightIt::weightit() as a propensity
score, or psAve::psave() as an appended candidate; thin
oal_match() / oal_weight() wrappers do this
without retyping the formula, and cobalt::bal.tab() works
on the fitted object directly. Effect estimation stays where it belongs,
in
MatchIt/WeightIt/survey/marginaleffects.
# install.packages("remotes")
remotes::install_github("kabajiro/oalasso")library(oalasso)
data("lalonde", package = "MatchIt")
fit <- oal(treat ~ age + educ + race + married + nodegree + re74 + re75,
data = lalonde, outcome = ~ re78) # OAL, wAMD-tuned; deterministic
fit # provenance, retained vs excluded covariates, and the literal next call
m <- oal_match(fit, method = "nearest") # a genuine matchit object
w <- oal_weight(fit) # a genuine weightit object
cobalt::bal.tab(fit) # balance with the selected weightspsAve::psave(), when the composition helps, and its
caveats.If you use oalasso, please cite the methods it
implements, and the package:
Shortreed, S. M., & Ertefaie, A. (2017). Outcome-adaptive lasso: Variable selection for causal inference. Biometrics, 73(4), 1111–1122. doi:10.1111/biom.12679
Baldé, I., Yang, Y. A., & Lefebvre, G. (2023). Reader reaction to “Outcome-adaptive lasso: Variable selection for causal inference” by Shortreed and Ertefaie (2017). Biometrics, 79(1), 514–520. doi:10.1111/biom.13683 (when
method = "goal"is used)
Kabata, D. (2026). oalasso: Outcome-Adaptive Lasso Propensity Scores. R package. https://github.com/kabajiro/oalasso (see
citation("oalasso"))
@article{shortreed2017outcome,
author = {Shortreed, Susan M. and Ertefaie, Ashkan},
title = {Outcome-adaptive lasso: Variable selection for causal inference},
journal = {Biometrics},
year = {2017},
volume = {73},
number = {4},
pages = {1111--1122},
doi = {10.1111/biom.12679}
}
@article{balde2023goal,
author = {Bald{\'e}, Ismaila and Yang, Yi Archer and Lefebvre, Genevi{\`e}ve},
title = {Reader reaction to ``Outcome-adaptive lasso: Variable selection for causal inference'' by Shortreed and Ertefaie (2017)},
journal = {Biometrics},
year = {2023},
volume = {79},
number = {1},
pages = {514--520},
doi = {10.1111/biom.13683}
}GPL (>= 2)
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.