I have a time dependent cox model from 2018 to 2020. Running the cox model, I can look at survival probabilities from time0(month 0) to time24(month24) for each individual observation. Great!

Now, I actually want to get the survival probabilities up to time60 (5 years out). Does survival analysis allow me to predict that far out, or do I actually need to train my data on observations that last 5 years?

I'm using the survival package

data2<- tmerge(data, data, id=Policy_Number, tstart=0, tstop=24)

fit.data2<- coxph(object ~ var1+var2+var3+var4, data = data2)

fitresults <- survfit(fit.data2, newdata=data2)

Initially, I thought I can just replace my tstop to 60, but since my original data has tstops only up to 24, it will error out


A Cox model is semiparametric in that it uses an empirical rather than a theoretical baseline function of survival over time. Once you have gone past the last time in your data set, you have no further information about that baseline survival. So you can't extrapolate a Cox model like you wish.

You could consider a fully parametric model like a Weibull model, with functions like survreg() in R. In principle those can be extrapolated, as you have a complete function of time estimated from your data. In practice it's probably not a great idea, particularly for extrapolating from a final time of 2 years out to a time of 5 years. A lot of unexpected things can happen over 3 years.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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