CecileProust-Lima / lcmm

R package lcmm
https://CecileProust-Lima.github.io/lcmm/
48 stars 13 forks source link

mpjlcmm: Difference between separate longitudinal models and combined longitudinal models in time-to-event latent class analysis #229

Closed Eghamarian closed 4 months ago

Eghamarian commented 7 months ago

Hi,

Thank you for your wonderful work.

I am using mpjlcmm to find latent classes based on two biomarkers and death at day 90. What I would like to know is the difference between the following two methods:

Note: Day varies between 1 and 8, which is the length of time we have records for cumulative fluid balance (cfb) and ultrafiltration (ultra). Time is the number of days to event, and Status is the event, which is death at day 90.

Method 1: Longitudinal model for cfb (cumulative fluid balance) mult3_cfb <- multlcmm(cfb ~ Day, random = ~ Day, subject="Subject", ng=3, mixture = ~ Day, idiag = TRUE, link = "3-quant-splines", data=dat, B = mult1_cfb)

Longitudinal model for ultra (ultrafiltration) mult3_ultra <- multlcmm(ultra ~ Day, random = ~ Day, subject="Subject", ng=3, mixture = ~ Day, idiag = TRUE, link = "3-quant-splines", data=dat, B = mult1_ultra)

Joint model join3 <- mpjlcmm(longitudinal = list(mult3_cfb, mult3_ultra), subject = "Subject", ng=3, data = dat, survival = Surv(time, Status) ~ 1, hazard = "Weibull", nproc = 10)

Method 2: Longitudinal model for cfb and ultra mult3_both <- multlcmm(cfb + ultra ~ Day, random = ~ Day, subject="Subject", ng=3, mixture = ~ Day, idiag = TRUE, link = c("3-quant-splines", "3-quant-splines"), data=dat, B = mult1_both, nproc = 10)

Joint model join3_both <- mpjlcmm(longitudinal = list(mult3_both), subject = "Subject", ng=3, data = dat, survival = Surv(time, Status) ~ 1, hazard = "Weibull", nproc = 10, B = join1_both)

Thanks

VivianePhilipps commented 6 months ago

Hi,

the assumptions about the 'ultra' and 'cfb' outcomes are very different is these two methods.

If you use multlcmm, you assume that the two outcomes measure the same underlying process. In the example we give in the vignette (https://cecileproust-lima.github.io/lcmm/articles/latent_process_model_with_multlcmm.html), the 3 outcomes are cognitive scores, so the assumption holds since they all measure cognition.

With the mpjlcmm, the only link between the outcomes are the latent classes. You do not assume any other link between them. In our mpjlcmm examples, we use one cognitive score and one depression score. Both are associated to aging and degradation toward dementia, but cognition are depression are two different concepts, so we cannot model them as one process.

According to the context and to your knowledge about the data, you choose the best method.

Best,

Viviane