Fits a copula model with parametric margins for bivariate interval-censored data.
ic_par_copula(
data,
var_list,
copula,
m.dist = "Weibull",
method = "BFGS",
iter = 300,
stepsize = 1e-05,
hes = TRUE,
control = list()
)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.
a data frame; must have id (subject id), ind (1,2 for two units in each subject),
Left (0 if left-censoring), Right (Inf if right-censoring), status (0 for right-censoring,
1 for interval-censoring or left-censoring), and covariates by column.
the list of covariates to be fitted into the copula model.
Types of copula model.
baseline marginal distribution.
optimization method (see ?optim); default is "BFGS"; also can be "Newton" (see ?nlm).
number of iterations when method is "Newton";
default is 300.
size of optimization step when method is "Newton";
default is 1e-5.
default is TRUE for hessian calculation.
a list of control parameters for methods other than "Newton";
see ?optim.
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 supported marginal distributions are "Weibull" (proportional hazards),
"Gompertz" (proportional hazards) and "Loglogistic" (proportional odds).
These marginal distributions are listed below
and we assume the same baseline parameters between two margins.
The Weibull (PH) survival distribution is $$\exp \{-(t/\lambda)^k e^{Z^{\top}\beta}\},$$ with \(\lambda > 0\) as scale and \(k > 0\) as shape.
The Gompertz (PH) survival distribution is $$\exp \{-\frac{b}{a}(e^{at}-1) e^{Z^{\top}\beta}\},$$ with \(a > 0\) as shape and \(b > 0\) as rate.
The Loglogistic (PO) survival distribution is $$\{1+(t/\lambda)^{k} e^{Z^{\top}\beta} \}^{-1},$$
with \(\lambda > 0\) as scale and \(k > 0\) as shape.
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).
# fit a Copula2-Weibull model
data(AREDS)
copula2_wb <- ic_par_copula(data = AREDS, copula = "Copula2",
m.dist = "Weibull",
var_list = c("ENROLLAGE","rs2284665"))
summary(copula2_wb)
Run the code above in your browser using DataLab