Estimates the early treatment effect estimate and provides two versions of the standard error; tests the null hypothesis that this treatment effect is equal to 0
early.delta.test(Axzero, Adeltazero, Aszero, Bxzero, Bdeltazero, Bszero, Bxone,
Bdeltaone, Bsone, t, landmark, perturb = T, extrapolate = T, transform = F)
observed event times in the control group in Study A
event/censoring indicators in the control group in Study A
surrogate marker values in the control group in Study A, NA for individuals not observable at the time the surrogate marker was measured
observed event times in the control group in Study B
event/censoring indicators in the control group in Study B
surrogate marker values in the control group in Study B, NA for individuals not observable at the time the surrogate marker was measured
observed event times in the treatment group in Study B
event/censoring indicators in the treatment group in Study B
surrogate marker values in the treatment group in Study B, NA for individuals not observable at the time the surrogate marker was measured
time of interest
landmark time of interest, t0
TRUE or FALSE; indicates whether the standard error estimate obtained using perturbation resampling should be calculated
TRUE or FALSE; indicates whether local constant extrapolation should be used, default is TRUE
TRUE or FALSE; indicates whether a transformation should be used, default is FALSE.
The estimate early treatment effect, \(\hat{\Delta}_{EB}(t,t_0)\).
The standard error estimate of the early treatment effect using the closed form expression under the null.
The test statistic using the closed form standard error expression.
The p-value using the closed form standard error expression.
The confidence interval for the early treatment effect, using a normal approximation and using the closed form standard error expression.
The standard error estimate of the early treatment effect using perturbation resampling, if perturb = T.
The test statistic using the perturbed standard error estimate, if perturb = T.
The p-value using the perturbed standard error estimate, if perturb = T.
The confidence interval for the early treatment effect, using a normal approximation and using the perturbed standard error expression, if perturb = T.
The confidence interval for the early treatment effect, using the quantiles of the perturbed estimates, if perturb = T.
Assume there are two randomized studies of a treatment effect, a prior study (Study A) and a current study (Study B). Study A was completed up to some time t, while Study B was stopped at time \(t_0<t\). In both studies, a surrogate marker was measured at time \(t_0\) for individuals still observable at \(t_0\). Let \(G\) be the binary treatment indicator with \(G=1\) for treatment and \(G=0\) for control and we assume throughout that subjects are randomly assigned to a treatment group at baseline. Let \(T_K^{(1)}\) and \(T_K^{(0)}\) denote the time of the primary outcome of interest, death for example, under the treatment and under the control, respectively, in Study K. Let \(S_K^{(1)}\) and \(S_K^{(0)}\) denote the surrogate marker measured at time \(t_0\) under the treatment and the control, respectively, in Study K.
The treatment effect quantity of interest, \(\Delta_K(t)\), is the difference in survival rates by time \(t\) under treatment versus control, $$ \Delta_K(t)=E\{ I(T_K^{(1)}>t)\} - E\{I(T_K^{(0)}>t)\} = P(T_K^{(1)}>t) - P(T_K^{(0)}>t)$$ where \(t>t_0\). Here, we estimate an early treatment effect quantity using surrogate marker information defined as, $$\Delta_{EB}(t,t_0) = P( T_B^{(1)} > t_0) \int r(t|s,t_0) dF_B^{(1)} (s|t_0) - P( T_B^{(0)} > t_0) \int r(t|s,t_0) dF_B^{(0)} (s|t_0)$$ where \(r(t|s,t_0) = P(T_{A}^{(0)} > t | T_{A}^{(0)} > t_0, S_{A}^{(0)}=s)\) and \(F_B^{(g)}(s|t_0) = P(S_B^{(g)} \le s \mid T_B^{(g)} > t_0)\).
To test the null hypothesis that \(\Delta_B(t) = 0\), we test the null hypothesis \(\Delta_{EB}(t,t_0) = 0\) using the test statistic $$Z_{EB}(t,t_0) = \sqrt{n_B}\frac{\hat{\Delta}_{EB}(t,t_0)}{\hat{\sigma}_{EB}(t,t_0)}$$ where \(\hat{\Delta}_{EB}(t,t_0)\) is a consistent estimate of \(\Delta_{EB}(t,t_0)\) and \(\hat{\sigma}_{EB}(t,t_0)\) is the estimated standard error of \(\sqrt{n_B}\{\hat{\Delta}_{EB}(t,t_0)-\Delta_{EB}(t, t_0)\}.\) We reject the null hypothesis when \(|Z_{EB}(t,t_0) | > \Phi^{-1}(1-\alpha/2)\) where \(\alpha\) is the Type 1 error rate.
To obtain \(\hat{\Delta}_{EB}(t,t_0)\), we use $$ \hat{\Delta}_{EB}(t,t_0) = n_{B1}^{-1} \sum_{i=1}^{n_{B1}} \hat{r}_A^{(0)}(t|S_{Bi}^{(1)}, t_0) \frac{I(X_{Bi}^{(1)} > t_0)}{\hat{W}_{B1}^C(t_0)} - n_{B0}^{-1} \sum_{i=1}^{n_{B0}} \hat{r}_A^{(0)}(t|S_{Bi}^{(0)}, t_0) \frac{I(X_{Bi}^{(0)} > t_0)}{\hat{W}_{B0}^C(t_0)}$$ where \(\hat{W}^C_{k g}(u)\) is the Kaplan-Meier estimator of \(W_{k g}^{C}(u)=P(C_{k}^{(g)} > u)\) and \(\hat{r}_A^{(0)}(t|s,t_0) = \exp\{-\hat{\Lambda}_A^{(0)}(t\mid s,t_0) \}\), where $$\hat{\Lambda}_A^{(0)}(t \mid t_0,s) = \int_{t_0}^t \frac{\sum_{i=1}^{n_{A0}} I(X_{Ai}^{(0)}>t_0) K_h\{\gamma(S_{Ai}^{(0)}) - \gamma(s)\}dN_{Ai}^{(0)} (z)}{\sum_{i=1}^{n_{A0}} K_h\{\gamma(S_{Ai}^{(0)}) - \gamma(s)\} Y_{Ai}^{(0)}(z)}$$ is a consistent estimate of \(\Lambda_A^{(0)}(t\mid t_0,s ) = -\log [r_A^{(0)}(t\mid t_0,s)],\) \(Y_{Ai}^{(0)}(t) = I(X_{Ai}^{(0)} \geq t)\), \(N_{Ai}^{(0)}(t) = I(X_{Ai}^{(0)} \leq t) \delta_{Ai}^{(0)}, K(\cdot)\) is a smooth symmetric density function, \(K_h(x) = K(x/h)/h\) and \(\gamma(\cdot)\) is a given monotone transformation function. For the bandwidth \(h\), we require the standard undersmoothing assumption of \(h=O(n_g^{-\gamma})\) with \(\gamma \in (1/4,1/2)\) in order to eliminate the impact of the bias of the conditional survival function on the resulting estimator.
The quantity \(\hat{\sigma}_{EB}(t,t_0)\) is obtained using either a closed form expression under the null or a perturbation resampling approach. If a confidence interval is desired, perturbation resampling is required.
Parast L, Cai T, Tian L (2019). Using a Surrogate Marker for Early Testing of a Treatment Effect. Biometrics, 75(4):1253-1263.
# NOT RUN {
data(dataA)
data(dataB)
early.delta.test(Axzero = dataA$x0, Adeltazero = dataA$delta0, Aszero = dataA$s0,
Bxzero = dataB$x0, Bdeltazero = dataB$delta0, Bszero = dataB$s0, Bxone = dataB$x1,
Bdeltaone = dataB$delta1, Bsone = dataB$s1, t=1, landmark=0.5, perturb = FALSE,
extrapolate = TRUE)
early.delta.test(Axzero = dataA$x0, Adeltazero = dataA$delta0, Aszero = dataA$s0,
Bxzero = dataB$x0, Bdeltazero = dataB$delta0, Bszero = dataB$s0, Bxone = dataB$x1,
Bdeltaone = dataB$delta1, Bsone = dataB$s1, t=0.75, landmark=0.5, perturb = FALSE,
extrapolate = TRUE)
# }
# NOT RUN {
early.delta.test(Axzero = dataA$x0, Adeltazero = dataA$delta0, Aszero = dataA$s0,
Bxzero = dataB$x0, Bdeltazero = dataB$delta0, Bszero = dataB$s0, Bxone = dataB$x1,
Bdeltaone = dataB$delta1, Bsone = dataB$s1, t=1, landmark=0.5, perturb = TRUE,
extrapolate = TRUE)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab