14 Machine Learning Survival Models
This page is a work in progress and major changes will be made over time.
14.1 A Survey of Machine Learning Models for Survival Analysis
These next sections provide a technical, critical survey of machine learning models proposed for survival analysis with the focus on the ‘simpler’ setup of non-competing risks. Models are separated into their different ‘classes’ (1), which exists as a natural taxonomy in machine learning. Each class review is then further separated by first discussing the simpler and more standard regression setting, before expanding into their survival framework. The focus is once again on the different predict types of the model, which enables clear exposition and discussion around how some areas have successfully dealt with the survival predictive problem, whereas others have fallen short.
This is not the first survey of machine learning models for survival analysis. A recent 2017 survey (P. Wang, Li, and Reddy 2019) focused on covering the breadth of machine learning models for survival analysis and this survey is recommended to the reader as a strong starting point to understand which ML models are available for survival analysis. However whilst this provides a comprehensive review and a ‘big-picture’ view, there is no discussion about how successful the discussed models are in solving the survival task.
A comprehensive survey of neural networks was presented by Schwarzer \(\textit{et al.}\) (2000) (Schwarzer, Vach, and Schumacher 2010) in which the authors collected the many ways in which neural networks have been ‘misused’ in the context of survival analysis. This level of criticism is vital in the context of survival analysis and healthcare data as transparency and understanding are often prioritised over predictive performance. Whilst the survey in this book will try not to be as critical as the Schwarzer review, it will aim to discuss models and how well they actually solve the survival problem.
Historically, surveys have focused primarily on predictive performance, which is generally preferred for complex classification and regression tasks. However in the context of survival analysis, transparency is of the utmost importance and any model that does not solve the task it claims to, despite strong predictive performance, can be considered sub-optimal. The survey will also examine the accessibility of survival models. A model need not be open-source to be accessible, but it should be ‘user-friendly’ and not require expert cross-domain knowledge. For example, a neural network may require knowledge of complex model building, but if set-up correctly could be handled without medical or survival knowledge. Whereas a Gaussian Process requires knowledge of the model class, simulation, (usually) Bayesian modelling, and also survival analysis.
- provides information about the models reviewed in this survey, including a model reference for use in the (R. E. B. Sonabend 2021) benchmark experiment, the predict types of the model, and in which \(\textsf{R}\) package it is implemented.
Class\(^1\) | Name\(^2\) | Authors (Year)\(^3\) | Task\(^4\) | Implementation\(^5\) |
---|---|---|---|---|
RF | RRT | LeBlanc and Crowley (1992) (LeBlanc and Crowley 1992) | Rank | \(\textbf{rpart}\) (Therneau and Atkinson 2019) |
RF | RSDF-DEV | Hothorn \(\textit{et al.}\) (2004) (Hothorn et al. 2004) | Prob. | \(\textbf{ipred}\) (Peters and Hothorn 2019) |
RF | RRF | Ishwaran \(\textit{et al.}\) (2004) (H. Ishwaran et al. 2004) | Rank | - |
RF | RSCIFF | Hothorn \(\textit{et al.}\) (2006) (Hothorn et al. 2005) | Det., Prob. | \(\textbf{party}\) (Hothorn, Hornik, and Zeileis 2006), \(\textbf{partykit}\) (Hothorn and Zeileis 2015) |
RF | RSDF-STAT | Ishwaran \(\textit{et al.}\) (2008) (B. H. Ishwaran et al. 2008) | Prob. | \(\textbf{randomForestSRC}\) (H. Ishwaran and Kogalur 2018), \(\textbf{ranger}\) (Wright and Ziegler 2017) |
GBM | GBM-COX | Ridgeway (1999) (Ridgeway 1999) & Buhlmann (2007) (Buhlmann and Hothorn 2007) | Prob. | \(\textbf{mboost}\) (Hothorn et al. 2020), \(\textbf{xgboost}\) (Chen et al. 2020), \(\textbf{gbm}\) (Greenwell et al. 2019) |
GBM | CoxBoost | Binder & Schumacher (2008) (Binder and Schumacher 2008) | Prob. | \(\textbf{CoxBoost}\) (Binder 2013) |
GBM | GBM-AFT | Schmid & Hothorn (2008) (Schmid and Hothorn 2008) | Det. | \(\textbf{mboost}\), \(\textbf{xgboost}\) |
GBM | GBM-BUJAR | Wang & Wang (2010) (Z. Wang and Wang 2010) | Det. | \(\textbf{bujar}\) (Z. Wang 2019) |
GBM | GBM-GEH | Johnson & Long (2011) (Johnson and Long 2011) | Det. | \(\textbf{mboost}\) |
GBM | GBM-UNO | Mayr & Schmid (2014) (Mayr and Schmid 2014) | Rank | \(\textbf{mboost}\) |
SVM | SVCR | Shivaswamy \(\textit{et al.}\) (2007) (Shivaswamy, Chu, and Jansche 2007) | Det. | \(\textbf{survivalsvm}\) (Fouodo et al. 2018) |
SVM | SSVM-Rank | Van Belle \(\textit{et al.}\) (2007) (Van Belle et al. 2007) | Rank | \(\textbf{survivalsvm}\) |
SVM | SVRc | Khan and Zubek (2008) (Khan and Bayer Zubek 2008) | Det. | - |
SVM | SSVM-Hybrid | Van Belle (2011) (Van Belle et al. 2011) | Det. | \(\textbf{survivalsvm}\) |
SVM | SSVR-MRL | Goli \(\textit{et al.}\) (2016) (Goli, Mahjub, Faradmal, and Soltanian 2016; Goli, Mahjub, Faradmal, Mashayekhi, et al. 2016) | Det. | - |
ANN | ANN-CDP | Liestl \(\textit{et al.}\) (1994) (Liestol, Andersen, and Andersen 1994) | Prob. | - |
ANN | ANN-COX | Faraggi and Simon (1995) (Faraggi and Simon 1995) | Rank | - |
ANN | PLANN | Biganzoli \(\textit{et al.}\) (1998) (Biganzoli et al. 1998) | Prob. | - |
ANN | COX-NNET | Ching \(\textit{et al.}\) (2018) (Ching, Zhu, and Garmire 2018) | Prob. | \(^*\) (Ching 2015) |
ANN | DeepSurv | Katzman \(\textit{et al.}\) (2018) (Katzman et al. 2018) | Prob. | \(\textbf{survivalmodels}\) (R. Sonabend 2020) |
ANN | DeepHit | Lee \(\textit{et al.}\) (2018) (Lee et al. 2018) | Prob. | \(\textbf{survivalmodels}\) |
ANN | Nnet-survival | Gensheimer & Narasimhan (2019) (Gensheimer and Narasimhan 2019) | Prob. | \(\textbf{survivalmodels}\) |
ANN | Cox-Time | Kvamme \(\textit{et al.}\) (2019) (Kvamme, Borgan, and Scheel 2019) | Prob. | \(\textbf{survivalmodels}\) |
ANN | PC-Hazard | Kvamme & Borgan (2019) (Kvamme2019?) | Prob. | \(\textbf{survivalmodels}\) |
ANN | RankDeepSurv | Jing \(\textit{et al.}\) (2019) (Jing et al. 2019) | Det. | \(\textbf{RankDeepSurv}\)\(^{\ast, \dagger}\) (Jing et al. 2018) |
ANN | DNNSurv | Zhao & Fend (2020) (Zhao and Feng 2020) | Prob. | \(\textbf{survivalmodels}\) |
* 1. Model Class. RSF – Random Survival Forest; GBM – Gradient Boosting Machine; SVM – Support Vector Machine; ANN – Artificial Neural Network. There is some abuse of notation here as some of the RSFs are actually decision trees and some GBMs do not use gradient boosting. * 2. Model identifier used in this section and (R. E. B. Sonabend 2021). * 3. Authors and year of publication, for RSFs this is the paper most attributed to the algorithm. * 4. Survival task type: Deterministic (Det.), Probabilistic (Prob.), Ranking (Rank). * 5. If available in \(\textsf{R}\) then the package in which the model is implemented, otherwise `\(\ast\)’ signifies a model is only available in Python. With the exception of DNNSurv, all ANNs in \(\textbf{survivalmodels}\) are implemented from the Python package \(\textbf{pycox}\) (Kvamme 2018) with \(\textbf{reticulate}\) (Ushey, Allaire, and Tang 2020). * \(\dagger\) – Code available to create model but not implemented ‘off-shelf’.