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 |
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 |
u1 |
for non-terminal event, the right bound for all |
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 |
u2 |
for terminal event, the right bound for all |
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 |
stepsize |
size of optimization step when method is |
control |
a list of control parameters for methods other than |
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
with and Kendall's
.
The marginal semiparametric transformation models are built based on Bernstein polynomials, which is formulated below:
where is time,
is covariate,
is coefficient and
is an unspecified function with infinite dimensions.
We approximate
in a sieve space constructed by Bernstein polynomials with degree
. By default,
.
In the end, all model parameters are estimated by the sieve estimators (Sun and Ding, In Press).
The function is the transformation function with a parameter
, which has a form of
, when
and
when
.
When
, the marginal model becomes a proportional hazards model;
when
, 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)