ENAR Spring Meeting | March 29, 2022

Cystic Fibrosis

  Chronic respiratory problems, and lung infections.

  Poor growth, and low weight.


Cystic Fibrosis



Research Goals

  Outcomes:

    · Lung function decline (FEV1)

    · Nutritional status evolution (BMI)

    · Pulmonary exacerbations

    · Death or transplantation


  • Research questions
    • How FEV1 and BMI relate to the risk of pulmonary exacerbations?
    • How FEV1 and BMI relate to the risk of death/transplantation?
    • Are pulmonary exacerbations related to the risk of death/transplantation?

Data

  27K CF patients

  1,400K observations

  317K years of follow-up


Data

  50% of patients reported ≥50 measurements, and ≥12.5 years of follow-up.

Data

  50% of patients experienced ≥4 acute respiratory events.

Data

  26% of patients died or received a transplant.

Joint Model

Why?

    · Survival analysis: endogenous time-varying covariates

    · Longitudinal analysis: nonrandom dropout

Joint Model

Why?

    · Survival analysis: endogenous time-varying covariates

    · Longitudinal analysis: nonrandom dropout


\[\small{\require{color} \begin{cases} y_i(t)= \colorbox{#79FCFD80}{$ x_i(t)^\top\beta + z_i(t)^\top b_i$} + \varepsilon_i(t) = \colorbox{#79FCFD80}{$ \eta_i(t)$} + \varepsilon_i(t) & \text{Longitudinal outcome}\\ h_i(t)= h_0(t)\exp\left\{ w_i(t)^\top \gamma + \colorbox{#79FCFD80}{$\mathcal{f}\left\{\eta_i(t)\right\}$} \alpha \right\} & \text{Time-to-event outcome}\\ \end{cases} } \]


\[ b_i \sim \mathcal N \left(0, D\right), \qquad \varepsilon_i(t) \sim \mathcal N \left(0, \sigma^2\right) \]

Extended Joint Model

  Recurrent failure times + Multiple longitudinal markers + Multiple functional forms


\[\small{\require{color} \begin{cases} y_{i1}(t)= \colorbox{#79FCFD80}{$ x_{i1}(t)^\top \beta_1 + z_{i1}(t)^\top b_{i1}$} + \varepsilon_{i1}(t) = \colorbox{#79FCFD80}{$ \eta_{i1}(t)$} + \varepsilon_{i1}(t) & \text{FEV$_1$}\\ y_{i2}(t)= \colorbox{#FCFF5580}{$ x_{i2}(t)^\top \beta_2 + z_{i2}(t)^\top b_{i2}$} + \varepsilon_{i2}(t) = \colorbox{#FCFF5580}{$ \eta_{i2}(t)$} + \varepsilon_{i2}(t) & \text{BMI}\\\\ h_i(t) = h_0(t)\exp\left\{ w_{it}(t)^\top \gamma_t + \colorbox{#79FCFD80}{$\mathcal{f}_{1}\left\{\eta_{i1}(t)\right\}$} \alpha_{t1} + \colorbox{#FCFF5580}{$\mathcal{f}_{2}\left\{\eta_{i2}(t)\right\}$} \alpha_{t2} + \colorbox{#5FFFAB80}{$v_i$} \alpha_{F} \right\} & \text{Death or TX}\\ r_i(t)= r_0(t)\exp\left\{ w_{ir}(t)^\top \gamma_r + \colorbox{#79FCFD80}{$\mathcal{g}_{1}\left\{\eta_{i1}(t)\right\}$} \alpha_{r1} + \colorbox{#FCFF5580}{$\mathcal{g}_{2}\left\{\eta_{i2}(t)\right\}$} \alpha_{r2} + \colorbox{#5FFFAB80}{$v_i$} \right\} & \text{PEx}\\ \end{cases} } \]


\[ \begin{pmatrix} \colorbox{#79FCFD80}{$b_{i1}$} \\ \colorbox{#FCFF5580}{$b_{i2}$} \\ \colorbox{#5FFFAB80}{$v_i$}\end{pmatrix} \sim \mathcal N \left(0, \begin{pmatrix}D & 0 \\ 0 & \sigma^2_F\end{pmatrix} \right), \qquad \varepsilon_{ij}(t) \sim \mathcal N (0, \sigma_j^2) \]

Extended Joint Model

  Functional Forms


\[ f\{\eta_i(t)\} = \begin{cases} \eta_i(t) & \text{value}\\\\ \displaystyle \frac{d}{dt} \eta_i(t) & \text{slope}\\\\ \eta_i(t) - \eta_i(t - 1) & \text{last year increase}\\\\ \displaystyle \frac{1}{t} \displaystyle \int_0^t \eta_i(s) \, ds & \text{(normalized) cumulative effect} \end{cases} \]

  • Combinations of the above
    • interactions with covariates

Extended Joint Model

  Hazard timescale

Extended Joint Model

  Discontinuous risk intervals

Estimation & Software

Estimation & Software



##   id tstart tstop status strata sex
## 1  1      0     2      1      1   m
## 2  1      3     4      1      1   m
## 3  1      5     7      0      1   m
## 4  1      0     7      0      2   m
## 5  2      0     1      1      1   f
## 6  2      2     4      0      1   f
## 7  2      0     4      1      2   f

Estimation & Software


\[\small{\require{color} \begin{cases} y_i(t)= \colorbox{#79FCFD80}{$ \beta_0 + t\beta + b_{0i} + tb_{1i}$} + \varepsilon_i(t) = \colorbox{#79FCFD80}{$ \eta_{i}(t)$} + \varepsilon_i(t) \\ h_i(t)= h_0(t) \exp \left \{ \text{group}_i \gamma_{t} + \colorbox{#79FCFD80}{$\eta_{i}(t)$} \alpha_t + \colorbox{#5FFFAB80}{$v_i$} \alpha_{F} \right\} \\ r_i(t)= r_0(t)\exp\left\{ \text{group}_i \gamma_{r} + \colorbox{#79FCFD80}{$\eta_{i}(t)$} \alpha_r + \colorbox{#5FFFAB80}{$v_i$} \right\} \\ \end{cases} } \]

            library("JMbayes2")

            lme_fit <- lme(fixed = y ~ time, random = ~ time | id, data = data_long)
            
            cox_fit <- coxph(Surv(tstart, tstop, status) ~ group * strata(strata),
                               data = data_strt)
            
            jm_fit <- jm(cox_fit, lme_fit, time_var = "time", 
                         functional_forms = ~ value(y) * strata,
                         recurrent = "gap")

Simulation Results

  100 replications

\[\small{\require{color} \begin{cases} y_i(t)= \colorbox{#79FCFD80}{$ \beta_0 + b_{0i} + \sum_{j=1}^{4}\left( \beta_j + b_{ji}\right)ns_j(t)$} + \varepsilon(t) = \colorbox{#79FCFD80}{$ \eta_i(t)$} + \varepsilon(t)\\ h_i(t)= h_0(t) \exp \left\{ w_{i1}\gamma_{t1} + w_{i2}\gamma_{t2} + \colorbox{#79FCFD80}{$\eta_i(t)$} \alpha_t + \colorbox{#5FFFAB80}{$v_i$} \alpha_{F} \right\}\\ r_i(t)= r_0(t) \exp \left\{ w_{i1}\gamma_{r1} + w_{i2}\gamma_{r2} + \colorbox{#79FCFD80}{$\eta_i(t)$} \alpha_r + \colorbox{#5FFFAB80}{$v_i$} \right\} \\ \end{cases} } \]


\[ \begin{pmatrix} \colorbox{#79FCFD80}{$b_i$} \\ \colorbox{#5FFFAB80}{$v_i$}\end{pmatrix} \sim \mathcal N \left(0, \begin{pmatrix}D & 0 \\ 0 & \sigma^2_F\end{pmatrix}\right), \quad \varepsilon_i(t) \sim \mathcal N (0, \sigma^2), \quad i=1,\dots,500 \]

Simulation Results

Application Results

  Running time: 9.3 hours

FEV1_fit <- lme(fixed = FEV1 ~ age, random = ~ age | ID, data = dataL$long)

BMI_fit  <- lme(fixed = BMI ~ age, random = ~ age | ID, data = dataL$long)

Cox_fit <- coxph(Surv(tstart, tstop, status) ~ Gender * strata(process),
                 data = dataL$strt)
        
jm_fit <- jm(Cox_fit, list(FEV1_fit, BMI_fit), time_var = "age",
             functional_forms = ~ value(FEV1):process + value(BMI):process
             recurrent = "gap")

Application Results



  • Pulmonary Exacerbations
    • a 10-unit decrease of FEV1 increases the hazard of an exacerbation by 21% (16; 26%)
    • a 5-unit increase of BMI increases the hazard of an exacerbation by 4% (-9; 21%)


  • Death/Transplantation
    • a 10-unit decrease of FEV1 increases the hazard of death by 60% (38; 98%)
    • a 5-unit increase of BMI decreases the hazard of death by 36% (20; 57%)


  • Frailty
    • an one-SD increase of the frailty term, increases the hazard of death by 160% (96; 278%)

Discussion


  • Extended Joint Model
    • multiple longitudinal outcomes
    • recurrent events
    • terminating event
    • gap and calendar time scales
    • discontinuous risk intervals
    • different functional forms


  • Challenging Estimation
    • high-dimensional random effects and frailties
    • efficient MCMC implementation

JMbayes2 - Additional Options

  • Various distributions for longitudinal outcomes
    • Normal & censored Normal, Student’s-t
    • Beta
    • Gamma
    • Binomial, Beta-Binomial
    • Poisson & Negative Binomial


  • Comparison between models
    • DIC, WAIC, LPML


  • Dynamic predictions
    • still under implementation











Thanks for your attention!

@drizopoulos
d.rizopoulos @ erasmus mc.nl