| Title: | Causal mediation analysis for stochastic interventions |
|---|---|
| Description: | Estimators of a parameter arising in the decomposition of the population intervention (in)direct effect of stochastic interventions in causal mediation analysis, including efficient one-step, targeted minimum loss (TML), re-weighting (IPW), and substitution estimators. The parameter estimated constitutes a part of each of the population intervention (in)direct effects. These estimators may be used in assessing population intervention (in)direct effects under stochastic treatment regimes, including incremental propensity score interventions and modified treatment policies. The methodology was first discussed by I Díaz and NS Hejazi (2020) <doi:10.1111/rssb.12362>. |
| Authors: | Nima Hejazi [aut, cre, cph] (ORCID: <https://orcid.org/0000-0002-7127-2789>), Iván Díaz [aut] (ORCID: <https://orcid.org/0000-0001-9056-2047>), Mark van der Laan [ctb, ths] (ORCID: <https://orcid.org/0000-0003-1432-5511>), Jeremy Coyle [ctb] (ORCID: <https://orcid.org/0000-0002-9874-6649>) |
| Maintainer: | Nima Hejazi <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.4 |
| Built: | 2026-05-16 07:15:41 UTC |
| Source: | https://github.com/nhejazi/medshift |
Compute confidence intervals for objects of class medshift, which
contain estimates produced by medshift.
## S3 method for class 'medshift' confint(object, parm = seq_len(object$psi), level = 0.95, ...)## S3 method for class 'medshift' confint(object, parm = seq_len(object$psi), level = 0.95, ...)
object |
An object of class |
parm |
A |
level |
A |
... |
Other arguments. Not currently used. |
Inverse probability weighted (IPW) estimator
est_ipw(data, delta, g_learners, e_learners, w_names, z_names, ...)est_ipw(data, delta, g_learners, e_learners, w_names, z_names, ...)
data |
A |
delta |
A |
g_learners |
A |
e_learners |
A |
w_names |
A |
z_names |
A |
... |
Other arguments currently ignored. |
Efficient One-Step Estimator
est_onestep(data, delta, g_learners, e_learners, m_learners, phi_learners, w_names, z_names, cv_folds = 10)est_onestep(data, delta, g_learners, e_learners, m_learners, phi_learners, w_names, z_names, cv_folds = 10)
data |
A |
delta |
A |
g_learners |
A |
e_learners |
A |
m_learners |
A |
phi_learners |
A |
w_names |
A |
z_names |
A |
cv_folds |
A |
Substitution estimator
est_substitution(data, delta, g_learners, m_learners, w_names, z_names, ...)est_substitution(data, delta, g_learners, m_learners, w_names, z_names, ...)
data |
A |
delta |
A |
g_learners |
A |
m_learners |
A |
w_names |
A |
z_names |
A |
... |
Other arguments currently ignored. |
Fit propensity score regression while conditioning on mediators
fit_e_mech(data, valid_data = NULL, learners, z_names, w_names)fit_e_mech(data, valid_data = NULL, learners, z_names, w_names)
data |
A |
valid_data |
A holdout data set, with columns exactly matching those
appearing in the preceding argument |
learners |
A |
z_names |
A |
w_names |
A |
Fit propensity score with incremental stochastic shift intervention
fit_g_mech(data, valid_data = NULL, delta, learners, w_names)fit_g_mech(data, valid_data = NULL, delta, learners, w_names)
data |
A |
valid_data |
A holdout data set, with columns exactly matching those
appearing in the preceding argument |
delta |
A |
learners |
A |
w_names |
A |
Fit outcome regression
fit_m_mech(data, valid_data = NULL, learners, z_names, w_names)fit_m_mech(data, valid_data = NULL, learners, z_names, w_names)
data |
A |
valid_data |
A holdout data set, with columns exactly matching those
appearing in the preceding argument |
learners |
A |
z_names |
A |
w_names |
A |
Fit intervention-specific exponential tilt nuisance parameter
fit_phi_mech(train_data, valid_data, learners, m_output, w_names)fit_phi_mech(train_data, valid_data, learners, m_output, w_names)
train_data |
A |
valid_data |
A holdout data set, with columns exactly matching those
appearing in the preceding argument |
learners |
A |
m_output |
Object containing results from fitting the outcome
regression, as produced by |
w_names |
A |
Likelihood Factor for Incremental Propensity Score Interventions
R6Class object.
LF_base object.
define_lf(LF_ipsi, name, type = "density", likelihood_base,
shift_param, treatment_task, control_task, ...)
nameA character, giving the name of the likelihood
factor. Should match a node name in the nodes specified by the
npsem slot of tmle3_Task.
likelihood_baseA trained Likelihood
object, for use in generating a re-scaled likelihood factor.
shift_paramA numeric, specifying the magnitude of
the desired incremental propensity score shift (a multiplier of
the odds of receiving treatment).
treatment_taskA tmle3_Task object
created by setting the intervention to the treatment condition:
do(A = 1).
control_taskA tmle3_Task object
created by setting the intervention to the control condition:
do(A = 0).
...Not currently used.
likelihood_baseA trained Likelihood
object, for use in generating a re-scaled likelihood factor.
shift_paramA numeric, specifying the magnitude of
the desired incremental propensity score shift (a multiplier of
the odds of receiving treatment).
treatment_taskA tmle3_Task object
created by setting the intervention to the treatment condition:
do(A = 1).
control_taskA tmle3_Task object
created by setting the intervention to the control condition:
do(A = 0).
...Additional arguments passed to the base class.
Kennedy, Edward H (2019). Journal of the American Statistical Association. https://doi.org/10.1080/01621459.2017.1422737
Díaz, Iván and Hejazi, Nima S (2020). Journal of the Royal Statistical Society, Series B. https://doi.org/10.1111/rssb.12362
Nonparametric estimation of the population intervention (in)direct effects
medshift(W, A, Z, Y, ids = seq_along(Y), delta, g_learners = sl3::Lrnr_glm$new(), e_learners = sl3::Lrnr_glm$new(), m_learners = sl3::Lrnr_glm$new(), phi_learners = sl3::Lrnr_glm$new(), estimator = c("onestep", "tmle", "substitution", "reweighted"), estimator_args = list(cv_folds = 10, max_iter = 10000, step_size = 1e-06))medshift(W, A, Z, Y, ids = seq_along(Y), delta, g_learners = sl3::Lrnr_glm$new(), e_learners = sl3::Lrnr_glm$new(), m_learners = sl3::Lrnr_glm$new(), phi_learners = sl3::Lrnr_glm$new(), estimator = c("onestep", "tmle", "substitution", "reweighted"), estimator_args = list(cv_folds = 10, max_iter = 10000, step_size = 1e-06))
W |
A |
A |
A |
Z |
A |
Y |
A |
ids |
A |
delta |
A |
g_learners |
A |
e_learners |
A |
m_learners |
A |
phi_learners |
A |
estimator |
The desired estimator of the natural direct effect to be computed. Currently, choices are limited to a substitution estimator, a re-weighted estimator, a one-step estimator, and a targeted minimum loss estimator. |
estimator_args |
A |
Parameter definition class. See https://doi.org/10.1111/rssb.12362.
R6Class object.
Param_base object.
define_param(Param_medshift, shift_param, ..., outcome_node)
observed_likelihoodA Likelihood
corresponding to the observed likelihood.
shift_paramA numeric, specifying the magnitude of
the desired incremental propensity score shift (a multiplier of
the odds of receiving treatment).
...Not currently used.
outcome_nodeA character, giving the name of the
node that should be treated as the outcome.
cf_likelihoodThe counterfactual likelihood under the joint stochastic intervention on exposure and mediators.
lf_ipsiObject derived from LF_base
for assessing the joint intervention on exposure and mediators.
treatment_taskA tmle3_Task created
by setting the intervention to the treatment condition:
do(A = 1).
control_taskA tmle3_Task object created by
setting the intervention to the control condition: do(A = 0).
shift_paramA numeric, specifying the magnitude of
the desired incremental propensity score shift (a multiplier of
the odds of receiving treatment).
One-step or TML estimation of the population intervention direct effect
pide(W, A, Z, Y, ids = seq(1, length(Y)), delta, estimator = c("onestep", "tmle"), ci_level = 0.95, ...)pide(W, A, Z, Y, ids = seq(1, length(Y)), delta, estimator = c("onestep", "tmle"), ci_level = 0.95, ...)
W |
A |
A |
A |
Z |
A |
Y |
A |
ids |
A |
delta |
A |
estimator |
The desired estimator of the natural direct effect to be computed. Currently, choices are limited to a substitution estimator, a re-weighted estimator, a one-step estimator, and a targeted minimum loss estimator. |
ci_level |
A |
... |
Additional arguments passed to |
The print method for objects of class medshift.
## S3 method for class 'medshift' print(x, ...)## S3 method for class 'medshift' print(x, ...)
x |
An object of class |
... |
Other options (not currently used). |
Print a convenient summary for objects of S3 class medshift.
## S3 method for class 'medshift' summary(object, ..., ci_level = 0.95)## S3 method for class 'medshift' summary(object, ..., ci_level = 0.95)
object |
An object of class |
... |
Other arguments. Not currently used. |
ci_level |
A |
Hypothesis test of direct effect with mediated stochastic interventions using the multiplier bootstrap
test_de(W, A, Z, Y, ids = seq(1, length(Y)), delta_grid = seq(from = 0.5, to = 5, by = 0.9), mult_type = c("rademacher", "gaussian"), ci_level = 0.95, g_learners, e_learners, m_learners, phi_learners, cv_folds = 10, n_mult = 10000)test_de(W, A, Z, Y, ids = seq(1, length(Y)), delta_grid = seq(from = 0.5, to = 5, by = 0.9), mult_type = c("rademacher", "gaussian"), ci_level = 0.95, g_learners, e_learners, m_learners, phi_learners, cv_folds = 10, n_mult = 10000)
W |
A |
A |
A |
Z |
A |
Y |
A |
ids |
A |
delta_grid |
A |
mult_type |
A |
ci_level |
A |
g_learners |
A |
e_learners |
A |
m_learners |
A |
phi_learners |
A |
cv_folds |
A |
n_mult |
A |
O = (W, A, Z, Y) W = Covariates (possibly multivariate) A = Treatment (binary or categorical) Z = Mediators (binary or categorical; possibly multivariate) Y = Outcome (binary or bounded continuous)
tmle_medshift(shift_type = "ipsi", delta, e_learners, phi_learners, max_iter = 10000, step_size = 1e-06, ...)tmle_medshift(shift_type = "ipsi", delta, e_learners, phi_learners, max_iter = 10000, step_size = 1e-06, ...)
shift_type |
A |
delta |
A |
e_learners |
A |
phi_learners |
A |
max_iter |
A |
step_size |
A |
... |
Additional arguments (currently unused). |
TML Estimator for the Counterfactual Mean of a Joint Stochastic Intervention Defining the Population Intervention (In)direct Effects