fit_model_SurvSurv {Surrogate}R Documentation

Fit Survival-Survival model

Description

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).

Usage

fit_model_SurvSurv(
  data,
  copula_family,
  n_knots = 2,
  fitted_model = NULL,
  method = "BFGS",
  maxit = 500
)

Arguments

data

A data frame in the correct format (See details).

copula_family

One of the following parametric copula families: "clayton", "frank", "gaussian", or "gumbel". The first element in copula_family corresponds to the control group, the second to the experimental group.

n_knots

Number of internal knots for the Royston-Parmar survival models for \tilde{S}_0, T_0, \tilde{S}_1, and T_1. If length(n_knots) == 1, the same number of knots are assumed for the four marginal distributions.

fitted_model

Fitted model from which initial values are extracted. If NULL (default), standard initial values are used. This option intended for when a model is repeatedly fitted, e.g., in a bootstrap.

method

Optimization algorithm for maximizing the objective function. For all options, see ?maxLik::maxLik. Defaults to "BFGRS".

maxit

Maximum number of iterations for the numeric optimization, defaults to 500.

Value

Returns an S3 object that can be used to perform the sensitivity analysis with sensitivity_analysis_SurvSurv_copula().

Model

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:

Data Format

The data frame should have the semi-competing risks format. The columns must be ordered as follows:

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.

Author(s)

Florian Stijven

References

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.

See Also

sensitivity_analysis_SurvSurv_copula()

Examples

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)
}


[Package Surrogate version 3.3.0 Index]