I am new to survival analysis and I've recently learned that there are different ways to do it given a certain goal. I am interested in actual implementation and appropriateness of these methods.

I was presented with the traditional Cox Proportional-Hazards, Accelerated failure time models and neural networks (multilayer perceptron) as methods to get survival of a patient given their time, status and other medical data. The study is said to be determined in five years and the goal is to give survival risks each year for new records to be given.

I found two instances where other methods where chosen over the Cox PH:

  1. I found "How to get predictions in terms of survival time from a Cox PH model" and it was mentioned that:

    If you are particularly interested in obtaining estimates of the probability of survival at particular time points, I would point you towards parametric survival models (aka accelerated failure time models). These are implemented in the survival package for R, and will give you parametric survival time distributions, wherein you can simply plug in the time you are interested in and get back a survival probability.

    I went to the recommended site and found one in the survival package - the function survreg.

  2. Neural networks were suggested in this comment:

    ... One advantage of neural net approaches to survival analysis is that they do not rely on the assumptions that underlie Cox analysis...

    Another person with the question "R neural network model with target vector as output containing survival predictions" gave an exhaustive way of determining survival in both neural networks and Cox PH.

    The R code for getting the survival would be like this:

    mymodel <- neuralnet(T1+T2+T3+T4+T5~covar1+covar2+covar3+..., data=mydata, hidden=1)
  3. I went to the R forums and found this answer in the question "predict.coxph and predict.survreg":

    Indeed, from the predict() function of the coxph you cannot get directly "time" predictions, but only linear and exponential risk scores. This is because, in order to get the time, a baseline hazard has to be computed and it is not straightforward since it is implicit in the Cox model.

I was wondering if which of the three (or two considering the arguments over Cox PH) is best for getting survival percentages for time periods of interest? I am confused which of them to use in survival analysis.


1 Answer 1


It depends on why you are making models. Two main reasons to construct survival models are (1) to make predictions or (2) to model effect sizes of covariates.

If you want to use them in a predictive setting in which you want to obtain an expected survival time given a set of covariates, neural networks are likely the best choice because they are universal approximators and make less assumptions than the usual (semi-)parametric models. Another option which is less popular but not less powerful is support vector machines.

If you are modelling to quantify effect sizes, neural networks won't be of much use. Both Cox proportional hazards and accelerated failure time models can be used for this goal. Cox PH models are by far the most widely used in clinical settings, in which the hazard ratio gives a measure of effect size for each covariate/interaction. In engineering settings, however, accelerated failure time (AFT) models are the weapon of choice.

  • 1
    $\begingroup$ thank you for the answer! You've said it exactly - "to obtain an expected survival time given a set of covariates". I'll have to go with the neural networks and SVMs in my study. $\endgroup$ Commented Jan 18, 2014 at 12:21
  • $\begingroup$ @Marc Claesen: The Cox PH model does provide P(survival time > t). Isn't is possible to get the pdf of survival time from there and sample from the pdf? $\endgroup$ Commented Feb 13, 2015 at 20:48
  • 1
    $\begingroup$ @Marc Claesen I assume neural networks cannot be directly applied to survival analysis problem but the survival analysis problem should be 1st converted to a classification or regression problem. So can you please explain how survival analysis problem can be converted to a classification or regression problem so that neural networks can be applied? Please answer here if possible stats.stackexchange.com/questions/199549/… $\endgroup$ Commented Mar 13, 2016 at 15:25

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.