ic_spTran_copula {CopulaCenR} | R Documentation |
Copula regression models with semiparametric margins for bivariate interval-censored data
Description
Fits a copula model with semiparametric margins for bivariate interval-censored data.
Usage
ic_spTran_copula(
data,
var_list,
l = 0,
u,
copula = "Copula2",
m = 3,
r = 3,
method = "BFGS",
iter = 300,
stepsize = 1e-06,
hes = TRUE,
control = list()
)
Arguments
data |
a data frame; must have |
var_list |
the list of covariates to be fitted into the copula model. |
l |
the left bound for all |
u |
the right bound for all |
copula |
Types of copula model. |
m |
integer, degree of Berstein polynomials for both margins; default is 3 |
r |
postive transformation parameter for the semiparametric transformation marginal model. |
method |
optimization method (see |
iter |
number of iterations when |
stepsize |
size of optimization step when method is |
hes |
default is |
control |
a list of control parameters for methods other than |
Details
The input data must be a data frame. with columns id
(sample id),
ind
(1,2 for the two units from the same id),
Left
(0 if left-censoring), Right
(Inf if right-censoring),
status
(0 for right-censoring, 1 for interval-censoring or left-censoring),
and covariates
. The function does not allow Left
== Right
.
The supported copula models are "Clayton"
, "Gumbel"
, "Frank"
,
"AMH"
, "Joe"
and "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 Clayton copula has a generator
\phi_{\eta}(t) = (1+t)^{-1/\eta},
with \eta > 0
and Kendall's \tau = \eta/(2+\eta)
.
The Gumbel copula has a generator
\phi_{\eta}(t) = \exp(-t^{1/\eta}),
with \eta \geq 1
and Kendall's \tau = 1 - 1/\eta
.
The Frank copula has a generator
\phi_{\eta}(t) = -\eta^{-1}\log \{1+e^{-t}(e^{-\eta}-1)\},
with \eta \geq 0
and Kendall's \tau = 1+4\{D_1(\eta)-1\}/\eta
,
in which D_1(\eta) = \frac{1}{\eta} \int_{0}^{\eta} \frac{t}{e^t-1}dt
.
The AMH copula has a generator
\phi_{\eta}(t) = (1-\eta)/(e^{t}-\eta),
with \eta \in [0,1)
and Kendall's \tau = 1-2\{(1-\eta)^2 \log (1-\eta) + \eta\}/(3\eta^2)
.
The Joe copula has a generator
\phi_{\eta}(t) = 1-(1-e^{-t})^{1/\eta},
with \eta \geq 1
and Kendall's \tau = 1 - 4 \sum_{k=1}^{\infty} \frac{1}{k(\eta k+2)\{\eta(k-1)+2\}}
.
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
, plot
, lines
,
coef
, logLik
, AIC
,
BIC
, fitted
, predict
.
Source
Tao Sun, Yi Liu, Richard J. Cook, Wei Chen and Ying Ding (2019).
Copula-based Score Test for Bivariate Time-to-event Data,
with Application to a Genetic Study of AMD Progression.
Lifetime Data Analysis 25(3), 546-568.
Tao Sun and Ying Ding (In Press).
Copula-based Semiparametric Regression Model for Bivariate Data
under General Interval Censoring.
Biostatistics. DOI: 10.1093/biostatistics/kxz032.
Examples
# fit a Copula2-Semiparametric model
data(AREDS)
copula2_sp <- ic_spTran_copula(data = AREDS, copula = "Copula2",
l = 0, u = 15, m = 3, r = 3,
var_list = c("ENROLLAGE","rs2284665","SevScaleBL"))
summary(copula2_sp)