Models for Survival Analysis.
The ‘survivalmodels’ package
What is the ‘survivalmodels’ package?
The survivalmodels
package implements neural networks from the Python packages pycox. Importantly, this a lighter but CRAN-compatible version of the ‘survivalmodels’ package proposed by Raphael Sonabend based on the version 0.1.19. The complete and updated version is available at this link.
Basic Usage
# load dependencies
library(survival)
train <- simsurvdata(200)
# Fit the survival neural network
fit <- deepsurv(Surv(time, status) ~ ., data = train, frac = 0.3, activation = "relu",
num_nodes = c(4L, 8L, 4L, 2L), dropout = 0.1, early_stopping = TRUE, epochs = 100L,
batch_size = 32L)
# Return survivals for two independent individuals
test <- simsurvdata(1)
predict(fit, newdata = test)
#> 3.33999991416931 3.34299993515015 3.38000011444092 3.38899993896484
#> 0 0.9929 0.9858 0.9786 0.9715
#> 3.43600010871887 3.45600008964539 3.47300004959106 3.48600006103516
#> 0 0.9644 0.9573 0.9502 0.9431
#> 3.49499988555908 3.49900007247925 3.50300002098083 3.50799989700317
#> 0 0.9359 0.9218 0.9146 0.9075
#> 3.52600002288818 3.53500008583069 3.53699994087219 3.54699993133545
#> 0 0.9004 0.8933 0.8862 0.8791
#> 3.58899998664856 4.65999984741211 4.68200016021729 4.79400014877319
#> 0 0.8719 0.8648 0.8577 0.8506
#> 4.84000015258789 4.89699983596802 4.93200016021729 4.93699979782104
#> 0 0.8435 0.8363 0.8292 0.8221
#> 4.94500017166138 4.95900011062622 4.96199989318848 4.98600006103516
#> 0 0.815 0.8079 0.8008 0.7936
#> 4.98899984359741 4.99499988555908 4.99700021743774 5.00400018692017
#> 0 0.7865 0.7794 0.7723 0.7652
#> 5.00799989700317 5.01000022888184 5.02299976348877 5.02600002288818
#> 0 0.7581 0.7439 0.7368 0.7296
#> 5.02799987792969 5.07200002670288 5.18400001525879 5.30700016021729
#> 0 0.7225 0.7154 0.7083 0.7012
#> 5.34200000762939 5.35099983215332 5.35500001907349 5.3600001335144
#> 0 0.6941 0.6869 0.6798 0.6727
#> 5.36100006103516 5.38600015640259 5.39599990844727 5.40999984741211
#> 0 0.6656 0.6585 0.6513 0.6442
#> 5.41300010681152 5.42700004577637 5.42899990081787 5.43400001525879
#> 0 0.6371 0.63 0.6229 0.6158
#> 5.43699979782104 5.44700002670288 5.46700000762939 5.46799993515015
#> 0 0.6086 0.6015 0.5944 0.5733
#> 5.47100019454956 5.47499990463257 5.47700023651123 5.48699998855591
#> 0 0.5662 0.5591 0.5519 0.5378
#> 5.49300003051758 5.49399995803833 5.49499988555908 5.4980001449585
#> 0 0.5307 0.5235 0.5164 0.5093
#> 5.51300001144409 5.53599977493286 5.53800010681152 5.54099988937378
#> 0 0.5022 0.495 0.4809 0.4738
#> 5.54699993133545 5.55000019073486 5.55900001525879 5.56099987030029
#> 0 0.4667 0.4595 0.4524 0.4453
#> 5.56199979782104 5.56400012969971 5.56699991226196 5.57800006866455
#> 0 0.4382 0.431 0.4239 0.4168
#> 5.58500003814697 5.58799982070923 5.59600019454956 5.59700012207031
#> 0 0.4097 0.4025 0.3954 0.3883
#> 6.66099977493286 6.67500019073486 6.69000005722046 6.69099998474121
#> 0 0.3812 0.367 0.3599 0.3528
#> 6.74100017547607 6.77400016784668 6.77600002288818 6.78299999237061
#> 0 0.3457 0.3385 0.3314 0.3243
#> 6.80200004577637 6.80800008773804 6.80999994277954 6.81899976730347
#> 0 0.3172 0.31 0.3029 0.2958
#> 6.86899995803833 6.8769998550415
#> 0 0.2886 0.2886
Python Models
The survivalmodels
package implements models from Python using reticulate. In order to use these models, the required Python packages must be installed following with reticulate::py_install. survivalmodels
includes a helper function to install the required pycox
function (with pytorch if also required). Before running any models in this package, if you have not already installed pycox
please run.
install_pycox(pip = TRUE, install_torch = FALSE)
Installation
Install the latest release from CRAN:
install.packages("survivalmodels")
Install the development version from GitHub:
remotes::install_github("RaphaelS1/survivalmodels")