Estimates the probability of survival past some specified time and the treatment effect, defined as the difference in survival at the specified time, using landmark estimation for a randomized trial setting
delta.land.rct(tl, dl, treat, tt, landmark, short = NULL, z.cov = NULL,
var = FALSE, conf.int = FALSE, weight.perturb = NULL, bw = NULL)
A list is returned:
the estimate of survival at the time of interest for treatment group 1, \(\hat{S}_1(t) = P(T>t | G=1)\)
the estimate of survival at the time of interest for treatment group 0, \(\hat{S}_0(t) = P(T>t | G=0)\)
the estimate of treatment effect at the time of interest
the variance estimate of \(\hat{S}_1(t)\); if var = TRUE or conf.int = TRUE
the variance estimate of \(\hat{S}_0(t)\); if var = TRUE or conf.int = TRUE
the variance estimate of \(\hat{\Delta}(t)\); if var = TRUE or conf.int = TRUE
the p-value from testing \(\Delta(t) = 0\); if var = TRUE or conf.int = TRUE
a vector of size 2; the 95% confidence interval for \(\hat{S}_1(t)\) based on a normal approximation; if conf.int = TRUE
a vector of size 2; the 95% confidence interval for \(\hat{S}_0(t)\) based on a normal approximation; if conf.int = TRUE
a vector of size 2; the 95% confidence interval for \(\hat{\Delta}(t)\) based on a normal approximation; if conf.int = TRUE
a vector of size 2; the 95% confidence interval for \(\hat{S}_1(t)\) based on sample quantiles of the perturbed values, described above; if conf.int = TRUE
a vector of size 2; the 95% confidence interval for \(\hat{S}_0(t)\) based on sample quantiles of the perturbed values, described above; if conf.int = TRUE
a vector of size 2; the 95% confidence interval for \(\hat{\Delta}(t)\) based on sample quantiles of the perturbed values, described above; if conf.int = TRUE
observed event time of primary outcome, equal to min(T, C) where T is the event time and C is the censoring time.
event indicator, equal to I(T<C) where T is the event time and C is the censoring time.
treatment indicator, should be 0/1.
the time of interest, function estimates the probability of survival past this time
the landmark time
a matrix of intermediate event information, there should be two columns for each intermediate event, the first column contains the observed intermediate event time, equal to min(TS, C) where TS is the event time and C is the censoring time, and the second column contains the event indicator, equal to I(TS<C)
matrix of baseline covariate information
TRUE or FALSE; indicates whether variance estimates for the treatment effect and survival in each group are requested, default is FALSE.
TRUE or FALSE; indicates whether 95% confidence intervals for the treatment effect and survival in each group are requested, default is FALSE.
a (n1+n0) by x matrix of weights where n1 = length of tl for treatment group 1 and n0 = length of tl for treatment group 0; used for perturbation-resampling, default is null. If var or conf.int is TRUE and weight.perturb is not provided, the function generates exponential(1) weights.
bandwidth used for kernel estimation, default is NULL
Layla Parast
Let \(T_{Li}\) denote the time of the primary event of interest for person \(i\), \(T_{Si}\) denote the time of the available intermediate event(s), \(C_i\) denote the censoring time, \(Z_{i}\) denote the vector of baseline (pretreatment) covariates, and \(G_i\) be the treatment group indicator such that \(G_i = 1\) indicates treatment and \(G_i = 0\) indicates control. Due to censoring, we observe \(X_{Li}= min(T_{Li}, C_{i})\) and \(\delta_{Li} = I(T_{Li}\leq C_{i})\) and \(X_{Si}= min(T_{Si}, C_{i})\) and \(\delta_{Si} = I(T_{Si}\leq C_{i})\). This function estimates survival at time t within each treatment group, \(S_j(t) = P(T_{L} > t | G = j)\) for \(j = 1,0\) and the treatment effect defined as \(\Delta(t) = S_1(t) - S_0(t)\).
To derive these estimates using landmark estimation, we first decompose the quantity into two components \(S_j (t)= S_j(t|t_0) S_j(t_0)\) using a landmark time \(t_0\) and estimate each component separately. Intermediate event information is used in estimation of the conditional component \(S_j(t|t_0)\), $$S_j(t|t_0)= P(T_L>t |T_L> t_0,G=j)=E[E[I(T_L>t | T_L> t_0,G=j,H)]]=E[S_{j,H} (t|t_0)]$$ where \(S_{j,H}(t|t_0) = P(T_L>t | T_L> t_0,G=j,H)\) and \(H = \{Z, I(T_S \leq t_0), min(T_S, t_0) \}.\) Then \(S_{j,H}(t|t_0)\) is estimated in two stages: 1) fitting the Cox proportional hazards model among individuals with \(X_L> t_0\) to obtain an estimate of \(\beta\), denoted as \(\hat{\beta}\), $$S_{j,H}(t|t_0)=\exp \{-\Lambda_{j,0} (t|t_0) \exp(\beta^{T} H) \} $$ where \(\Lambda_{j,0} (t|t_0)\) is the cumulative baseline hazard in group \(j\) and then 2) using a nonparametric kernel Nelson-Aalen estimator to obtain a local constant estimator for the conditional hazard \(\Lambda_{j,u}(t|t_0) = -\log [S_{j,u}(t|t_0)]\) as $$\hat{\Lambda}_{j,u}(t|t_0) = \int_{t_0}^t \frac{\sum_i K_h(\hat{U}_i - u) dN_i(z)}{\sum_i K_h(\hat{U}_i - u) Y_i(z)}$$ where \(S_{j,u}(t|t_0)=P(T_L>t | T_L> t_0,G=j,\hat{U}=u), \hat{U} = \hat{\beta}^{T} H, Y_i(t)=I(T_L \geq t),N_i (t)=I(T_L\leq t)I(T_L<C),K(\cdot)\) is a smooth symmetric density function, \(K_h (x/h)/h\), \(h=O(n^{-v})\) is a bandwidth with \(1/2 > v > 1/4\), and the summation is over all individuals with \(G=j\) and \(X_L>t_0\). The resulting estimate for \(S_{j,u}(t|t_0)\) is \(\hat{S}_{j,u}(t|t_0) = \exp \{-\hat{\Lambda}_{j,u}(t|t_0)\}\), and the final estimate $$\hat{S}_j(t|t_0) =\frac{n^{-1} \sum_{i =1}^n \hat{S}_j(t|t_0, H_i) I(G_i=1)I(X_{Li} > t_0)}{n^{-1} \sum_{i =1}^n I(G_i=1)I(X_{Li} > t_0) }$$ is a consistent estimate of \(S_j(t|t_0)\).
Estimation of \(S_j(t_0)\) uses a similar two-stage approach but using only baseline covariates, to obtain \(\hat{S}_j(t_0)\). The final overall estimate of survival at time \(t\) is, \(\hat{S}_{LM,j} (t)= \hat{S}_j(t|t_0) \hat{S}_j(t_0)\). The treatment effect in terms of the difference in survival at time \(t\) is estimated as \(\hat{\Delta}_{LM}(t) = \hat{S}_{LM,1}(t) - \hat{S}_{LM,0}(t).\) To obtain an appropriate \(h\) we first use the bandwidth selection procedure given by Scott(1992) to obtain \(h_{opt}\); and then we let \(h = h_{opt}n^{-0.10}\).
To obtain variance estimates and construct confidence intervals, we use a perturbation-resampling method. Specifically, let \(\{V^{(b)}=(V_1^{(b)}, . . . ,V_n^{(b)})^{T}, b=1,...B\}\) be \(n\times B\) independent copies of a positive random variable U from a known distribution with unit mean and unit variance such as an Exp(1) distribution. To estimate the variance of our estimates, we appropriately weight the estimates using these perturbation weights to obtain perturbed values: \(\hat{S}_{LM,0} (t)^{(b)}\), \(\hat{S}_{LM,1} (t)^{(b)}\), and \(\hat{\Delta}_{LM} (t)^{(b)}, b=1,...B\). We then estimate the variance of each estimate as the empirical variance of the perturbed quantities. To construct confidence intervals, one can either use the empirical percentiles of the perturbed samples or a normal approximation.
Parast, L., Tian, L., & Cai, T. (2014). Landmark Estimation of Survival and Treatment Effect in a Randomized Clinical Trial. Journal of the American Statistical Association, 109(505), 384-394.
Beran, R. (1981). Nonparametric regression with randomly censored survival data. Technical report, University of California Berkeley.
Scott, D. (1992). Multivariate density estimation. Wiley.
data(example_rct)
#executable but takes time
#delta.land.rct(tl=example_rct$TL, dl = example_rct$DL, treat = example_rct$treat, tt=2,
#landmark = 1, short = cbind(example_rct$TS,example_rct$DS), z.cov = as.matrix(example_rct$Z))
Run the code above in your browser using DataLab