How to increase estimation accuracy in a bivariate joint model of longitudinal outcomes and terminal event by using R-INLA

65 views
Skip to first unread message

Jingwei Lu

unread,
Nov 19, 2021, 3:50:43 PM11/19/21
to R-inla discussion group
Hi everyone,

I am working on a simulation study by using R-INLA to estimate fixed effects and hyperparameters in a bivariate joint model of longitudinal outcomes and terminal event, where I assume the longitudinal outcomes follows a zero-inflated negative binomial distribution with offset term and the baseline hazard function for terminal event follows weibull distribution. They also share two random effects, where Y and Z represent the subject-specific and family-specifc random effects respectively. 

My question is that I constructed the single variate models for terminal event and longitudinal outcomes separately, and they worked well on generating parameter estimates. However, when I combine them into a bivariate joint model, the parameter estimates are very imprecise. I tried to add some control.inla options to fixe it, such as adding "cmin=0", "tolerance=1e-20", or "h=1e-08", but they all failed. 

I have attached the R code about the simulation study for this bivariate joint model, and I will be very grateful if you can give me some suggestions about how to revise the code and generate accurate results.

Thank you very much.

Regards,

Lucas 
Bivariate joint model of longitudinal outcomes and terminal event.R

Denis Rustand

unread,
Nov 21, 2021, 10:04:52 AM11/21/21
to R-inla discussion group
Hi Lucas,

I found a couple issues in your code that could explain your imprecise parameter estimates, it seems mostly related to the data generation part and prior distributions.
First, I think the offset term defined line 57 used in the model formulas is not the same as the offset for the data generation because you change some longitudinal observation times in the loop line 67 (to set survival times as the last observation time for each individual). I think you have to define the offset for the model after these modifications. Then, your terminal event censors a lot of biomarker values (the longitudinal gap times are very large compared to survival times). The longitudinal data is therefore not very informative for the model parameters to be recovered. I also noticed an issue with the "tau" parameter in the linear predictor of the survival submodel, according to the model you defined I think you want to multiply it with the family random effect (x[4]) instead of the individual one (x[3]). Finally, you should choose carefully your prior distributions because if it is too large, it could explain the variability of your results since you have a small sample size.

I made some modifications in the attached code (removed the offset for now because it needs to be the same in data generation and model fit, reduced the longitudinal gap times to avoid removing too many biomarker observations when censoring by the terminal event, reduced the value of some parameters (variance of the random effects and association parameters) and adjusted the prior distributions for the association parameters), but you may look more into the data generation to make sure it is informative for all the parameters of the model and adjust the prior choice to the scale of your model parameters.

Best,
Denis Rustand
he...@r-inla.org
Bivariate joint modified.R
Reply all
Reply to author
Forward
0 new messages