Dealing with Missing Values in Multivariate Joint Models for - - PowerPoint PPT Presentation

dealing with missing values in multivariate joint models
SMART_READER_LITE
LIVE PREVIEW

Dealing with Missing Values in Multivariate Joint Models for - - PowerPoint PPT Presentation

Dealing with Missing Values in Multivariate Joint Models for Longitudinal and Survival Data Nicole Erler Department of Biostatistics, Erasmus Medical Center n.erler@erasmusmc.nl N_Erler www.nerler.com NErler ISCB 2020 Chronic


slide-1
SLIDE 1

Dealing with Missing Values in Multivariate Joint Models for Longitudinal and Survival Data

ISCB 2020

N_Erler www.nerler.com NErler n.erler@erasmusmc.nl

Department of Biostatistics, Erasmus Medical Center

Nicole Erler

slide-2
SLIDE 2

Chronic Hepatitis C

Image: https://www.hepatitisc.uw.edu/go/evaluation-staging-monitoring/natural-history/core-concept/all 1

slide-3
SLIDE 3

Longitudinal Covariates

log(bilirubin) albumin GGT log(AST) log(ALT) platelets 10 20 30 10 20 30 10 20 30 500 1000 1000 2000 3000 2 4 6 8 20 40 60 2.5 5.0 7.5 10.0 2 4 6

years since diagnosis

2

slide-4
SLIDE 4

Baseline Covariates

No Yes NA

alcohol (4.2% NA)

frequency 100 200 300 400 Negative Positive NA

anti−HBc (10.7% NA)

frequency 50 100 200 300

BMI (19.1% NA)

frequency 15 20 25 30 35 40 45 10 20 30 40 50 60 No Yes NA

diabetes (0.1% NA)

frequency 100 200 300 400 500 600 Positive Negative NA

smoking (15.1% NA)

frequency 50 100 150 200 250 300 Male Female

sex

frequency 100 200 300 400

age

frequency 20 30 40 50 60 70 80 90 10 20 30 40 50

year

frequency 1985 1995 2005 10 20 30 40

3

slide-5
SLIDE 5

Missing Values in Longitudinal Covariates

patient 5 patient 6 patient 7 patient 1 patient 2 patient 3 patient 4 10 20 30 5 10 10 15 5 10 0.0 0.5 1.0 1.5 5 10 15 0.0 2.5 5.0 7.5 10.0

follow−up (years) scaled biomarker value biomarker

log(bilirubin) log(AST) log(ALT) platelets albumin GGT

4

slide-6
SLIDE 6

Multivariate Joint Model

Proportional hazards model for time until event: hi(t) = h0(t) exp  x⊤

i β(tc)

+

K

  • k=1

ηki(t)⊤β(tv)

k

time constant time varying 5

slide-7
SLIDE 7

Multivariate Joint Model

Proportional hazards model for time until event: hi(t) = h0(t) exp  x⊤

i β(tc)

+

K

  • k=1

ηki(t)⊤β(tv)

k

time constant time varying

Longitudinal (mixed) model for each biomarker k = 1, ...K: E(yki(t) | bki) = ηki(t) = xki(t)⊤β(k)

  • fixed

effects

+ zki(t)⊤bki

  • random

effects 5

slide-8
SLIDE 8

Multivariate Joint Model

Proportional hazards model for time until event: hi(t) = h0(t) exp

  • x⊤

i β(tc)

+

K

  • k=1

ηki(t)⊤β(tv)

k

  • time

constant time varying

Longitudinal (mixed) model for each biomarker k = 1, ...K: E(yki(t) | bki) = ηki(t) = xki(t)⊤β(k)

  • fixed

effects

+ zki(t)⊤bki

  • random

effects

Missing values in (baseline) covariates.

5

slide-9
SLIDE 9

Imputation of Missing Covariates

Imputation of a (baseline) variable xi: ➡ sample from the predictive distribution of the missing values given the observed values

6

slide-10
SLIDE 10

Imputation of Missing Covariates

Imputation of a (baseline) variable xi: ➡ sample from the predictive distribution of the missing values given the observed values p(xi | everything else

  • )
  • ther baseline variables

repeatedly measured variables (incl. outcomes) survival outcome

6

slide-11
SLIDE 11

Imputation of Missing Covariates

Imputation of a (baseline) variable xi: ➡ sample from the predictive distribution of the missing values given the observed values p(xi | everything else

  • )
  • ther baseline variables

repeatedly measured variables (incl. outcomes) survival outcome ➡ We cannot directly specify the (correct) imputation model!

6

slide-12
SLIDE 12

Imputation of Missing Covariates

Idea: ◮ specify the joint distribution p(everything) ◮ derive p(xi | everything else) from p(everything)

7

slide-13
SLIDE 13

Imputation of Missing Covariates

Idea: ◮ specify the joint distribution p(everything) ◮ derive p(xi | everything else) from p(everything) But: p(everything) = p(survival outcome, longitudinal outcomes, longitudinal covariates, baseline covariates, random effects, parameters) = p(T, D, y, X, b, θ) Does this really solve anything?

7

slide-14
SLIDE 14

Imputation of Missing Covariates

Idea: ◮ specify the joint distribution p(everything) ◮ derive p(xi | everything else) from p(everything) But: p(everything) = p(survival outcome, longitudinal outcomes, longitudinal covariates, baseline covariates, random effects, parameters) = p(T, D, y, X, b, θ) Does this really solve anything? Yes, it does!

7

slide-15
SLIDE 15

Fully Bayesian Analysis & Imputation

From probability theory: p(A, B) = p(A | B) p(B)

8

slide-16
SLIDE 16

Fully Bayesian Analysis & Imputation

From probability theory: p(A, B) = p(A | B) p(B) Joint distribution p(T, D, y, X, b, θ) = p(T, D | X, b, θ) p(y | X, b, θ) p(X | θ) p(b | θ) p(θ)

8

slide-17
SLIDE 17

Fully Bayesian Analysis & Imputation

From probability theory: p(A, B) = p(A | B) p(B) Joint distribution p(T, D, y, X, b, θ) = p(T, D | X, b, θ)

  • survival

model

p(y | X, b, θ) p(X | θ) p(b | θ) p(θ)

8

slide-18
SLIDE 18

Fully Bayesian Analysis & Imputation

From probability theory: p(A, B) = p(A | B) p(B) Joint distribution p(T, D, y, X, b, θ) = p(T, D | X, b, θ)

  • survival

model

p(y | X, b, θ)

  • multivariate

longitudinal model

p(X | θ) p(b | θ) p(θ)

8

slide-19
SLIDE 19

Fully Bayesian Analysis & Imputation

From probability theory: p(A, B) = p(A | B) p(B) Joint distribution p(T, D, y, X, b, θ) = p(T, D | X, b, θ)

  • survival

model

p(y | X, b, θ)

  • multivariate

longitudinal model

  • analysis model

p(X | θ) p(b | θ)

  • random

effects

p(θ)

  • priors

8

slide-20
SLIDE 20

Fully Bayesian Analysis & Imputation

From probability theory: p(A, B) = p(A | B) p(B) Joint distribution p(T, D, y, X, b, θ) = p(T, D | X, b, θ)

  • survival

model

p(y | X, b, θ)

  • multivariate

longitudinal model

  • analysis model

p(X | θ)

  • imputation

part

p(b | θ)

  • random

effects

p(θ)

  • priors

8

slide-21
SLIDE 21

Fully Bayesian Analysis & Imputation

Imputation part p(X | θ) = p(x1, . . . , xp, Xcompl. | θ) = p(x1 | Xcompl., x2, x3, . . . , xp, θ) p(x2 | Xcompl., x3, . . . , xp, θ) . . . p(xp | Xcompl., θ)

9

slide-22
SLIDE 22

Fully Bayesian Analysis & Imputation

Imputation part p(X | θ) = p(x1, . . . , xp, Xcompl. | θ) = p(x1 | Xcompl., x2, x3, . . . , xp, θ) p(x2 | Xcompl., x3, . . . , xp, θ) . . . p(xp | Xcompl., θ) Estimation: via MCMC ➡ Gibbs sampling (using Metropolis-Hastings, ...)

9

slide-23
SLIDE 23

Fully Bayesian Analysis & Imputation

Imputation part p(X | θ) = p(x1, . . . , xp, Xcompl. | θ) = p(x1 | Xcompl., x2, x3, . . . , xp, θ) p(x2 | Xcompl., x3, . . . , xp, θ) . . . p(xp | Xcompl., θ) Estimation: via MCMC ➡ Gibbs sampling (using Metropolis-Hastings, ...) Software: Implemented in the R package JointAI (using JAGS)

9

slide-24
SLIDE 24

In Practice: Analysis of the HCV Data

library("JointAI") library("splines") fmla <- list( # formula for survival model Surv(etime, event) ~ age + sex + alc + smoke + BMI + DM + year + logBili + logALT + logAST + Plt, # formulas for the longitudinal outcomes logBili ~ age + sex + time + (time | id), logAST ~ age + sex + ns(time, df = 5) + (ns(time, df = 5) | id), logALT ~ age + sex + ns(time, df = 3) + (ns(time, df = 3) | id), Plt ~ age + sex + ns(time, df = 3) + (ns(time, df = 3) | id) )

10

slide-25
SLIDE 25

In Practice: Analysis of the HCV Data

library("JointAI") library("splines") fmla <- list( # formula for survival model Surv(etime, event) ~ age + sex + alc + smoke + BMI + DM + year + logBili + logALT + logAST + Plt, # formulas for the longitudinal outcomes logBili ~ age + sex + time + (time | id), logAST ~ age + sex + ns(time, df = 5) + (ns(time, df = 5) | id), logALT ~ age + sex + ns(time, df = 3) + (ns(time, df = 3) | id), Plt ~ age + sex + ns(time, df = 3) + (ns(time, df = 3) | id) ) mod <- JM_imp(fmla, data = HCVdata, timevar = "time", n.iter = 2000)

10

slide-26
SLIDE 26

In Practice: Analysis of the HCV Data

Additional options: ◮ covariate model types ◮ hyper-parameters ◮ number of chains & thinning interval ◮ ... Additional features: ◮ use of auxiliary variables ◮ use of ridge shrinkage priors ◮ multi-level settings (e.g., multi-center) ◮ ... For more info, see https://nerler.github.io/JointAI

11

slide-27
SLIDE 27

Connecting Models

Longitudinal ➡ Survival Longitudinal ➡ Longitudinal

12

slide-28
SLIDE 28

Connecting Models

Longitudinal ➡ Survival type of association ◮ underlying value ηki(t) ◮ slope ◮ cumulative effect ◮ time-lag ◮ ... ◮ combination of the above Longitudinal ➡ Longitudinal

12

slide-29
SLIDE 29

Connecting Models

Longitudinal ➡ Survival type of association ◮ underlying value ηki(t) ◮ slope ◮ cumulative effect ◮ time-lag ◮ ... ◮ combination of the above Longitudinal ➡ Longitudinal ◮ independent

12

slide-30
SLIDE 30

Connecting Models

Longitudinal ➡ Survival type of association ◮ underlying value ηki(t) ◮ slope ◮ cumulative effect ◮ time-lag ◮ ... ◮ combination of the above Longitudinal ➡ Longitudinal ◮ independent ◮ correlated random effects

endogenous dimensionality (136 elements!) linear association

12

slide-31
SLIDE 31

Connecting Models

Longitudinal ➡ Survival type of association ◮ underlying value ηki(t) ◮ slope ◮ cumulative effect ◮ time-lag ◮ ... ◮ combination of the above Longitudinal ➡ Longitudinal ◮ independent ◮ correlated random effects

endogenous dimensionality (136 elements!) linear association

◮ fixed effects

potentially non-linear exogenous

12

slide-32
SLIDE 32

(Interim) Conclusion: Does it work?

◮ Theoretically:

(if no assumptions are violated)

13

slide-33
SLIDE 33

(Interim) Conclusion: Does it work?

◮ Theoretically:

(if no assumptions are violated)

◮ Practically:

available in software computationally feasible:

713 ∼20,000 rows complex model (4 dependent outcomes) 10,000 iterations 6.5h

13

slide-34
SLIDE 34

(Interim) Conclusion: Does it work?

◮ Theoretically:

(if no assumptions are violated)

◮ Practically:

available in software computationally feasible:

713 ∼20,000 rows complex model (4 dependent outcomes) 10,000 iterations 6.5h

◮ Empirically: to be continued...

13

slide-35
SLIDE 35

Thank you for your attention.

  • n.erler@erasmusmc.nl
  • N_Erler
  • NErler
  • www.nerler.com