View source: R/fit_model_SurvSurv.R
fit_model_SurvSurv | R Documentation |
The function fit_model_SurvSurv()
fits the copula model for time-to-event
surrogate and true endpoints (Stijven et al., 2022). Because the bivariate
distributions of the surrogate-true endpoint pairs are functionally
independent across treatment groups, a bivariate distribution is fitted in
each treatment group separately. The marginal distributions are based on the
Royston-Parmar survival model (Royston and Parmar, 2002).
fit_model_SurvSurv(
data,
copula_family,
n_knots = 2,
fitted_model = NULL,
method = "BFGS",
maxit = 500
)
data |
A data frame in the correct format (See details). |
copula_family |
One of the following parametric copula families:
|
n_knots |
Number of internal knots for the Royston-Parmar survival
models for |
fitted_model |
Fitted model from which initial values are extracted. If
|
method |
Optimization algorithm for maximizing the objective function.
For all options, see |
maxit |
Maximum number of iterations for the numeric optimization, defaults to 500. |
Returns an S3 object that can be used to perform the sensitivity
analysis with sensitivity_analysis_SurvSurv_copula()
.
In the causal-inference approach to evaluating surrogate endpoints, the first
step is to estimate the joint distribution of the relevant potential
outcomes. Let (T_0, S_0, S_1, T_1)'
. denote the vector of potential
outcomes where (S_k, T_k)'
is the pair of potential outcomes under
treatment Z = k
. T
refers to the true endpoint, e.g., overall
survival. S
refers to the composite surrogate endpoint, e.g.,
progression-free-survival. Because S
is usually a composite endpoint
with death as possible event, modeling difficulties arise because Pr(S_k
= T_k) > 0
.
Due to difficulties in modeling the composite surrogate and the true endpoint
jointly, the time-to-surrogate event (\tilde{S}
) is modeled instead of
the time-to-composite surrogate event (S
). Using this new variable,
\tilde{S}
, a D-vine copula model is proposed for (T_0,
\tilde{S}_0, \tilde{S}_1, T_1)'
in Stijven et al. (2022). However, only the
following bivariate distributions are identifiable (T_k, \tilde{S}_k)'
for k=0,1
. The margins in these bivariate distributions are based on
the Royston-Parmar survival model (Roystona and Parmar, 2002). The
association is modeled through two copulas of the same parametric form, but
with unique copula parameters.
Two modelling choices are made before estimating the two bivariate distributions described in the previous paragraph:
The number of internal knots for the Royston-Parmar survival models. This
is specified through the n_knots
argument. The number of knots is assumed
to be equal across the four margins.
The parametric family of the bivariate copulas. The parametric family is
assumed to be equal across treatment groups. This choice is specified through
the copula_family
argument.
The data frame should have the semi-competing risks format. The columns must be ordered as follows:
time to surrogate event, true event, or independent censoring; whichever comes first
time to true event, or independent censoring; whichever comes first
treatment indicator: 0 or 1
surrogate event indicator: 1 if surrogate event is observed, 0 otherwise
true event indicator: 1 if true event is observed, 0 otherwise
Note that according to the methodology in Stijven et al. (2022), the surrogate event must not be the composite event. For example, when the surrogacy of progression-free survival for overall survival is evaluated. The surrogate event is progression, but not the composite event of progression or death.
Florian Stijven
Stijven, F., Alonso, a., Molenberghs, G., Van Der Elst, W., Van Keilegom, I. (2024). An information-theoretic approach to the evaluation of time-to-event surrogates for time-to-event true endpoints based on causal inference.
Royston, P., & Parmar, M. K. (2002). Flexible parametric proportional-hazards and proportional-odds models for censored survival data, with application to prognostic modelling and estimation of treatment effects. Statistics in medicine, 21(15), 2175-2197.
sensitivity_analysis_SurvSurv_copula()
if(require(Surrogate)) {
data("Ovarian")
#For simplicity, data is not recoded to semi-competing risks format, but is
#left in the composite event format.
data = data.frame(Ovarian$Pfs,
Ovarian$Surv,
Ovarian$Treat,
Ovarian$PfsInd,
Ovarian$SurvInd)
Surrogate::fit_model_SurvSurv(data = data,
copula_family = "clayton",
n_knots = 1)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.