I'm interested in updating predictions from survival models, in cases where you have time dependent covariates that are a) continuous and b)change in continuous time.

For example, you want to predict a patient's probability of dying before time T, and you want to continuously update your prediction as their blood pressure, weight, etc. changes.

I'm assuming there must be a Bayesian approach for this use case; any package that has implemented this would be massively helpful.

The papers I have seen that explicitly incorporate time dependent covariates usually deal with one or two major events per patient, such as a heart transplant. The data will be left and right censored for each major event, but this is not reasonable for covariates that are constantly changing. I believe this approach comes from longitudinal studies where observation is very infrequent. We now have health data that changes constantly, so we want to change our predictions as well.

Edit This paper describes the same problem set I'm approaching, from a more theoretical standpoint: http://arxiv-web3.library.cornell.edu/pdf/1306.6479v1.pdf Implementing joint models in the wild is quite cumbersome. There has to be a more practical approach, even if it sacrifices some of the theoretical guarantees.


1 Answer 1


If I've understood you correctly, you are looking for a Cox regression that take more than one observation per individual into account. I.e you are using repeated measures of the same individual (i.e you are modeling time-dependent variables)?

Then your looking for the extended Cox model with the counting process format, defined by Andersen and Gill. It handles time-dependent (time-varying) variables easily.

Refer to:

Kleinbaum, Klein: Survival analysis - A Self-Learning text http://www.springer.com/statistics/life+sciences,+medicine+%26+health/book/978-1-4419-6645-2

Also look at: http://cran.r-project.org/doc/contrib/Fox-Companion/appendix-cox-regression.pdf Which is John Fox explanation and he uses R to incorporate time-dependent variables, using start and stopp intervals for the observations.

What type of time-varying covariates do you have?

  • Multiple observations per individual?
  • Multiple endpoints per individual? -

In general, if you have 1 endpoint of interest and multiple observations per individual, you usually set up the data frame in a format which means that each observation corresponds to one row (therefore one individual may have several rows of data) and you create a start variable and a stop variable, which is simply the start and stop intervals for each observation.

The usual Cox model:

coxph(Surv(survival, event) ~ predictors, data = df)

The time-dependent Cox model (if data is set up as described above):

coxph(Surv(star, stopp, event) ~ predictors, data = df)

A very well written manual can be found here: http://cran.r-project.org/web/packages/survival/vignettes/timedep.pdf


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.