sace
estimates survivor average causal effects (SACE) with outcomes truncated by death.
sace(Z, S, Y, X, A, subset, optim.method = "BFGS", max.step = 1000,
singular.ok = TRUE, need.variance = TRUE, hessian = TRUE)
a logical vector. Exposure indicator. Convetionally, 1
means treatment and 0
means control. Must not have missing values.
a logical vector. Survival indicator. 1
means survival and 0
means death. Must not have missing values.
a numeric vector. (Univariate) outcomes. May have NA
where \(S=0\) (since \(Y\) is not well-defined where \(S=0\)).
an optional numeric matrix or vector. Baseline covariates.
an optional numeric matrix or vector. Substitution variable(s) which satisfies the assumptions of "exclusion restriction" and "substitution relevance". See references. If A == NULL
, then the naive method, namely OLS, will be used.
an optional vector specifying a subset of obervations to be used.
The method to be used for maximum likelihood optimization. See optim.
integer. Maximum iterating steps of maximum likelihood optimization.
logical. Refers to the OLS estimation of the coefficients alpha_1
and alpha_2
using lm. If FALSE
(default), a singular fit raises an error.
logical. Is variance of parameters and estimators needed? See details.
logical. If TRUE
, the hessian returned by optim will be used to compute the information matrix. If FALSE
, the matrix will be calculated by an explicit formula.
a list with following elements:
function call.
data used (within the specified subset).
method used for optimization.
is variance of parameters and estimators needed?
sample size.
average potential outcomes among control group, \(E[ Y(0) | G=LL ]\).
average potential outcomes among treatment group, \(E[ Y(1) | G=LL ]\).
survivor average causal effect, equals mu_1_LL
-mu_0_LL
.
\(Pr{S(1)=1| X,A}=expit(\beta_0+X' \beta_1+ A \beta_2)\), estimated by MLE.
\(Pr{S(0)=1| X,A}/Pr{S(1)=1| X,A}=expit(\gamma_0+X' \gamma_1+ A \gamma_2)\), estimated by MLE.
indicator of convergence of MLE optimization of beta and gamma. 0 means convergence. See optim.
\(E[Y(0)| Z=0, G=LL, X, A ]=\alpha_{10}+X' \alpha_{11}+ A \alpha_{12}\), coefficients of lm(Y ~ 1 + X + A, subset = Z == 0)
.
\(E[Y(1)| Z=1, G=LL, X, A ]=\alpha_{20}+X' \alpha_{21}+ G \alpha_{22}\), coefficients of lm(Y ~ 1 + X + W.expit, subset = (Z == 1 & S == 1))
.
estimated asymptotic covariance matrix of beta.
estimated asymptotic covariance matrix of gamma.
P value of the asymptotic chi-squared test on the relevance assumption for the substitution variable. A large P value suggests that the relevance assumption may not hold, namely, the substitution variable(s) may have little impact on the latent survival type.
estimated asymptotic covariance matrix of alpha_1.
estimated asymptotic covariance matrix of alpha_2.
estimated asymptotic variance of mu_0_LL.
estimated asymptotic variance of mu_1_LL.
estimated asymptotic variance of the SACE.
This function sace
, gives estimation of average causal effects (ACE) with outcomes truncated by death. The identification of SACE relies on the existence of a substitution variable and requires the assumptions of monotonicity, ignorability, exclusion restriction, and relevance. While the naive estimates given by the coefficient of Z
from lm(Y ~ Z + X + A, subset = S == 1)
are restricted among survivors and therefore may be subject to selection bias, this method gives consistent estimates of the SACE (survivor average causal effect), defined as the average causal effect among the subgroup consisting of subjects who would survive under either exposure, i.e. among the always-survivor group (\(G=LL\)). See references for details of the assumptions and the model parameterizations.
Parameters beta
and gamma
are estimated by MLE, using optim.
If need.variance == TRUE
, the asymptotic variance estimators of both parameters and estimators will be given. This requires the numDeriv package.
Linbo Wang, Xiao-Hua Zhou, Thomas S. Richardson; Identification and estimation of causal effects with outcomes truncated by death, Biometrika, Volume 104, Issue 3, 1 September 2017, Pages 597-612, https://doi.org/10.1093/biomet/asx034
# NOT RUN {
attach(simulated_data)
X <- cbind(X.X1, X.V2, X.V3)
sace.result <- sace(Z, S, Y, X, A)
sace
# }
Run the code above in your browser using DataLab