ic_scmprisk_spTran_copula {CopulaCenR}R Documentation

Copula regression models with semi-parametric transformation margins for semi-competing risk data under interval-censoring and left-truncation

Description

Fits a copula model with semi-parametric transformation margins for semi-competing risk data under interval-censoring and left-truncation.

Usage

ic_scmprisk_spTran_copula(
  data,
  var_list,
  copula = "Copula2",
  l1 = 0,
  u1,
  m1 = 3,
  r1 = 1,
  l2 = 0,
  u2,
  m2 = 3,
  r2 = 1,
  method = "BFGS",
  iter = 1000,
  stepsize = 1e-05,
  control = list(),
  eta_ini = NULL
)

Arguments

data

a data frame; must have id (subject id), Left (0 if left-censoring for non-terminal event), Right (Inf if right-censoring for non-terminal event), status (0 for right-censoring, 1 for interval-censoring or left-censoring of non-terminal event), timeD (observed terminal event), statusD (for terminal event), A (left truncation time, 0 if none), and covariates by column.

var_list

the list of covariates to be fitted into the copula model.

copula

Types of copula model, only Copula2 is supported at this stage.

l1

for non-terminal event, the left bound for all Left and Right endpoints of observed finite intervals; default is 0.

u1

for non-terminal event, the right bound for all Left and Right endpoints of observed finite intervals; has to be a finite value

m1

for non-terminal event, integer, degree of Berstein polynomials for both margins; default is 3

r1

for non-terminal event, postive transformation parameter for the semiparametric transformation marginal model.

l2

for terminal event, the left bound for all Left and Right endpoints of observed finite intervals; default is 0.

u2

for terminal event, the right bound for all Left and Right endpoints of observed finite intervals; has to be a finite value

m2

for terminal event, integer, degree of Berstein polynomials for both margins; default is 3

r2

for terminal event, postive transformation parameter for the semiparametric transformation marginal model.

method

optimization method (see ?optim); default is "BFGS"; also can be "Newton" (see ?nlm).

iter

number of iterations when method is "Newton"; default is 300.

stepsize

size of optimization step when method is "Newton"; default is 1e-5.

control

a list of control parameters for methods other than "Newton"; see ?optim.

eta_ini

a vector of initial values for copula parameters, default is NULL

Details

The input data must be a data frame. with columns id (sample id), Left (0 if left-censoring), Right (Inf if right-censoring), status (0 for right-censoring, 1 for interval-censoring or left-censoring), timeD (for terminal event), statusD,A (0 if no left truncation), and covariates. The function does not allow Left == Right.

The supported copula model in this version is "Copula2". The "Copula2" model is a two-parameter copula model that incorporates Clayton and Gumbel as special cases. The parametric generator functions of copula functions are list below:

The Two-parameter copula (Copula2) has a generator

\phi_{\eta}(t) = \{1/(1+t^{\alpha})\}^{\kappa},

with \alpha \in (0,1], \kappa > 0 and Kendall's \tau = 1-2\alpha\kappa/(2\kappa+1).

The marginal semiparametric transformation models are built based on Bernstein polynomials, which is formulated below:

S(t|Z) = \exp[-G\{\Lambda(t) e^{Z^{\top}\beta}\}],

where t is time, Z is covariate, \beta is coefficient and \Lambda(t) is an unspecified function with infinite dimensions. We approximate \Lambda(t) in a sieve space constructed by Bernstein polynomials with degree m. By default, m=3. In the end, all model parameters are estimated by the sieve estimators (Sun and Ding, In Press).

The G(\cdot) function is the transformation function with a parameter r > 0, which has a form of G(x) = \frac{(1+x)^r - 1}{r}, when 0 < r \leq 2 and G(x) = \frac{\log\{1 + (r-2)x\}}{r - 2} when r > 2. When r = 1, the marginal model becomes a proportional hazards model; when r = 3, the marginal model becomes a proportional odds model. In practice, m and r can be selected based on the AIC value.

Optimization methods can be all methods (except "Brent") from optim, such as "Nelder-Mead", "BFGS", "CG", "L-BFGS-B", "SANN". Users can also use "Newton" (from nlm).

Value

a CopulaCenR object summarizing the model. Can be used as an input to general S3 methods including summary, print, coef, logLik, AIC, BIC.

Source

Tao Sun, Yunlong Li, Zhengyan Xiao, Ying Ding, Xiaojun Wang (2022). Semiparametric copula method for semi-competing risks data subject to interval censoring and left truncation: Application to disability in elderly. Statistical Methods in Medical Research (Accepted).

Examples

# fit a Copula2-Semiparametric model
data("data_scmprisk")
copula2_sp <- ic_scmprisk_spTran_copula(data = data_scmprisk,
              var_list = c("x1"), copula = "Copula2",
              l1=0, u1 = 21, m1 = 3, r1 = 1,
              l2=0, u2 = 21, m2 = 3, r2 = 1,
              )
summary(copula2_sp)

[Package CopulaCenR version 1.2.3 Index]