jointModel {JM} | R Documentation |
This function fits shared parameter models for the joint modelling of normal longitudinal responses and time-to-event data under a maximum likelihood approach. Various options for the survival model are available.
jointModel(lmeObject, survObject, timeVar, method = c("weibull-GH", "ch-GH", "ph-GH", "ch-Laplace"), init = NULL, control = list())
lmeObject |
an object inheriting from class lme (see also Note). |
survObject |
an object inheriting from class coxph or class survreg . In the call to coxph()
or survreg() , you need to specify the argument x = TRUE such that the design matrix is contained in
the object fit. See Examples. |
timeVar |
a character string indicating the time variable in the linear mixed effects model. |
method |
a character string specifying the type of joint model to fit. See Details. |
init |
a list of user-specified initial values. The initial values list must have the following components:
|
control |
a list of control values with components:
|
The jointModel
function fits joint models for longitudinal and survival data. For the longitudinal responses the
linear mixed effects model represented by the lmeObject
is assumed. For the survival times three options are
available. In particular, let t_i denote the time-to-event for the ith sample unit, x_i denote the
vector of baseline covariates in survObject
, with associated parameter vector gamma, W_i(t) the value
of the longitudinal outcome at time point t (i.e., W_i(t) equals the fixed effects part +
random
effects part of the linear mixed effects model for sample unit i), and α the association parameter. Then,
for method = "weibull-GH"
a Weibull accelerated failure time model is assumed formulated as:
log t = gamma^T x_i + α W_i(t) + σ_t varepsilon_i,
where varepsilon_i follows an extreme value distribution.
For method = "ch-GH"
and method = "ch-Laplace"
an additive log cumulative hazard model is assumed
formulated as:
log Lambda_i(t) = log Lambda_0(t) + gamma^T x_i + α W_i(t),
where Lambda_i(.)
and Lambda_0(.) denote the cumulative hazard and cumulative baseline hazard functions, respectively, and
log Lambda_0(t) is approximated using B-splines (see Rizopoulos et al., 2008 for more info). Finally, for
method = "ph-GH"
a time-dependent proportional hazards model is assumed formulated as
λ_i(t) = λ_0(t) exp { gamma^T x_i + α W_i(t) },
where the baseline hazard λ_0(t) is left unspecified (Wulfsohn and Tsiatis, 1997).
For all survival models except for the time-dependent proportional hazards model, the optimization algorithm starts
with EM iterations, and if convergence is not achieved, it switches to quasi-Newton iterations (i.e., BFGS in
optim()
or nlminb()
, depending on the value of the optimizer
control argument). For the
time-dependent proportional hazards model only the EM algorithm is used. During the EM iterations, convergence is
declared if either of the following two conditions is satisfied: (i) L(theta^{it}) - L(theta^{it - 1}) < tol_3
{ | L(theta^{it - 1}) | + tol_3 } , or (ii) max { | theta^{it} - theta^{it - 1} | / ( | theta^{it - 1} |
+ tol_1) } < tol_2, where theta^{it} and theta^{it - 1} is the vector of parameter values at the current
and previous iterations, respectively, and L(.) is the log-likelihood function. The values for tol_1,
tol_2 and tol_3 are specified via the control
argument. During the quasi-Newton iterations, the
default convergence criteria of either optim()
or nlminb()
are used.
The required integrals are approximated using the Gauss-Hermite quadrature rule for method = "weibull-GH"
,
method = "ch-GH"
and method = "ph-GH"
, whereas for method = "ch-Laplace"
the fully exponential
Laplace approximation described in Rizopoulos et al. (2008) is used. This last option is more suitable when
high-dimensional random effects vectors are considered (e.g., when modelling nonlinear subject-specific trajectories with
splines or high-order polynomials).
See jointModelObject
for the components of the fit.
1. The lmeObject
should represent a linear mixed model with a simple random effects structure, i.e., only the
pdDiag()
class is currently allowed.
2. The lmeObject
should not contain any within-group correlation structure (i.e., correlation
argument of
lme()
) or within-group heteroscedasticity structure (i.e., weights
argument of lme()
).
3. It is assumed that the linear mixed effects model lmeObject
and the survival model survObject
have been
fitted to the same subjects. Moreover, it is assumed that the ordering of the subjects is the same for both
lmeObject
and survObject
, i.e., that the first line in the data frame containing the event times
corresponds to the first set of lines identified by the grouping variable in the data frame containing the repeated
measurements, and so on.
4. In the print
and summary
generic functions for class jointModel
, the estimated coefficients (and
standard errors for the summary
generic) for the event process are augmented with the element "Assoct" that
corresponds to the association parameter α (see Details).
5. The standard errors returned by the summary
generic function for class jointModel
when
method = "ph-GH"
are based on the profile score vector (i.e., given the NPMLE for the unspecified baseline
hazard). Hsieh et al. (2006) have noted that these standard errors are underestimated.
6. For more examples of jointModel()
check the following link: http://wiki.r-project.org/rwiki/doku.php?id=packages:cran:jm.
Dimitris Rizopoulos d.rizopoulos@erasmusmc.nl
Henderson, R., Diggle, P. and Dobson, A. (2000) Joint modelling of longitudinal measurements and event time data. Biostatistics 1, 465–480.
Hsieh, F., Tseng, Y.-K. and Wang, J.-L. (2006) Joint modeling of survival and longitudinal data: Likelihood approach revisited. Biometrics 62, 1037–1043.
Rizopoulos, D., Verbeke, G. and Lesaffre, E. (2009) Fully exponential Laplace approximation for the joint modelling of survival and longitudinal data. Journal of the Royal Statistical Society, Series B, to appear.
Tsiatis, A. and Davidian, M. (2004) Joint modeling of longitudinal and time-to-event data: an overview. Statistica Sinica 14, 809–834.
Wulfsohn, M. and Tsiatis, A. (1997) A joint model for survival and longitudinal data measured with error. Biometrics 53, 330–339.
jointModelObject
,
anova.jointModel
,
coef.jointModel
,
fixef.jointModel
,
ranef.jointModel
,
fitted.jointModel
,
residuals.jointModel
,
plot.jointModel
# linear mixed model fit (random intercepts) fitLME <- lme(log(serBilir) ~ drug * year, random = ~ 1 | id, data = pbc2) # survival regression fit fitSURV <- survreg(Surv(years, status2) ~ drug, data = pbc2.id, x = TRUE) # joint model fit, under the (default) Weibull model fitJOINT <- jointModel(fitLME, fitSURV, timeVar = "year") fitJOINT summary(fitJOINT) # linear mixed model fit (random intercepts + random slopes) fitLME <- lme(log(serBilir) ~ drug * year, random = ~ year | id, data = pbc2) # survival regression fit fitSURV <- survreg(Surv(years, status2) ~ drug, data = pbc2.id, x = TRUE) # joint model fit, under the (default) Weibull model fitJOINT <- jointModel(fitLME, fitSURV, timeVar = "year") fitJOINT summary(fitJOINT) # linear mixed model fit fitLME <- lme(sqrt(CD4) ~ obstime * drug - drug, random = ~ 1 | patient, data = aids) # cox model fit fitCOX <- coxph(Surv(Time, death) ~ drug, data = aids.id, x = TRUE) # joint model fit, under the additive log cumulative hazard model fitJOINT <- jointModel(fitLME, fitCOX, timeVar = "obstime", method = "ch-GH") fitJOINT summary(fitJOINT)