Software
The output in this practical was generated using R version 4.2.1 (2022-06-23 ucrt) and JointAI version 1.0.3.9000 (with rjags version 4.13 and JAGS version 4.3.1).

Data

load("Data/datHCV.RData")

We continue to work with the simulated dataset that is based on a cohort of patients with chronic hepatitis C, "datHCV":

  • 250 patients (id) from 10 hospitals (center)

  • 985 rows in the data

  • potential additional grouping factor Genotype (crossed with id)

  • 4 repeatedly measured variables: logCreatinin, Albumin, logFIB4, Creatinin

  • time variable: time

  • 10 baseline covariates: Age0, Sex, alc_pwk, AntiHBc, DM, race, Weight, Height, Alcoholabuse, BMI

  • time-to-event outcome: event (values: FALSE, TRUE) and corresponding event/censoring time etime

The data has the following distribution

library("JointAI")
par(mar = c(3, 3, 2, 1), mgp = c(2, 0.6, 0))
plot_all(datHCV, idvars = c("id", "center", "Genotype"), breaks = 50)

and patterns of missingness:

Missing data pattern of the time-constant variables:

md_pattern(subset(datHCV, select = -c(logFIB4, Albumin, logCreatinin, time)))

Missing data pattern of the longitudinal variables:

md_pattern(subset(datHCV, select = c(logFIB4, Albumin, logCreatinin, time)))

Preparations
First, we create a version of the data that only contains the observations at baseline:

HCVbase <- subset(datHCV, time == 0)

Survival Models

In this practical we will have a look on the functionalities of JointAI for time-to-event outcomes.

Basic Survival Models

There are two types of survival models available

  • proportional hazards (PH) model: coxph_imp()
  • parametric survival model (Weibull distribution for the event times): survreg_imp()

As in the survival package, the function Surv() is used to specify the response in the model formula.

Proportional Hazards Model
Contrary to the classic Cox model, the baseline hazard in the PH model cannot be left unspecified but is instead modelled flexibly using B-splines, i.e., the PH model is

\[h_i(t) = \underset{h_0(t)}{\underbrace{\exp\left(\sum_{q = 1}^Q \beta_{Bq}B_q(t)\right)}} \exp(\mathbf x_i(t)^\top\boldsymbol\beta)\] In JointAI, the PH model is implemented via its survival function. In the case with only time-constant covariates the survival function is \[S(t\mid \boldsymbol\theta) = \exp\left\{-\int_0^th_0(s)\exp\left(\mathbf X_i\boldsymbol\beta\right)ds\right\} = \exp\left\{-\exp\left(\mathbf X_i\boldsymbol\beta\right)\int_0^th_0(s)ds\right\}.\] Since the integral over the baseline hazard does not have a closed-form solution, in JointAI it is approximated using Gauss-Kronrod quadrature with 15 evaluation points.

PH models are more computationally intensive than the parametric survival model but can include time-varying covariates (see later).

Parametric Survival Model
The parametric survival model is implemented as \[\begin{eqnarray*} T_i^* &\sim& \text{Weibull}(r_i, s),\\ D_i &\sim& \unicode{x1D7D9}(T_i^* \geq C_i),\\ \log(r_j) &=& - \mathbf x_i^\top\boldsymbol\beta,\\ s &\sim& \text{Exp}(0.01), \end{eqnarray*}\] where \(\unicode{x1D7D9}(T_i^* \geq C_i)\) is the indicator function which is one if \(T_i^*\geq C_i\), and zero otherwise.

Multi-level Setting
Either model can be fitted in a multi-level setting, e.g., to take into account the clustering in a multi-centre study. This can be achieved by adding random effects to the model formula (using lme4-type specification).

Task

Fit a parametric survival model and a PH model for the time to death (etime) with censoring indicator event and covariates Age0, Sex, BMI, and AntiHBc.

Use the HCVbase data that only contain the baseline observations of the original data, i.e.,

HCVbase <- subset(datHCV, time == 0)

The models should also take into account the multi-centre structure of the data, i.e., include a random effect for center.

For now, you only need to specify the same arguments we’ve used in the other model types, i.e., formula, data, n.iter (and optionally n.chains and seed).

Check that the models have converged and inspect the model summaries.

The functions to use are coxph_imp() and survreg_imp().
The response is specified the same way as in the survival package, using the function Surv().
To include a random intercept for center, include (1 | center) in the right hand side of the model formula.


Because PH models are computationally intensive, it is convenient to use parallel sampling of the MCMC chains to save some time, i.e.,

library("future")
plan(multisession, workers = 4)

Solution

Because PH models are computationally intensive, I run them in parallel and set up a “multisession future” with 4 parallel processes so I can run 4 MCMC chains in parallel:

library("future")
plan(multisession, workers = 4)

Parametric Model

surv_wb <- survreg_imp(Surv(etime, event) ~ Age0 + Sex + BMI + AntiHBc + (1 | center), 
                       data = HCVbase, n.iter = 300, n.chains = 4, seed = 1234)
traceplot(surv_wb)

summary(surv_wb)
## 
## Bayesian weibull survival model fitted with JointAI
## 
## Call:
## survreg_imp(formula = Surv(etime, event) ~ Age0 + Sex + BMI + 
##     AntiHBc + (1 | center), data = HCVbase, n.chains = 4, n.iter = 300, 
##     seed = 1234)
## 
## 
## Number of events: 102 
## 
## Posterior summary:
##                    Mean      SD    2.5%   97.5% tail-prob. GR-crit MCE/SD
## (Intercept)      3.1371 0.22151  2.7373  3.6200      0.000    1.11 0.0848
## Age0            -0.0394 0.00751 -0.0545 -0.0252      0.000    1.04 0.0653
## SexFemale        0.5841 0.19564  0.2377  0.9653      0.000    1.16 0.1304
## BMI             -0.0154 0.01786 -0.0503  0.0178      0.382    1.03 0.0922
## AntiHBcPositive -0.1542 0.22168 -0.5809  0.2649      0.470    1.08 0.1205
## 
## 
## Posterior summary of random effects covariance matrix:
##                                Mean    SD   2.5% 97.5% tail-prob. GR-crit MCE/SD
## D_Surv_etime_evnt_center[1,1] 0.251 0.214 0.0299 0.831                1.1 0.0738
## 
## 
## Posterior summary of the shape of the Weibull distribution:
##                       Mean     SD 2.5% 97.5% GR-crit MCE/SD
## shape_Surv_etime_evnt 1.16 0.0917 0.99  1.34    1.05  0.103
## 
## 
## MCMC settings:
## Iterations = 101:400
## Sample size per chain = 300 
## Thinning interval = 1 
## Number of chains = 4 
## 
## Number of observations: 250 
## Number of groups:
##  - center: 10

In the summary of the Weibull model we see that an intercept is included in this model. The MCMC chains have converged (GR-crit is close to 1 for all coefficients) but the Monte Carlo Error is still a bit larger than we’d like. In practice, we should increase the number of MCMC samples.

The output also shows the posterior distribution of the variance of the random intercept and the shape parameter of the Weibull distribution.

PH Model

surv_ph <- coxph_imp(Surv(etime, event) ~ Age0 + Sex + BMI + AntiHBc + (1 | center), 
                     data = HCVbase, n.iter = 300, n.chains = 4, seed = 1234)
The argument df_basehaz specifies the degrees of freedom used in the B-spline to model the baseline hazard. Here, we are using the default, i.e, 6 degrees of freedom.
traceplot(surv_ph)

summary(surv_ph)
## 
## Bayesian proportional hazards model fitted with JointAI
## 
## Call:
## coxph_imp(formula = Surv(etime, event) ~ Age0 + Sex + BMI + AntiHBc + 
##     (1 | center), data = HCVbase, n.chains = 4, n.iter = 300, 
##     seed = 1234)
## 
## 
## Number of events: 102 
## 
## Posterior summary:
##                    Mean      SD    2.5%   97.5% tail-prob. GR-crit MCE/SD
## Age0             0.0539 0.00928  0.0357  0.0715      0.000    1.00 0.0525
## SexFemale       -0.7808 0.23313 -1.2806 -0.3356      0.000    1.01 0.0545
## BMI              0.0207 0.02007 -0.0172  0.0599      0.297    1.01 0.0567
## AntiHBcPositive  0.2397 0.24024 -0.2160  0.7003      0.317    1.07 0.0613
## 
## 
## Posterior summary of random effects covariance matrix:
##                                Mean    SD   2.5% 97.5% tail-prob. GR-crit MCE/SD
## D_Surv_etime_evnt_center[1,1] 0.519 0.404 0.0945  1.64               1.03 0.0617
## 
## 
## Posterior summary of other parameters:
##                              Mean    SD  2.5%   97.5% tail-prob. GR-crit MCE/SD
## beta_Bh0_Surv_etime_evnt[1] -2.91 0.482 -3.81 -2.0232     0.0000    1.01 0.0828
## beta_Bh0_Surv_etime_evnt[2] -4.71 0.598 -5.86 -3.6036     0.0000    1.07 0.0961
## beta_Bh0_Surv_etime_evnt[3] -3.27 0.594 -4.48 -2.1143     0.0000    1.04 0.1324
## beta_Bh0_Surv_etime_evnt[4] -3.00 0.828 -4.57 -1.4526     0.0000    1.05 0.1083
## beta_Bh0_Surv_etime_evnt[5] -1.75 1.031 -4.03  0.0416     0.0567    1.08 0.1207
## beta_Bh0_Surv_etime_evnt[6] -1.81 1.221 -4.63  0.1764     0.0917    1.04 0.0748
## 
## 
## MCMC settings:
## Iterations = 101:400
## Sample size per chain = 300 
## Thinning interval = 1 
## Number of chains = 4 
## 
## Number of observations: 250 
## Number of groups:
##  - center: 10

The MCMC chains in the PH model have converged as well. Since here we model the effect of the covariates on the (log) hazard, the effect estimates have the opposite signs (compared to the parametric model for the event times).

Summaries of the posterior distributions of the parameters in the spline specification of the baseline hazard are shown in the “other parameters” part of the output.

Time-varying Covariates

It is possible to include time-varying covariates in PH models, either using last-observation-carried-forward (corresponding to the classic time-dependent Cox model) or in a joint model in which longitudinal variables are modelled using mixed models.

Note that the LOCF approach makes a number of assumptions that are often violated, such as that the time-dependent covariates are exogenous and measured without error.

Fitting a time-dependent PH model in JointAI requires

  • the specification of the additional argument timevar that specifies the name of the variable containing the measurement times of the longitudinal variables, and
  • adding a random intercept specification for the subject id to the model formula.

The data should be in long format, where the event time and event indicator are baseline covariates, i.e., are constant across the rows of the data belonging to the same subject, e.g.:

head(subset(datHCV, select = c(id, etime, event, time, logFIB4, logCreatinin)))
##          id     etime event     time     logFIB4 logCreatinin
## 960.1     1  4.633946 FALSE 0.000000 -0.46364717     4.252636
## 512.112  10 10.281704 FALSE 0.000000  0.01107058     3.579050
## 768.223  10 10.281704 FALSE 3.087607 -0.81632187           NA
## 512.334  10 10.281704 FALSE 6.915293 -0.20534818     3.696012
## 704.445 100 14.439765  TRUE 0.000000  0.27040684           NA
## 960.556 100 14.439765  TRUE 3.576160 -0.70407384     3.620893

When using the time-dependent PH model, missing values in time-varying covariates are not imputed by sampling from a distribution but filled-in beforehand. As a consequence, it is not possible to use this approach for subjects that do not have any observation of a particular time-varying covariate.

Task

Fit a time-dependent PH model using the same covariates as before, i.e., Age0, Sex, BMI, and AntiHBc, as well as the two time-varying covariates logFIB4 and Albumin.

Remember to specify the timevar argument and the random intercept for id.

To create a subset of the datHCV data that excludes subjects that have no observed values for logFIB4 or Albumin you can use the following syntax:

library("magrittr")

HCVsub <- split(datHCV, datHCV$id) %>%
  lapply(., function(x) {
    if (sum(!is.na(x$logFIB4)) == 0 | sum(!is.na(x$Albumin)) == 0) {
      NULL
    } else {
      x
    }
  }) %>%
  do.call(rbind, .)
We now have to random intercept specifications, (1 | center), to take into account the multi-level structure, and (1 | id), to indicate that rows with the same id belong to the same subject.


Check that the model has converged and inspect the model summary.

Solution

ph_tvar <- coxph_imp(Surv(etime, event) ~ Age0 + Sex + BMI + AntiHBc + logFIB4 + 
                       Albumin + (1 | center) + (1 | id),
                     data = HCVsub, timevar = "time", seed = 1234,
                     n.iter = 300, n.chains = 4)
traceplot(ph_tvar)

summary(ph_tvar)
## 
## Bayesian proportional hazards model fitted with JointAI
## 
## Call:
## coxph_imp(formula = Surv(etime, event) ~ Age0 + Sex + BMI + AntiHBc + 
##     logFIB4 + Albumin + (1 | center) + (1 | id), data = HCVsub, 
##     n.chains = 4, n.iter = 300, seed = 1234, timevar = "time")
## 
## 
## Number of events: 93 
## 
## Posterior summary:
##                     Mean     SD    2.5%   97.5% tail-prob. GR-crit MCE/SD
## Age0             0.03944 0.0105  0.0187  0.0597    0.00167    1.00 0.0607
## SexFemale       -0.83713 0.2653 -1.3779 -0.2921    0.00167    1.01 0.0576
## BMI              0.00324 0.0211 -0.0390  0.0437    0.88833    1.00 0.0445
## AntiHBcPositive  0.28369 0.2559 -0.2242  0.7696    0.29167    1.04 0.0795
## logFIB4          0.53137 0.1559  0.2172  0.8200    0.00167    1.04 0.0817
## Albumin         -0.07477 0.0191 -0.1135 -0.0390    0.00000    1.03 0.0668
## 
## 
## Posterior summary of random effects covariance matrix:
##                                 Mean    SD     2.5% 97.5% tail-prob. GR-crit MCE/SD
## D_Surv_etime_evnt_center[1,1] 0.0831 0.121 0.000759 0.371                1.1  0.105
## 
## 
## Posterior summary of other parameters:
##                              Mean    SD  2.5%  97.5% tail-prob. GR-crit MCE/SD
## beta_Bh0_Surv_etime_evnt[1] -2.91 0.435 -3.79 -2.126      0.000    1.04 0.0749
## beta_Bh0_Surv_etime_evnt[2] -5.09 0.593 -6.26 -3.976      0.000    1.07 0.0780
## beta_Bh0_Surv_etime_evnt[3] -3.26 0.600 -4.51 -2.123      0.000    1.11 0.1211
## beta_Bh0_Surv_etime_evnt[4] -3.80 0.818 -5.54 -2.377      0.000    1.26 0.1249
## beta_Bh0_Surv_etime_evnt[5] -1.64 1.067 -3.57  0.569      0.147    1.30 0.1312
## beta_Bh0_Surv_etime_evnt[6] -2.63 1.316 -5.40 -0.419      0.010    1.23 0.0877
## 
## 
## MCMC settings:
## Iterations = 101:400
## Sample size per chain = 300 
## Thinning interval = 1 
## Number of chains = 4 
## 
## Number of observations: 1172 
## Number of groups:
##  - center: 10
##  - id: 227

In the model summary we notice that there is no parameter for the variance of the random intercept for id. This is because the PH model does not actually include this random effect. The response (event time and event indicator) are on the id-level and therefore this random effect is not needed.

It has to be specified in the model formula to allow JointAI to identify which variables are time-varying and which are time-constant, and which rows in the data belong together.

Even though the missing values in the time-varying covariates have been filled in according to the LOCF approach before passing the data to JAGS, JointAI has specified models for the time-varying covariates:

ph_tvar$models
##    Surv(etime, event)               logFIB4               Albumin                   BMI 
##               "coxph"                 "lmm"                 "lmm"                 "lmm" 
##               AntiHBc 
## "glmm_binomial_logit"
This is necessary to allow imputed values in the incomplete baseline covariates BMI and AntiHBc to depend on Albumin and logFIB4. These models are fitted on the LOCF version of the data.

Joint Models

JointAI provides functionality to improve on the time-dependent PH models by fitting the PH model jointly with (generalized) linear mixed models for the longitudinal covariates using the function JM_imp().

The linear predictor of the proportional hazards model with one time-varying covariate \(\mathbf s_i\) is then \[\exp(\mathbf X_i \boldsymbol\beta + f(s_i(t))\beta_s).\]

Type of Association Structure
\(f(s_i(t))\) denotes a function that describes the association the hazard has with a longitudinal variable and \(\beta_s\) is the regression coefficient associated with it.

This could be

  • the observed or imputed value, i.e., \(f(s_i(t)) = \widehat s_i\), or
  • the expected value (i.e., the value of the linear predictor), \(f(s_i(t)) = E(s_i\mid t, \mathbf X, \mathbf b_i, \boldsymbol\theta)\).

The argument assoc_type takes a named vector that specifies per longitudinal covariate whether the underlying value (underl.value; default for continuous variables) or the observed/imputed value (obs.value; default for categorical values) should be used.

Random Effects Variance-Covariance
To take into account potential correlation between multiple time-varying covariates, an association structure between them can be specified explicitly by including the time-varying covariates in each other’s linear predictors in a sequential manner.

In addition, the random effects can be modelled jointly. The structure of the joint variance-covariance matrix of the random effects can be specified using the argument rd_vcov. Options are "full" (unstructured), "blockdiag" (unstructured within-outcome covariance matrices, independence between different outcomes) or "indep" (all random effects are independent).

It is also possible to specify different structures for different longitudinal outcomes and for different hierarchical levels using a list specification (⇨ examples).

Model Formula
Since the joint model consists of multiple sub-model, the formula argument of JM_imp() takes a list of formula objects.

Task 1

Fit a joint model using JM_imp() containing

  • a survival model with covariates Age0, Sex, DM, logFIB4 and logCreatinin
  • a LMM for logFIB4 with covariates Age0, Sex and time and a random intercept for id
  • a LMM for logCreatinin with covariates Age0, Sex and time and a random intercept for id

Also specify the argument timevar and the seed value.

The model “formula” has to be of the form

list(Surv(etime, event) ~ ...,
     logFIB4 ~ ...,
     logCreatinin ~ ...)


You may want to run this model in parallel due to the longer computational time.

Using n.adapt = 100 (the default) and n.iter = 100 took approx. 1 minute on my laptop when running the chains in parallel.

Here we are modelling the two longitudinal outcomes as independent. Modelling them as correlated is more realistic but also more complex and the model takes longer to converge.

Solution 1

mod_jm <- JM_imp(list(Surv(etime, event) ~ Age0 + Sex + DM + logFIB4 + logCreatinin,
                      logFIB4 ~ Age0 + Sex + time + (1 | id),
                      logCreatinin ~ Age0 + Sex + time + (1 | id)),
                 data = datHCV, timevar = "time", n.iter = 100, n.chains = 4,
                 seed = 1234)
traceplot(mod_jm)

Here, I was lucky with my choice of seed value. Using a different seed, the model may not converge (so fast):

mod_jm2 <- JM_imp(list(Surv(etime, event) ~ Age0 + Sex + DM + logFIB4 + logCreatinin,
                       logFIB4 ~ Age0 + Sex + time + (1 | id),
                       logCreatinin ~ Age0 + Sex + time + (1 | id)),
                  data = datHCV, timevar = "time", n.iter = 100, n.chains = 4,
                  seed = 12345)
traceplot(mod_jm2)

When this happens, we need to run the model longer (this took approx. 6.5 min):

mod_jm3 <- update(mod_jm2, n.iter = 1500)
traceplot(mod_jm3)

But some chains may still not have converged. When this is the case, we can use the argument exclude_chains in traceplot(), summary(), … to base the result only on a subset of chains. ⇨ Task 2

Task 2

Exclude the non-converged chain from the traceplot() and summary().

The chains are colored using the base-R color scheme (1 = black, 2 = red, 3 = green, 4 = blue, 5 = cyan, 6 = magenta, 7 = yellow, 8 = grey).

Solution 2

Since in my model mod_jm3 the red chain has not converged, I set exclude_chains = 2:

traceplot(mod_jm3, exclude_chains = 2)

summary(mod_jm3, exclude_chains = 2)
## 
## Bayesian joint model fitted with JointAI 
## 
## Call:
## JM_imp(formula = list(Surv(etime, event) ~ Age0 + Sex + DM + 
##     logFIB4 + logCreatinin, logFIB4 ~ Age0 + Sex + time + (1 | 
##     id), logCreatinin ~ Age0 + Sex + time + (1 | id)), data = datHCV, 
##     n.chains = 4, n.iter = 1500, timevar = "time", seed = 12345)
## 
## 
## # --------------------------------------------------------------------- #
##   Bayesian joint survival and longitudinal model for "Surv(etime, event)"
## # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
## 
## Number of events: 102 
## 
## Posterior summary:
##                 Mean    SD     2.5%   97.5% tail-prob. GR-crit MCE/SD
## Age0          0.0264 0.010  0.00685  0.0464   0.007111    1.01 0.0331
## SexFemale    -0.7437 0.236 -1.20468 -0.2690   0.000889    1.01 0.0281
## DMYes         0.2701 0.294 -0.33139  0.8269   0.348889    1.00 0.0315
## logFIB4       0.8151 0.189  0.45660  1.1913   0.000000    1.03 0.0438
## logCreatinin -0.0661 0.288 -0.61473  0.5009   0.818222    1.01 0.0375
## 
## Association types:
## logFIB4: underlying value
## logCreatinin: underlying value 
## 
## Posterior summary of other parameters:
##                              Mean    SD  2.5%  97.5% tail-prob. GR-crit MCE/SD
## beta_Bh0_Surv_etime_evnt[1] -2.74 0.397 -3.58 -2.025     0.0000    1.00 0.0303
## beta_Bh0_Surv_etime_evnt[2] -4.60 0.521 -5.66 -3.642     0.0000    1.02 0.0456
## beta_Bh0_Surv_etime_evnt[3] -3.36 0.533 -4.43 -2.315     0.0000    1.00 0.0602
## beta_Bh0_Surv_etime_evnt[4] -3.21 0.798 -4.76 -1.703     0.0000    1.00 0.0728
## beta_Bh0_Surv_etime_evnt[5] -2.35 1.042 -4.47 -0.345     0.0249    1.01 0.0593
## beta_Bh0_Surv_etime_evnt[6] -2.44 1.292 -5.33 -0.220     0.0280    1.01 0.0451
## 
## 
## # --------------------------------------------------------------------- #
##   Bayesian linear mixed model for "logFIB4"
## # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
## 
## Posterior summary:
##                Mean      SD    2.5%   97.5% tail-prob. GR-crit MCE/SD
## (Intercept) -1.6209 0.19136 -1.9986 -1.2525      0.000    1.00 0.0190
## Age0         0.0354 0.00414  0.0274  0.0435      0.000    1.00 0.0194
## SexFemale   -0.1201 0.10334 -0.3218  0.0791      0.244    1.00 0.0194
## time         0.0324 0.00313  0.0262  0.0385      0.000    1.02 0.0318
## 
## 
## Posterior summary of random effects covariance matrix:
##                    Mean    SD  2.5% 97.5% tail-prob. GR-crit MCE/SD
## D_logFIB4_id[1,1] 0.501 0.054 0.403 0.616                  1 0.0234
## 
## 
## Posterior summary of residual std. deviation:
##                Mean     SD  2.5% 97.5% GR-crit MCE/SD
## sigma_logFIB4 0.502 0.0136 0.476 0.529       1 0.0227
## 
## 
## # --------------------------------------------------------------------- #
##   Bayesian linear mixed model for "logCreatinin"
## # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
## 
## Posterior summary:
##                  Mean      SD     2.5%   97.5% tail-prob. GR-crit MCE/SD
## (Intercept)  3.890857 0.13878  3.61635 4.16138     0.0000       1 0.0220
## Age0        -0.000458 0.00296 -0.00623 0.00548     0.8658       1 0.0227
## SexFemale   -0.148353 0.07572 -0.29798 0.00192     0.0524       1 0.0233
## time         0.002827 0.00269 -0.00229 0.00835     0.2876       1 0.0299
## 
## 
## Posterior summary of random effects covariance matrix:
##                         Mean     SD  2.5% 97.5% tail-prob. GR-crit MCE/SD
## D_logCreatinin_id[1,1] 0.214 0.0261 0.169  0.27                  1 0.0264
## 
## 
## Posterior summary of residual std. deviation:
##                     Mean     SD  2.5% 97.5% GR-crit MCE/SD
## sigma_logCreatinin 0.385 0.0121 0.362 0.409       1 0.0227
## 
## 
## # ----------------------------------------------------------- #
## 
## MCMC settings:
## Iterations = 101:1600
## Sample size per chain = 1500 
## Thinning interval = 1 
## Number of chains = 3 
## 
## Number of observations: 1235 
## Number of groups:
##  - id: 250

We see that the model summary now contains the summary for each of the sub-models.

Because JointAI can handle multiple substantive models, as in this example, the output of functions like coef() and confint() is a list containing the posterior mean or credible intervals per outcome:

coef(mod_jm3)
## $`Surv(etime, event)`
##                        Age0                   SexFemale                       DMYes 
##                  0.09384852                  0.24218455                  0.82749796 
##                     logFIB4                logCreatinin beta_Bh0_Surv_etime_evnt[1] 
##                  1.03511731                 12.83345102                 -5.02339883 
## beta_Bh0_Surv_etime_evnt[2] beta_Bh0_Surv_etime_evnt[3] beta_Bh0_Surv_etime_evnt[4] 
##                 -6.01478700                 -4.48603220                 -3.23603618 
## beta_Bh0_Surv_etime_evnt[5] beta_Bh0_Surv_etime_evnt[6] 
##                 -1.61506800                 -1.28938036 
## 
## $logFIB4
##       (Intercept)              Age0         SexFemale              time     sigma_logFIB4 
##       -1.61881831        0.03533791       -0.12025791        0.03221043        0.50139191 
## D_logFIB4_id[1,1] 
##        0.50021006 
## 
## $logCreatinin
##            (Intercept)                   Age0              SexFemale                   time 
##            3.924132762           -0.001166844           -0.141208072            0.001842227 
##     sigma_logCreatinin D_logCreatinin_id[1,1] 
##            0.436977672            0.163322373
confint(mod_jm3)
## $`Surv(etime, event)`
##                                     2.5%      97.5%
## Age0                          0.00802998  0.4166747
## SexFemale                    -1.17568543  5.9797545
## DMYes                        -0.32188695  4.2377142
## logFIB4                       0.46165440  2.8651372
## logCreatinin                 -0.58088373 59.9532982
## beta_Bh0_Surv_etime_evnt[1] -16.37384161 -2.0604592
## beta_Bh0_Surv_etime_evnt[2] -14.01749325 -3.6651451
## beta_Bh0_Surv_etime_evnt[3] -12.65251717  0.3738161
## beta_Bh0_Surv_etime_evnt[4] -10.98707978  9.4818555
## beta_Bh0_Surv_etime_evnt[5]  -9.35881450 17.6476499
## beta_Bh0_Surv_etime_evnt[6]  -9.91667310 21.4957340
## 
## $logFIB4
##                          2.5%       97.5%
## (Intercept)       -1.99760788 -1.24768605
## Age0               0.02732946  0.04356921
## SexFemale         -0.32181523  0.07757247
## time               0.02609875  0.03829906
## sigma_logFIB4      0.47570084  0.52821057
## D_logFIB4_id[1,1]  0.40168001  0.61567802
## 
## $logCreatinin
##                                2.5%        97.5%
## (Intercept)             3.638464184  4.213432058
## Age0                   -0.007907179  0.005085288
## SexFemale              -0.287808652 -0.007599437
## time                   -0.013798724  0.008605870
## sigma_logCreatinin      0.363356094  0.625335627
## D_logCreatinin_id[1,1]  0.002797967  0.265529575

This is also the case when we have fitted a simpler model, for example, one of the basic survival models we fitted previously:

coef(surv_wb)
## $`Surv(etime, event)`
##                   (Intercept)                          Age0                     SexFemale 
##                    3.13712881                   -0.03941229                    0.58405100 
##                           BMI               AntiHBcPositive         shape_Surv_etime_evnt 
##                   -0.01541207                   -0.15422876                    1.15931267 
## D_Surv_etime_evnt_center[1,1] 
##                    0.25076255

Initial Values

For complex models it can be helpful to set initial values for the variance parameters (and random effects) to speed up convergence.

Initial values can be specified as

  • a list of initial values per chain or
  • a function returning a list of initial values for one chain.

(⇨ vignette)

For our joint model, we can obtain initial values by first fitting the longitudinal part of the model and taking the last values from the MCMC chains of the variance parameters.

Task 1

Fit the multivariate linear mixed model part of the joint model from before. Check convergence using a traceplot().

Solution 1

init_fit <- lme_imp(list(logFIB4 ~ Age0 + Sex + time + (1 | id),
                         logCreatinin ~ Age0 + Sex + time + (1 | id)),
                    data = datHCV, n.iter = 100, n.chains = 4, seed = 12345)
## 
## Parallel sampling with 4 workers started (2022-07-06 16:55:13).
traceplot(init_fit)

This model is much simpler, and hence the sampling is faster (per iteration) and the model converges faster.

JAGS model object

A fitted JointAI model returns the jags model object under the element model.

  • If the model was run in parallel, model is a list of jags objects that each have one MCMC chain.
  • If the model was run sequentially, model is a jags object with multiple chains.

A jags model object has an element state which is a function that returns a list containing the last state of each node per chain.

For the first MCMC chain we get the following state:

init_fit$model[[1]]$state()
## [[1]]
## [[1]]$M_lvlone
##        [,1] [,2] [,3]
##   [1,]   NA   NA   NA
##   [2,]   NA   NA   NA
##   [3,]   NA    0   NA
##   [4,]   NA   NA   NA
##   [5,]   NA    0   NA
##   [6,]   NA   NA   NA
##   [7,]   NA   NA   NA
##   [8,]   NA   NA   NA
##   [9,]   NA   NA   NA
##  [10,]   NA   NA   NA
##  [11,]   NA    0   NA
##  [12,]   NA    0   NA
##  [13,]   NA    0   NA
##  [14,]   NA   NA   NA
##  [15,]   NA    0   NA
##  [16,]   NA    0   NA
##  [17,]   NA   NA   NA
##  [18,]   NA    0   NA
##  [19,]   NA    0   NA
##  [20,]   NA   NA   NA
##  [21,]   NA    0   NA
##  [22,]    0    0   NA
##  [23,]   NA    0   NA
##  [24,]   NA   NA   NA
##  [25,]   NA    0   NA
##  [26,]   NA   NA   NA
##  [27,]   NA   NA   NA
##  [28,]   NA   NA   NA
##  [29,]   NA   NA   NA
##  [30,]   NA   NA   NA
##  [31,]   NA    0   NA
##  [32,]   NA    0   NA
##  [33,]   NA   NA   NA
##  [34,]   NA   NA   NA
##  [35,]   NA    0   NA
##  [36,]   NA   NA   NA
##  [37,]   NA   NA   NA
##  [38,]   NA   NA   NA
##  [39,]   NA   NA   NA
##  [40,]   NA   NA   NA
##  [41,]   NA   NA   NA
##  [42,]   NA   NA   NA
##  [43,]   NA   NA   NA
##  [44,]   NA   NA   NA
##  [45,]   NA   NA   NA
##  [46,]   NA   NA   NA
##  [47,]   NA   NA   NA
##  [48,]   NA   NA   NA
##  [49,]   NA   NA   NA
##  [50,]   NA   NA   NA
##  [51,]   NA   NA   NA
##  [52,]   NA    0   NA
##  [53,]   NA   NA   NA
##  [54,]   NA   NA   NA
##  [55,]   NA    0   NA
##  [56,]   NA   NA   NA
##  [57,]   NA   NA   NA
##  [58,]   NA   NA   NA
##  [59,]   NA    0   NA
##  [60,]   NA   NA   NA
##  [61,]   NA   NA   NA
##  [62,]   NA   NA   NA
##  [63,]   NA   NA   NA
##  [64,]   NA   NA   NA
##  [65,]   NA   NA   NA
##  [66,]   NA    0   NA
##  [67,]   NA    0   NA
##  [68,]   NA   NA   NA
##  [69,]   NA    0   NA
##  [70,]   NA    0   NA
##  [71,]   NA   NA   NA
##  [72,]   NA   NA   NA
##  [73,]   NA   NA   NA
##  [74,]   NA   NA   NA
##  [75,]   NA   NA   NA
##  [76,]   NA   NA   NA
##  [77,]   NA   NA   NA
##  [78,]   NA   NA   NA
##  [79,]    0   NA   NA
##  [80,]    0   NA   NA
##  [81,]   NA    0   NA
##  [82,]   NA   NA   NA
##  [83,]   NA    0   NA
##  [84,]   NA   NA   NA
##  [85,]    0    0   NA
##  [86,]   NA    0   NA
##  [87,]   NA    0   NA
##  [88,]   NA   NA   NA
##  [89,]   NA    0   NA
##  [90,]   NA    0   NA
##  [91,]   NA    0   NA
##  [92,]    0    0   NA
##  [93,]   NA    0   NA
##  [94,]   NA   NA   NA
##  [95,]   NA   NA   NA
##  [96,]   NA   NA   NA
##  [97,]   NA   NA   NA
##  [98,]   NA   NA   NA
##  [99,]   NA   NA   NA
## [100,]   NA   NA   NA
## [101,]   NA   NA   NA
## [102,]   NA   NA   NA
## [103,]   NA   NA   NA
## [104,]   NA    0   NA
## [105,]   NA   NA   NA
## [106,]   NA   NA   NA
## [107,]   NA   NA   NA
## [108,]   NA    0   NA
## [109,]   NA    0   NA
## [110,]   NA   NA   NA
## [111,]   NA   NA   NA
## [112,]   NA   NA   NA
## [113,]   NA   NA   NA
## [114,]   NA   NA   NA
## [115,]   NA   NA   NA
## [116,]    0   NA   NA
## [117,]   NA   NA   NA
## [118,]   NA   NA   NA
## [119,]   NA    0   NA
## [120,]   NA    0   NA
## [121,]   NA    0   NA
## [122,]   NA    0   NA
## [123,]   NA    0   NA
## [124,]   NA    0   NA
## [125,]   NA   NA   NA
## [126,]   NA   NA   NA
## [127,]   NA   NA   NA
## [128,]   NA   NA   NA
## [129,]   NA   NA   NA
## [130,]   NA    0   NA
## [131,]   NA   NA   NA
## [132,]   NA   NA   NA
## [133,]    0    0   NA
## [134,]   NA   NA   NA
## [135,]   NA   NA   NA
## [136,]   NA   NA   NA
## [137,]   NA   NA   NA
## [138,]   NA   NA   NA
## [139,]   NA   NA   NA
## [140,]   NA   NA   NA
## [141,]   NA   NA   NA
## [142,]   NA   NA   NA
## [143,]   NA   NA   NA
## [144,]   NA    0   NA
## [145,]   NA   NA   NA
## [146,]   NA    0   NA
## [147,]   NA   NA   NA
## [148,]   NA    0   NA
## [149,]   NA   NA   NA
## [150,]   NA   NA   NA
## [151,]   NA    0   NA
## [152,]   NA    0   NA
## [153,]   NA    0   NA
## [154,]   NA   NA   NA
## [155,]   NA   NA   NA
## [156,]   NA   NA   NA
## [157,]   NA   NA   NA
## [158,]   NA   NA   NA
## [159,]   NA   NA   NA
## [160,]   NA   NA   NA
## [161,]   NA   NA   NA
## [162,]   NA   NA   NA
## [163,]   NA   NA   NA
## [164,]   NA    0   NA
## [165,]   NA   NA   NA
## [166,]   NA   NA   NA
## [167,]   NA   NA   NA
## [168,]   NA   NA   NA
## [169,]   NA   NA   NA
## [170,]   NA   NA   NA
## [171,]   NA   NA   NA
## [172,]   NA    0   NA
## [173,]   NA    0   NA
## [174,]   NA   NA   NA
## [175,]   NA   NA   NA
## [176,]    0    0   NA
## [177,]   NA    0   NA
## [178,]   NA   NA   NA
## [179,]   NA   NA   NA
## [180,]   NA   NA   NA
## [181,]   NA   NA   NA
## [182,]   NA   NA   NA
## [183,]   NA   NA   NA
## [184,]   NA   NA   NA
## [185,]   NA   NA   NA
## [186,]   NA    0   NA
## [187,]   NA   NA   NA
## [188,]   NA    0   NA
## [189,]   NA    0   NA
## [190,]   NA    0   NA
## [191,]   NA    0   NA
## [192,]   NA   NA   NA
## [193,]   NA   NA   NA
## [194,]   NA    0   NA
## [195,]    0    0   NA
## [196,]   NA    0   NA
## [197,]   NA    0   NA
## [198,]   NA   NA   NA
## [199,]   NA   NA   NA
## [200,]   NA   NA   NA
## [201,]   NA   NA   NA
## [202,]   NA   NA   NA
## [203,]   NA   NA   NA
## [204,]   NA   NA   NA
## [205,]   NA   NA   NA
## [206,]   NA   NA   NA
## [207,]   NA   NA   NA
## [208,]   NA   NA   NA
## [209,]   NA   NA   NA
## [210,]   NA    0   NA
## [211,]   NA   NA   NA
## [212,]   NA   NA   NA
## [213,]   NA   NA   NA
## [214,]   NA   NA   NA
## [215,]   NA    0   NA
## [216,]   NA   NA   NA
## [217,]    0   NA   NA
## [218,]   NA   NA   NA
## [219,]   NA    0   NA
## [220,]   NA   NA   NA
## [221,]   NA   NA   NA
## [222,]   NA    0   NA
## [223,]   NA   NA   NA
## [224,]   NA   NA   NA
## [225,]   NA   NA   NA
## [226,]   NA   NA   NA
## [227,]    0   NA   NA
## [228,]   NA    0   NA
## [229,]   NA   NA   NA
## [230,]   NA   NA   NA
## [231,]   NA   NA   NA
## [232,]   NA    0   NA
## [233,]   NA    0   NA
## [234,]   NA   NA   NA
## [235,]   NA   NA   NA
## [236,]    0   NA   NA
## [237,]    0   NA   NA
## [238,]   NA    0   NA
## [239,]   NA   NA   NA
## [240,]   NA   NA   NA
## [241,]   NA   NA   NA
## [242,]   NA   NA   NA
## [243,]   NA   NA   NA
## [244,]   NA   NA   NA
## [245,]   NA   NA   NA
## [246,]   NA   NA   NA
## [247,]   NA    0   NA
## [248,]   NA   NA   NA
## [249,]   NA   NA   NA
## [250,]   NA    0   NA
## [251,]   NA   NA   NA
## [252,]   NA   NA   NA
## [253,]   NA    0   NA
## [254,]   NA   NA   NA
## [255,]   NA   NA   NA
## [256,]   NA   NA   NA
## [257,]   NA   NA   NA
## [258,]   NA   NA   NA
## [259,]   NA   NA   NA
## [260,]   NA   NA   NA
## [261,]   NA   NA   NA
## [262,]   NA   NA   NA
## [263,]   NA   NA   NA
## [264,]   NA   NA   NA
## [265,]   NA    0   NA
## [266,]   NA    0   NA
## [267,]   NA    0   NA
## [268,]   NA   NA   NA
## [269,]   NA   NA   NA
## [270,]   NA   NA   NA
## [271,]   NA   NA   NA
## [272,]   NA   NA   NA
## [273,]   NA   NA   NA
## [274,]   NA   NA   NA
## [275,]   NA   NA   NA
## [276,]   NA   NA   NA
## [277,]   NA   NA   NA
## [278,]   NA   NA   NA
## [279,]   NA    0   NA
## [280,]   NA   NA   NA
## [281,]   NA   NA   NA
## [282,]   NA    0   NA
## [283,]   NA   NA   NA
## [284,]   NA   NA   NA
## [285,]   NA   NA   NA
## [286,]   NA   NA   NA
## [287,]   NA   NA   NA
## [288,]   NA   NA   NA
## [289,]   NA   NA   NA
## [290,]   NA   NA   NA
## [291,]   NA    0   NA
## [292,]   NA   NA   NA
## [293,]   NA   NA   NA
## [294,]   NA    0   NA
## [295,]   NA    0   NA
## [296,]   NA   NA   NA
## [297,]   NA   NA   NA
## [298,]   NA    0   NA
## [299,]   NA   NA   NA
## [300,]   NA   NA   NA
## [301,]   NA   NA   NA
## [302,]   NA   NA   NA
## [303,]   NA   NA   NA
## [304,]   NA    0   NA
## [305,]   NA    0   NA
## [306,]   NA    0   NA
## [307,]   NA   NA   NA
## [308,]   NA   NA   NA
## [309,]   NA    0   NA
## [310,]   NA   NA   NA
## [311,]   NA   NA   NA
## [312,]   NA    0   NA
## [313,]   NA   NA   NA
## [314,]   NA   NA   NA
## [315,]   NA   NA   NA
## [316,]   NA   NA   NA
## [317,]   NA   NA   NA
## [318,]   NA   NA   NA
## [319,]   NA   NA   NA
## [320,]   NA   NA   NA
## [321,]   NA   NA   NA
## [322,]    0    0   NA
## [323,]   NA   NA   NA
## [324,]   NA   NA   NA
## [325,]   NA   NA   NA
## [326,]   NA   NA   NA
## [327,]    0   NA   NA
## [328,]   NA   NA   NA
## [329,]   NA   NA   NA
## [330,]   NA   NA   NA
## [331,]   NA   NA   NA
## [332,]   NA   NA   NA
## [333,]   NA   NA   NA
## [334,]   NA   NA   NA
## [335,]   NA   NA   NA
## [336,]   NA   NA   NA
## [337,]   NA   NA   NA
## [338,]   NA   NA   NA
## [339,]   NA   NA   NA
## [340,]   NA   NA   NA
## [341,]   NA   NA   NA
## [342,]   NA   NA   NA
## [343,]   NA   NA   NA
## [344,]   NA   NA   NA
## [345,]   NA   NA   NA
## [346,]   NA   NA   NA
## [347,]   NA   NA   NA
## [348,]   NA    0   NA
## [349,]   NA    0   NA
## [350,]   NA   NA   NA
## [351,]   NA   NA   NA
## [352,]   NA   NA   NA
## [353,]   NA   NA   NA
## [354,]   NA   NA   NA
## [355,]   NA   NA   NA
## [356,]   NA   NA   NA
## [357,]   NA   NA   NA
## [358,]   NA   NA   NA
## [359,]   NA   NA   NA
## [360,]   NA   NA   NA
## [361,]   NA   NA   NA
## [362,]   NA   NA   NA
## [363,]   NA   NA   NA
## [364,]   NA   NA   NA
## [365,]   NA   NA   NA
## [366,]   NA   NA   NA
## [367,]   NA   NA   NA
## [368,]   NA   NA   NA
## [369,]   NA   NA   NA
## [370,]   NA    0   NA
## [371,]   NA   NA   NA
## [372,]   NA   NA   NA
## [373,]   NA   NA   NA
## [374,]   NA   NA   NA
## [375,]   NA   NA   NA
## [376,]   NA   NA   NA
## [377,]   NA   NA   NA
## [378,]   NA   NA   NA
## [379,]   NA   NA   NA
## [380,]   NA   NA   NA
## [381,]   NA    0   NA
## [382,]   NA   NA   NA
## [383,]   NA   NA   NA
## [384,]   NA   NA   NA
## [385,]   NA   NA   NA
## [386,]   NA   NA   NA
## [387,]   NA   NA   NA
## [388,]   NA   NA   NA
## [389,]   NA   NA   NA
## [390,]   NA   NA   NA
## [391,]   NA   NA   NA
## [392,]   NA   NA   NA
## [393,]   NA   NA   NA
## [394,]   NA   NA   NA
## [395,]   NA   NA   NA
## [396,]   NA   NA   NA
## [397,]   NA   NA   NA
## [398,]   NA   NA   NA
## [399,]   NA   NA   NA
## [400,]   NA   NA   NA
## [401,]   NA    0   NA
## [402,]   NA    0   NA
## [403,]   NA    0   NA
## [404,]   NA    0   NA
## [405,]   NA   NA   NA
## [406,]   NA   NA   NA
## [407,]   NA   NA   NA
## [408,]   NA   NA   NA
## [409,]   NA   NA   NA
## [410,]   NA    0   NA
## [411,]   NA   NA   NA
## [412,]   NA   NA   NA
## [413,]   NA   NA   NA
## [414,]   NA   NA   NA
## [415,]   NA   NA   NA
## [416,]   NA   NA   NA
## [417,]   NA    0   NA
## [418,]   NA   NA   NA
## [419,]   NA   NA   NA
## [420,]   NA   NA   NA
## [421,]   NA   NA   NA
## [422,]   NA   NA   NA
## [423,]   NA   NA   NA
## [424,]   NA   NA   NA
## [425,]   NA   NA   NA
## [426,]   NA   NA   NA
## [427,]   NA   NA   NA
## [428,]   NA   NA   NA
## [429,]   NA    0   NA
## [430,]   NA    0   NA
## [431,]   NA   NA   NA
## [432,]   NA   NA   NA
## [433,]   NA   NA   NA
## [434,]   NA   NA   NA
## [435,]   NA   NA   NA
## [436,]   NA    0   NA
## [437,]   NA   NA   NA
## [438,]   NA   NA   NA
## [439,]   NA   NA   NA
## [440,]   NA   NA   NA
## [441,]   NA   NA   NA
## [442,]   NA   NA   NA
## [443,]   NA    0   NA
## [444,]   NA    0   NA
## [445,]   NA    0   NA
## [446,]   NA    0   NA
## [447,]    0    0   NA
## [448,]   NA   NA   NA
## [449,]   NA   NA   NA
## [450,]   NA   NA   NA
## [451,]   NA   NA   NA
## [452,]   NA   NA   NA
## [453,]   NA   NA   NA
## [454,]   NA   NA   NA
## [455,]   NA   NA   NA
## [456,]   NA   NA   NA
## [457,]   NA   NA   NA
## [458,]   NA   NA   NA
## [459,]   NA   NA   NA
## [460,]   NA   NA   NA
## [461,]   NA   NA   NA
## [462,]   NA   NA   NA
## [463,]    0    0   NA
## [464,]   NA    0   NA
## [465,]   NA   NA   NA
## [466,]   NA   NA   NA
## [467,]   NA   NA   NA
## [468,]   NA    0   NA
## [469,]   NA   NA   NA
## [470,]   NA   NA   NA
## [471,]   NA   NA   NA
## [472,]   NA   NA   NA
## [473,]   NA   NA   NA
## [474,]   NA   NA   NA
## [475,]   NA   NA   NA
## [476,]   NA   NA   NA
## [477,]   NA   NA   NA
## [478,]   NA   NA   NA
## [479,]   NA    0   NA
## [480,]   NA    0   NA
## [481,]   NA   NA   NA
## [482,]   NA    0   NA
## [483,]   NA    0   NA
## [484,]    0   NA   NA
## [485,]   NA    0   NA
## [486,]   NA   NA   NA
## [487,]    0    0   NA
## [488,]   NA   NA   NA
## [489,]   NA    0   NA
## [490,]   NA   NA   NA
## [491,]   NA   NA   NA
## [492,]   NA    0   NA
## [493,]   NA    0   NA
## [494,]   NA   NA   NA
## [495,]   NA    0   NA
## [496,]   NA   NA   NA
## [497,]   NA   NA   NA
## [498,]   NA    0   NA
## [499,]   NA   NA   NA
## [500,]   NA   NA   NA
## [501,]   NA   NA   NA
## [502,]   NA    0   NA
## [503,]   NA   NA   NA
## [504,]   NA   NA   NA
## [505,]   NA   NA   NA
## [506,]   NA   NA   NA
## [507,]   NA   NA   NA
## [508,]   NA   NA   NA
## [509,]   NA   NA   NA
## [510,]   NA   NA   NA
## [511,]   NA    0   NA
## [512,]   NA   NA   NA
## [513,]   NA   NA   NA
## [514,]   NA   NA   NA
## [515,]   NA   NA   NA
## [516,]   NA   NA   NA
## [517,]   NA   NA   NA
## [518,]   NA   NA   NA
## [519,]   NA   NA   NA
## [520,]   NA   NA   NA
## [521,]   NA   NA   NA
## [522,]   NA   NA   NA
## [523,]   NA   NA   NA
## [524,]   NA    0   NA
## [525,]   NA    0   NA
## [526,]   NA   NA   NA
## [527,]   NA   NA   NA
## [528,]   NA   NA   NA
## [529,]   NA   NA   NA
## [530,]   NA   NA   NA
## [531,]   NA    0   NA
## [532,]   NA   NA   NA
## [533,]   NA   NA   NA
## [534,]   NA   NA   NA
## [535,]   NA   NA   NA
## [536,]   NA   NA   NA
## [537,]   NA    0   NA
## [538,]   NA   NA   NA
## [539,]   NA   NA   NA
## [540,]   NA    0   NA
## [541,]   NA   NA   NA
## [542,]   NA   NA   NA
## [543,]   NA   NA   NA
## [544,]   NA   NA   NA
## [545,]   NA   NA   NA
## [546,]   NA   NA   NA
## [547,]   NA   NA   NA
## [548,]    0   NA   NA
## [549,]   NA   NA   NA
## [550,]    0   NA   NA
## [551,]   NA   NA   NA
## [552,]   NA   NA   NA
## [553,]   NA   NA   NA
## [554,]   NA    0   NA
## [555,]   NA    0   NA
## [556,]   NA    0   NA
## [557,]   NA   NA   NA
## [558,]   NA   NA   NA
## [559,]   NA   NA   NA
## [560,]   NA   NA   NA
## [561,]   NA   NA   NA
## [562,]   NA    0   NA
## [563,]   NA    0   NA
## [564,]   NA    0   NA
## [565,]   NA    0   NA
## [566,]   NA   NA   NA
## [567,]   NA   NA   NA
## [568,]   NA    0   NA
## [569,]   NA   NA   NA
## [570,]    0   NA   NA
## [571,]   NA    0   NA
## [572,]   NA   NA   NA
## [573,]   NA    0   NA
## [574,]   NA    0   NA
## [575,]   NA    0   NA
## [576,]   NA    0   NA
## [577,]   NA   NA   NA
## [578,]   NA   NA   NA
## [579,]   NA   NA   NA
## [580,]   NA    0   NA
## [581,]   NA   NA   NA
## [582,]   NA    0   NA
## [583,]   NA   NA   NA
## [584,]   NA    0   NA
## [585,]   NA   NA   NA
## [586,]   NA    0   NA
## [587,]   NA    0   NA
## [588,]    0    0   NA
## [589,]   NA    0   NA
## [590,]   NA   NA   NA
## [591,]   NA   NA   NA
## [592,]   NA   NA   NA
## [593,]   NA   NA   NA
## [594,]   NA   NA   NA
## [595,]   NA   NA   NA
## [596,]   NA   NA   NA
## [597,]   NA   NA   NA
## [598,]   NA    0   NA
## [599,]   NA   NA   NA
## [600,]   NA   NA   NA
## [601,]   NA    0   NA
## [602,]   NA   NA   NA
## [603,]   NA   NA   NA
## [604,]   NA   NA   NA
## [605,]   NA   NA   NA
## [606,]   NA    0   NA
## [607,]   NA   NA   NA
## [608,]   NA   NA   NA
## [609,]   NA   NA   NA
## [610,]   NA   NA   NA
## [611,]   NA   NA   NA
## [612,]   NA    0   NA
## [613,]   NA   NA   NA
## [614,]   NA   NA   NA
## [615,]   NA   NA   NA
## [616,]   NA    0   NA
## [617,]   NA   NA   NA
## [618,]   NA   NA   NA
## [619,]   NA   NA   NA
## [620,]   NA   NA   NA
## [621,]   NA   NA   NA
## [622,]   NA    0   NA
## [623,]   NA    0   NA
## [624,]   NA   NA   NA
## [625,]   NA    0   NA
## [626,]   NA    0   NA
## [627,]   NA   NA   NA
## [628,]   NA   NA   NA
## [629,]   NA   NA   NA
## [630,]   NA   NA   NA
## [631,]   NA   NA   NA
## [632,]   NA   NA   NA
## [633,]   NA   NA   NA
## [634,]   NA   NA   NA
## [635,]   NA   NA   NA
## [636,]   NA   NA   NA
## [637,]   NA   NA   NA
## [638,]   NA    0   NA
## [639,]   NA    0   NA
## [640,]    0   NA   NA
## [641,]   NA   NA   NA
## [642,]   NA    0   NA
## [643,]   NA   NA   NA
## [644,]    0    0   NA
## [645,]   NA   NA   NA
## [646,]   NA   NA   NA
## [647,]   NA   NA   NA
## [648,]   NA   NA   NA
## [649,]   NA    0   NA
## [650,]   NA   NA   NA
## [651,]   NA    0   NA
## [652,]   NA   NA   NA
## [653,]   NA   NA   NA
## [654,]   NA   NA   NA
## [655,]   NA   NA   NA
## [656,]   NA    0   NA
## [657,]   NA    0   NA
## [658,]   NA   NA   NA
## [659,]   NA   NA   NA
## [660,]   NA   NA   NA
## [661,]   NA   NA   NA
## [662,]   NA   NA   NA
## [663,]   NA   NA   NA
## [664,]    0    0   NA
## [665,]   NA   NA   NA
## [666,]   NA    0   NA
## [667,]   NA   NA   NA
## [668,]   NA    0   NA
## [669,]   NA    0   NA
## [670,]   NA   NA   NA
## [671,]   NA   NA   NA
## [672,]   NA   NA   NA
## [673,]   NA    0   NA
## [674,]   NA    0   NA
## [675,]   NA   NA   NA
## [676,]   NA   NA   NA
## [677,]   NA   NA   NA
## [678,]   NA   NA   NA
## [679,]   NA    0   NA
## [680,]   NA    0   NA
## [681,]   NA   NA   NA
## [682,]   NA   NA   NA
## [683,]   NA   NA   NA
## [684,]    0    0   NA
## [685,]   NA    0   NA
## [686,]   NA    0   NA
## [687,]   NA    0   NA
## [688,]   NA   NA   NA
## [689,]   NA    0   NA
## [690,]   NA    0   NA
## [691,]   NA   NA   NA
## [692,]   NA   NA   NA
## [693,]   NA   NA   NA
## [694,]   NA   NA   NA
## [695,]   NA   NA   NA
## [696,]   NA   NA   NA
## [697,]   NA   NA   NA
## [698,]   NA   NA   NA
## [699,]   NA   NA   NA
## [700,]   NA   NA   NA
## [701,]   NA   NA   NA
## [702,]   NA   NA   NA
## [703,]   NA   NA   NA
## [704,]   NA   NA   NA
## [705,]   NA   NA   NA
## [706,]   NA   NA   NA
## [707,]   NA    0   NA
## [708,]   NA    0   NA
## [709,]   NA   NA   NA
## [710,]   NA    0   NA
## [711,]   NA   NA   NA
## [712,]   NA    0   NA
## [713,]    0   NA   NA
## [714,]   NA    0   NA
## [715,]   NA    0   NA
## [716,]   NA    0   NA
## [717,]   NA   NA   NA
## [718,]   NA    0   NA
## [719,]   NA   NA   NA
## [720,]   NA   NA   NA
## [721,]   NA    0   NA
## [722,]   NA   NA   NA
## [723,]   NA   NA   NA
## [724,]   NA   NA   NA
## [725,]   NA   NA   NA
## [726,]   NA   NA   NA
## [727,]   NA   NA   NA
## [728,]   NA   NA   NA
## [729,]   NA    0   NA
## [730,]   NA    0   NA
## [731,]   NA   NA   NA
## [732,]   NA   NA   NA
## [733,]   NA   NA   NA
## [734,]   NA    0   NA
## [735,]   NA   NA   NA
## [736,]   NA   NA   NA
## [737,]   NA   NA   NA
## [738,]   NA   NA   NA
## [739,]   NA   NA   NA
## [740,]   NA    0   NA
## [741,]   NA    0   NA
## [742,]   NA    0   NA
## [743,]   NA    0   NA
## [744,]   NA    0   NA
## [745,]   NA    0   NA
## [746,]   NA   NA   NA
## [747,]   NA    0   NA
## [748,]   NA   NA   NA
## [749,]   NA   NA   NA
## [750,]   NA   NA   NA
## [751,]   NA    0   NA
## [752,]   NA   NA   NA
## [753,]   NA   NA   NA
## [754,]   NA   NA   NA
## [755,]   NA   NA   NA
## [756,]   NA   NA   NA
## [757,]   NA   NA   NA
## [758,]   NA    0   NA
## [759,]   NA   NA   NA
## [760,]   NA    0   NA
## [761,]   NA   NA   NA
## [762,]   NA   NA   NA
## [763,]   NA   NA   NA
## [764,]   NA   NA   NA
## [765,]   NA   NA   NA
## [766,]   NA   NA   NA
## [767,]   NA   NA   NA
## [768,]   NA    0   NA
## [769,]   NA   NA   NA
## [770,]   NA   NA   NA
## [771,]   NA   NA   NA
## [772,]   NA   NA   NA
## [773,]   NA   NA   NA
## [774,]   NA   NA   NA
## [775,]   NA   NA   NA
## [776,]   NA   NA   NA
## [777,]   NA   NA   NA
## [778,]   NA    0   NA
## [779,]   NA   NA   NA
## [780,]   NA   NA   NA
## [781,]   NA   NA   NA
## [782,]   NA   NA   NA
## [783,]   NA   NA   NA
## [784,]   NA   NA   NA
## [785,]   NA   NA   NA
## [786,]   NA   NA   NA
## [787,]   NA    0   NA
## [788,]   NA    0   NA
## [789,]   NA    0   NA
## [790,]   NA    0   NA
## [791,]   NA    0   NA
## [792,]   NA    0   NA
## [793,]   NA   NA   NA
## [794,]   NA   NA   NA
## [795,]   NA   NA   NA
## [796,]   NA   NA   NA
## [797,]   NA   NA   NA
## [798,]   NA   NA   NA
## [799,]   NA    0   NA
## [800,]    0   NA   NA
## [801,]   NA   NA   NA
## [802,]   NA    0   NA
## [803,]   NA    0   NA
## [804,]   NA    0   NA
## [805,]   NA    0   NA
## [806,]   NA    0   NA
## [807,]   NA   NA   NA
## [808,]   NA   NA   NA
## [809,]   NA   NA   NA
## [810,]    0    0   NA
## [811,]    0    0   NA
## [812,]   NA    0   NA
## [813,]    0    0   NA
## [814,]   NA    0   NA
## [815,]   NA   NA   NA
## [816,]   NA   NA   NA
## [817,]   NA   NA   NA
## [818,]   NA   NA   NA
## [819,]   NA   NA   NA
## [820,]   NA   NA   NA
## [821,]   NA    0   NA
## [822,]   NA   NA   NA
## [823,]   NA   NA   NA
## [824,]   NA   NA   NA
## [825,]   NA   NA   NA
## [826,]   NA    0   NA
## [827,]   NA    0   NA
## [828,]    0    0   NA
## [829,]   NA   NA   NA
## [830,]   NA   NA   NA
## [831,]   NA    0   NA
## [832,]   NA   NA   NA
## [833,]   NA   NA   NA
## [834,]   NA   NA   NA
## [835,]   NA   NA   NA
## [836,]   NA   NA   NA
## [837,]   NA   NA   NA
## [838,]   NA    0   NA
## [839,]   NA   NA   NA
## [840,]   NA   NA   NA
## [841,]   NA    0   NA
## [842,]   NA    0   NA
## [843,]   NA    0   NA
## [844,]   NA   NA   NA
## [845,]   NA   NA   NA
## [846,]   NA   NA   NA
## [847,]   NA    0   NA
## [848,]    0    0   NA
## [849,]   NA   NA   NA
## [850,]   NA   NA   NA
## [851,]   NA   NA   NA
## [852,]   NA   NA   NA
## [853,]   NA   NA   NA
## [854,]   NA   NA   NA
## [855,]   NA   NA   NA
## [856,]   NA   NA   NA
## [857,]   NA   NA   NA
## [858,]   NA   NA   NA
## [859,]   NA   NA   NA
## [860,]   NA   NA   NA
## [861,]   NA   NA   NA
## [862,]   NA   NA   NA
## [863,]   NA   NA   NA
## [864,]   NA   NA   NA
## [865,]   NA    0   NA
## [866,]   NA   NA   NA
## [867,]   NA   NA   NA
## [868,]   NA   NA   NA
## [869,]   NA   NA   NA
## [870,]   NA    0   NA
## [871,]   NA   NA   NA
## [872,]   NA   NA   NA
## [873,]   NA   NA   NA
## [874,]   NA   NA   NA
## [875,]   NA    0   NA
## [876,]   NA    0   NA
## [877,]   NA   NA   NA
## [878,]   NA   NA   NA
## [879,]   NA   NA   NA
## [880,]   NA   NA   NA
## [881,]   NA   NA   NA
## [882,]   NA   NA   NA
## [883,]   NA   NA   NA
## [884,]   NA    0   NA
## [885,]   NA   NA   NA
## [886,]   NA   NA   NA
## [887,]   NA    0   NA
## [888,]   NA   NA   NA
## [889,]   NA   NA   NA
## [890,]   NA   NA   NA
## [891,]   NA   NA   NA
## [892,]   NA   NA   NA
## [893,]   NA   NA   NA
## [894,]   NA   NA   NA
## [895,]   NA   NA   NA
## [896,]   NA    0   NA
## [897,]   NA   NA   NA
## [898,]   NA   NA   NA
## [899,]   NA   NA   NA
## [900,]   NA   NA   NA
## [901,]   NA   NA   NA
## [902,]   NA   NA   NA
## [903,]   NA   NA   NA
## [904,]   NA   NA   NA
## [905,]   NA   NA   NA
## [906,]   NA   NA   NA
## [907,]   NA    0   NA
## [908,]   NA    0   NA
## [909,]    0   NA   NA
## [910,]    0   NA   NA
## [911,]   NA   NA   NA
## [912,]   NA   NA   NA
## [913,]   NA    0   NA
## [914,]   NA    0   NA
## [915,]   NA    0   NA
## [916,]   NA    0   NA
## [917,]   NA   NA   NA
## [918,]   NA    0   NA
## [919,]   NA    0   NA
## [920,]   NA    0   NA
## [921,]   NA   NA   NA
## [922,]   NA   NA   NA
## [923,]   NA   NA   NA
## [924,]   NA   NA   NA
## [925,]   NA   NA   NA
## [926,]   NA   NA   NA
## [927,]   NA   NA   NA
## [928,]   NA   NA   NA
## [929,]   NA   NA   NA
## [930,]   NA    0   NA
## [931,]   NA   NA   NA
## [932,]   NA   NA   NA
## [933,]   NA   NA   NA
## [934,]   NA   NA   NA
## [935,]   NA   NA   NA
## [936,]   NA   NA   NA
## [937,]   NA    0   NA
## [938,]   NA    0   NA
## [939,]   NA    0   NA
## [940,]    0    0   NA
## [941,]   NA   NA   NA
## [942,]   NA   NA   NA
## [943,]   NA   NA   NA
## [944,]   NA   NA   NA
## [945,]   NA   NA   NA
## [946,]   NA   NA   NA
## [947,]   NA   NA   NA
## [948,]   NA   NA   NA
## [949,]   NA   NA   NA
## [950,]   NA   NA   NA
## [951,]   NA    0   NA
## [952,]   NA   NA   NA
## [953,]   NA    0   NA
## [954,]   NA    0   NA
## [955,]   NA   NA   NA
## [956,]   NA    0   NA
## [957,]   NA    0   NA
## [958,]   NA   NA   NA
## [959,]   NA   NA   NA
## [960,]   NA   NA   NA
## [961,]   NA   NA   NA
## [962,]   NA   NA   NA
## [963,]   NA   NA   NA
## [964,]   NA   NA   NA
## [965,]   NA   NA   NA
## [966,]   NA    0   NA
## [967,]   NA    0   NA
## [968,]   NA   NA   NA
## [969,]   NA    0   NA
## [970,]   NA   NA   NA
## [971,]   NA   NA   NA
## [972,]   NA   NA   NA
## [973,]   NA    0   NA
## [974,]   NA   NA   NA
## [975,]   NA   NA   NA
## [976,]   NA   NA   NA
## [977,]   NA   NA   NA
## [978,]   NA   NA   NA
## [979,]   NA   NA   NA
## [980,]   NA   NA   NA
## [981,]   NA   NA   NA
## [982,]   NA   NA   NA
## [983,]   NA   NA   NA
## [984,]   NA    0   NA
## [985,]   NA   NA   NA
## 
## [[1]]$b_logCreatinin_id
##            [,1]
##   [1,] 4.157655
##   [2,] 3.756993
##   [3,] 4.096802
##   [4,] 2.803422
##   [5,] 0.000000
##   [6,] 3.677285
##   [7,] 3.330980
##   [8,] 3.766331
##   [9,] 4.285797
##  [10,] 4.352843
##  [11,] 4.227394
##  [12,] 3.757622
##  [13,] 0.000000
##  [14,] 4.577425
##  [15,] 3.789398
##  [16,] 3.929888
##  [17,] 3.806938
##  [18,] 3.783068
##  [19,] 4.267488
##  [20,] 2.656125
##  [21,] 3.368514
##  [22,] 3.891178
##  [23,] 4.292632
##  [24,] 0.000000
##  [25,] 3.949311
##  [26,] 3.394882
##  [27,] 3.327698
##  [28,] 0.000000
##  [29,] 0.000000
##  [30,] 4.134302
##  [31,] 3.948410
##  [32,] 0.000000
##  [33,] 3.687106
##  [34,] 3.337484
##  [35,] 3.757163
##  [36,] 4.370419
##  [37,] 4.225702
##  [38,] 3.711720
##  [39,] 2.912464
##  [40,] 0.000000
##  [41,] 4.174465
##  [42,] 3.913026
##  [43,] 4.368054
##  [44,] 4.110200
##  [45,] 3.336012
##  [46,] 0.000000
##  [47,] 3.246828
##  [48,] 3.311367
##  [49,] 4.485194
##  [50,] 4.204284
##  [51,] 2.397472
##  [52,] 0.000000
##  [53,] 0.000000
##  [54,] 0.000000
##  [55,] 3.606351
##  [56,] 3.773556
##  [57,] 4.372941
##  [58,] 3.715923
##  [59,] 3.602224
##  [60,] 2.785345
##  [61,] 3.257948
##  [62,] 4.318213
##  [63,] 3.990932
##  [64,] 3.565829
##  [65,] 4.178005
##  [66,] 3.871047
##  [67,] 0.000000
##  [68,] 3.178785
##  [69,] 4.287049
##  [70,] 3.987768
##  [71,] 3.757605
##  [72,] 0.000000
##  [73,] 3.824312
##  [74,] 3.822263
##  [75,] 3.546030
##  [76,] 4.534568
##  [77,] 3.558813
##  [78,] 4.917712
##  [79,] 4.091044
##  [80,] 3.839251
##  [81,] 4.604060
##  [82,] 4.390270
##  [83,] 3.635131
##  [84,] 4.309214
##  [85,] 4.301364
##  [86,] 4.045368
##  [87,] 0.000000
##  [88,] 4.217710
##  [89,] 3.489460
##  [90,] 3.704205
##  [91,] 3.883992
##  [92,] 4.818995
##  [93,] 3.661944
##  [94,] 4.120578
##  [95,] 4.038861
##  [96,] 3.716300
##  [97,] 3.861942
##  [98,] 3.515719
##  [99,] 4.066768
## [100,] 4.052417
## [101,] 4.380587
## [102,] 4.050050
## [103,] 3.778058
## [104,] 3.541196
## [105,] 3.774159
## [106,] 5.009614
## [107,] 3.535350
## [108,] 3.119778
## [109,] 4.042364
## [110,] 3.837413
## [111,] 0.000000
## [112,] 3.272334
## [113,] 3.492410
## [114,] 0.000000
## [115,] 4.179338
## [116,] 3.630493
## [117,] 4.129860
## [118,] 3.694448
## [119,] 3.404656
## [120,] 4.026375
## [121,] 3.478566
## [122,] 4.336565
## [123,] 0.000000
## [124,] 4.609693
## [125,] 3.504647
## [126,] 3.598764
## [127,] 3.444330
## [128,] 3.858306
## [129,] 3.918868
## [130,] 4.103927
## [131,] 3.857348
## [132,] 0.000000
## [133,] 3.183267
## [134,] 4.001930
## [135,] 3.835954
## [136,] 3.561527
## [137,] 4.569000
## [138,] 3.888312
## [139,] 3.653167
## [140,] 3.610860
## [141,] 3.395300
## [142,] 3.937141
## [143,] 4.012181
## [144,] 3.739976
## [145,] 0.000000
## [146,] 3.568679
## [147,] 4.158005
## [148,] 3.366397
## [149,] 0.000000
## [150,] 3.938835
## [151,] 3.363532
## [152,] 3.809637
## [153,] 3.946050
## [154,] 3.879821
## [155,] 3.703013
## [156,] 4.866450
## [157,] 3.575918
## [158,] 5.170769
## [159,] 3.966984
## [160,] 5.195327
## [161,] 3.649051
## [162,] 3.003154
## [163,] 4.248064
## [164,] 3.224097
## [165,] 3.450416
## [166,] 3.829925
## [167,] 3.998629
## [168,] 3.951423
## [169,] 3.436719
## [170,] 0.000000
## [171,] 4.577849
## [172,] 3.804642
## [173,] 5.106992
## [174,] 3.581598
## [175,] 3.639311
## [176,] 3.354421
## [177,] 4.268446
## [178,] 4.070571
## [179,] 3.947217
## [180,] 3.650383
## [181,] 4.683863
## [182,] 3.984564
## [183,] 4.154751
## [184,] 3.929946
## [185,] 2.924971
## [186,] 3.585670
## [187,] 3.912271
## [188,] 4.391500
## [189,] 3.920343
## [190,] 0.000000
## [191,] 3.280629
## [192,] 4.021899
## [193,] 3.681284
## [194,] 4.659230
## [195,] 3.891777
## [196,] 3.678190
## [197,] 4.351266
## [198,] 3.942854
## [199,] 4.406325
## [200,] 3.460659
## [201,] 4.044696
## [202,] 4.003454
## [203,] 3.916625
## [204,] 4.314525
## [205,] 4.113341
## [206,] 0.000000
## [207,] 3.958192
## [208,] 3.698371
## [209,] 3.656945
## [210,] 2.200937
## [211,] 4.395600
## [212,] 3.780942
## [213,] 3.746435
## [214,] 3.566162
## [215,] 3.604177
## [216,] 3.500701
## [217,] 3.453538
## [218,] 3.700782
## [219,] 3.356474
## [220,] 3.277465
## [221,] 3.898129
## [222,] 3.639631
## [223,] 3.352779
## [224,] 3.815773
## [225,] 3.435165
## [226,] 3.996450
## [227,] 3.744081
## [228,] 3.774469
## [229,] 3.935063
## [230,] 3.996987
## [231,] 3.848502
## [232,] 4.562110
## [233,] 3.906367
## [234,] 3.442238
## [235,] 3.271464
## [236,] 4.248279
## [237,] 0.000000
## [238,] 3.218405
## [239,] 2.874234
## [240,] 3.506043
## [241,] 3.179288
## [242,] 4.168399
## [243,] 0.000000
## [244,] 3.501296
## [245,] 4.124603
## [246,] 4.490618
## [247,] 4.984164
## [248,] 3.334128
## [249,] 4.158179
## [250,] 4.400626
## 
## [[1]]$b_logFIB4_id
##                 [,1]
##   [1,] -0.1722185722
##   [2,] -1.0392741431
##   [3,] -0.6753815134
##   [4,]  0.3589376436
##   [5,]  0.8403810787
##   [6,] -0.4040955594
##   [7,] -0.9489699310
##   [8,]  0.4344075306
##   [9,]  0.1472152558
##  [10,]  0.4570626604
##  [11,] -0.4376562284
##  [12,] -0.1322601619
##  [13,] -1.0570700006
##  [14,]  1.5197192414
##  [15,]  0.7213576153
##  [16,] -0.7718526955
##  [17,]  0.6973288467
##  [18,] -0.0623589997
##  [19,] -0.1991128432
##  [20,] -0.6012742561
##  [21,] -0.5738805098
##  [22,]  0.6218377987
##  [23,]  1.4232962687
##  [24,] -0.5544818085
##  [25,] -0.5333650210
##  [26,] -0.0009922861
##  [27,]  0.8462154562
##  [28,]  0.8562529053
##  [29,]  0.8188567369
##  [30,] -0.2128273931
##  [31,]  0.6694831109
##  [32,]  0.0000000000
##  [33,]  1.1460586596
##  [34,]  1.0180996139
##  [35,]  0.6991690073
##  [36,]  2.0836543806
##  [37,] -0.4353268932
##  [38,] -0.7096086848
##  [39,]  0.6465817237
##  [40,] -0.0388151426
##  [41,]  1.0170739226
##  [42,]  0.3788065205
##  [43,] -0.6748998693
##  [44,] -0.8697849121
##  [45,]  0.0929970161
##  [46,]  0.0174430199
##  [47,]  0.9633904022
##  [48,] -0.3696823306
##  [49,]  0.9863820243
##  [50,]  0.1872192408
##  [51,] -0.7663718309
##  [52,]  0.0000000000
##  [53,]  1.2251402333
##  [54,]  0.5930003183
##  [55,]  0.6588617047
##  [56,] -1.1296766333
##  [57,]  0.3577367040
##  [58,]  1.3130573838
##  [59,]  0.6504977006
##  [60,] -0.0026262607
##  [61,] -0.6363505620
##  [62,]  1.0524735742
##  [63,] -0.3901203087
##  [64,] -0.5470206699
##  [65,]  0.6792935148
##  [66,]  0.5270515852
##  [67,] -0.7861537479
##  [68,]  0.9588157594
##  [69,] -0.0808167406
##  [70,]  0.9785314850
##  [71,] -1.2057038768
##  [72,] -0.2043848164
##  [73,]  0.0089553275
##  [74,]  0.0127709122
##  [75,]  0.8146522179
##  [76,] -0.1573759555
##  [77,]  1.1134043745
##  [78,]  1.0798489254
##  [79,] -0.6740891287
##  [80,]  0.5565436055
##  [81,]  0.2386498011
##  [82,] -0.3839356187
##  [83,]  1.0869986134
##  [84,] -0.2576688357
##  [85,] -0.5991528283
##  [86,] -0.0483237087
##  [87,] -0.5199725139
##  [88,]  0.4192034028
##  [89,]  1.2661725121
##  [90,]  0.6381915475
##  [91,] -0.8487382025
##  [92,] -0.0156846636
##  [93,]  1.1006508539
##  [94,]  0.2836499702
##  [95,]  0.3419519626
##  [96,]  1.2237501904
##  [97,]  0.7321325570
##  [98,]  1.3062948574
##  [99,] -0.8837333547
## [100,]  0.4641451890
## [101,] -1.0582636689
## [102,]  0.6673129034
## [103,]  0.0714147891
## [104,] -1.2486184708
## [105,]  0.0613870145
## [106,]  0.8434531281
## [107,] -1.0478159078
## [108,]  0.0644420852
## [109,]  1.9334437081
## [110,]  0.3125347736
## [111,]  0.5374479762
## [112,] -0.2614401952
## [113,]  0.7419656389
## [114,] -1.1552319547
## [115,]  1.4794208736
## [116,]  1.0938450874
## [117,]  1.1555946878
## [118,]  1.5640923013
## [119,] -1.4386540440
## [120,]  1.8237932082
## [121,] -0.9609168274
## [122,] -0.4440009132
## [123,]  0.0000000000
## [124,]  0.3253181772
## [125,]  0.7110954375
## [126,]  1.5058132035
## [127,] -0.3931466154
## [128,] -0.7483543426
## [129,] -0.2061754152
## [130,] -0.7513519930
## [131,] -0.3563796939
## [132,] -0.7190110904
## [133,]  0.2999931145
## [134,]  1.0735496927
## [135,] -0.5069412811
## [136,] -0.5832439181
## [137,]  1.3673429388
## [138,] -0.6948053531
## [139,]  0.2594354676
## [140,] -0.5490744598
## [141,]  0.9620822871
## [142,] -1.0167752632
## [143,] -0.5466609812
## [144,]  0.2790319715
## [145,] -0.1802551222
## [146,]  1.4425211794
## [147,]  1.1839054829
## [148,] -0.6523405238
## [149,] -0.6494140235
## [150,]  0.6163367083
## [151,]  0.8680227476
## [152,]  0.4409142002
## [153,]  0.4250443953
## [154,]  0.3633093693
## [155,] -0.4922594935
## [156,]  1.2877552480
## [157,] -1.1914799566
## [158,] -0.5546574056
## [159,] -0.8342655576
## [160,]  0.0607649931
## [161,]  0.7699699189
## [162,]  0.1797937733
## [163,]  1.4389428064
## [164,] -0.4010126454
## [165,] -0.0372034352
## [166,] -0.7640146707
## [167,] -0.4015899762
## [168,]  0.2495433382
## [169,] -0.2064302047
## [170,] -0.6243093307
## [171,] -0.3156844287
## [172,]  0.2038101650
## [173,]  1.6834339480
## [174,]  1.2124900147
## [175,] -0.2095002000
## [176,] -0.3105584691
## [177,] -1.5599887454
## [178,]  0.6882595914
## [179,] -2.0636241202
## [180,] -0.2790700689
## [181,]  0.3948852617
## [182,] -0.6279268916
## [183,] -1.3520368046
## [184,] -1.1935405923
## [185,]  0.1368725997
## [186,] -0.4410536256
## [187,]  0.8307774879
## [188,]  1.3130404266
## [189,]  0.1621142770
## [190,] -0.4732902993
## [191,]  0.0887614839
## [192,]  0.0706168244
## [193,]  0.9345562741
## [194,]  0.2049133031
## [195,]  0.7630609359
## [196,]  0.4487353221
## [197,]  1.4024643909
## [198,] -0.6688558019
## [199,]  1.4577180845
## [200,] -0.2422546099
## [201,] -1.4502201225
## [202,]  0.9566184291
## [203,]  0.8196409891
## [204,] -0.2197854572
## [205,] -0.4972913426
## [206,] -0.7551650053
## [207,]  0.5499206741
## [208,] -0.3200887446
## [209,] -0.3144529566
## [210,] -0.2132143947
## [211,]  0.9797489139
## [212,]  0.6792563042
## [213,]  1.0161521259
## [214,]  0.6581477230
## [215,] -1.1645593830
## [216,] -1.0210191435
## [217,] -0.8294851996
## [218,] -1.1507173682
## [219,]  0.1586127125
## [220,]  0.4814641488
## [221,] -0.2497798723
## [222,] -0.2913474651
## [223,] -0.8216438398
## [224,] -1.3695279427
## [225,]  1.1223684473
## [226,] -0.2161683916
## [227,]  0.6388633074
## [228,]  0.0962149556
## [229,]  0.4176481080
## [230,]  0.8883543492
## [231,]  0.8105820708
## [232,]  1.5295803143
## [233,] -0.0805087151
## [234,]  0.0956193703
## [235,]  1.6804254584
## [236,] -0.2321997740
## [237,] -1.0606169057
## [238,] -1.6829177209
## [239,] -1.2068978330
## [240,] -1.1834543899
## [241,] -0.0221993309
## [242,]  1.0475104099
## [243,] -0.9354392334
## [244,] -1.3557574362
## [245,]  0.9222712294
## [246,]  0.7778349180
## [247,]  1.3947468776
## [248,] -0.7956717020
## [249,] -0.4225963050
## [250,]  1.4237295968
## 
## [[1]]$beta
## [1]  0.17059621  0.41326313 -0.14645015  0.20105583  3.88645945  0.01574402 -0.13967766  0.07137909
## 
## [[1]]$invD_logCreatinin_id
##          [,1]
## [1,] 4.365222
## 
## [[1]]$invD_logFIB4_id
##          [,1]
## [1,] 1.723563
## 
## [[1]]$tau_logCreatinin
## [1] 6.466508
## 
## [[1]]$tau_logFIB4
## [1] 4.177489

To extract the state of the sampler for the random effects and variance parameters from a model that was run in parallel we can use:

inits <- lapply(init_fit$model, function(m) {
  m$state()[[1]][c("b_logCreatinin_id",
                   "b_logFIB4_id",
                   "invD_logCreatinin_id",
                   "invD_logFIB4_id",
                   "tau_logCreatinin",
                   "tau_logFIB4")]
})

Task 2

Extract initial values from your fitted multivariate mixed model as shown in the previous tab.

Then fit the joint model with the seed value for which the model had not converged (e.g., seed = 12345) and provide the inital values via the argument inits.

Explore convergence of this model.

Solution 2

mod_jm4 <- JM_imp(list(Surv(etime, event) ~ Age0 + Sex + DM + logFIB4 + logCreatinin,
                       logFIB4 ~ Age0 + Sex + time + (1 | id),
                       logCreatinin ~ Age0 + Sex + time + (1 | id)),
                  data = datHCV, timevar = "time", n.iter = 100, n.chains = 4,
                  seed = 12345, inits = inits)
traceplot(mod_jm4)

We see that using the provided initial values, the model converges much faster.

Hyper Parameters and Prior Distributions

JointAI uses vague priors for all parameters.

Information on the prior distributions used in a JointAI object can be obtained from the function list_models() (this also works when the model does not contain any MCMC samples, i.e., when n.adapt = 0 and n.iter = 0 was set):

list_models(mod_jm4, predvars = FALSE, otherpars = FALSE, refcat = FALSE)
## Joint survival and longitudinal model for "Surv_etime_evnt" 
## * Regression coefficients:
##   beta[1:5] (normal prior(s) with mean 0 and precision 0.001) 
## 
## 
## Linear mixed model for "logFIB4" 
##    family: gaussian 
##    link: identity 
## * Regression coefficients:
##   beta[6:9] (normal prior(s) with mean 0 and precision 1e-04) 
## 
## 
## Linear mixed model for "logCreatinin" 
##    family: gaussian 
##    link: identity 
## * Regression coefficients:
##   beta[10:13] (normal prior(s) with mean 0 and precision 1e-04) 
## 
## 
## Binomial model for "DM" 
##    family: binomial 
##    link: logit 
## * Regression coefficients:
##   alpha[1:3] (normal prior(s) with mean 0 and precision 1e-04)

The default hyper-parameters that JointAI uses can be obtained by

default_hyperpars()
## $norm
##    mu_reg_norm   tau_reg_norm shape_tau_norm  rate_tau_norm 
##          0e+00          1e-04          1e-02          1e-02 
## 
## $gamma
##    mu_reg_gamma   tau_reg_gamma shape_tau_gamma  rate_tau_gamma 
##           0e+00           1e-04           1e-02           1e-02 
## 
## $beta
##    mu_reg_beta   tau_reg_beta shape_tau_beta  rate_tau_beta 
##          0e+00          1e-04          1e-02          1e-02 
## 
## $binom
##  mu_reg_binom tau_reg_binom 
##         0e+00         1e-04 
## 
## $poisson
##  mu_reg_poisson tau_reg_poisson 
##           0e+00           1e-04 
## 
## $multinomial
##  mu_reg_multinomial tau_reg_multinomial 
##               0e+00               1e-04 
## 
## $ordinal
##    mu_reg_ordinal   tau_reg_ordinal  mu_delta_ordinal tau_delta_ordinal 
##             0e+00             1e-04             0e+00             1e-04 
## 
## $ranef
## shape_diag_RinvD  rate_diag_RinvD       KinvD_expr 
##           "0.01"          "0.001"   "nranef + 1.0" 
## 
## $surv
##  mu_reg_surv tau_reg_surv 
##        0.000        0.001

To use different hyper-parameters, a list with hyper-parameter values can be provided to JointAI models using the argument hyperpars in the main analysis functions.

In addition, it is possible to use Ridge shrinkage priors for some or all of the models. This can be achieved using the argument shrinkage. It can either take the value "ridge" to shrink regression coefficients in all models or a named vector specifying the names of the response variables of the model for which the regression coefficients should be penalized.