diff --git a/paper/paper.bib b/paper/paper.bib index 549469a..dbe2944 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -3,6 +3,7 @@ @article{davidson2019lifelines author={Davidson-Pilon, Cameron}, journal={Journal of Open Source Software}, volume={4}, + doi={https://doi.org/10.21105/joss.01317}, number={40}, pages={1317}, year={2019} @@ -13,17 +14,21 @@ @article{therneau2015survival author={Therneau, Terry M and Lumley, Thomas}, journal={R Top Doc}, volume={128}, + doi={10.32614/CRAN.package.survival}, number={10}, pages={28--33}, year={2015} } -@article{paszke2019pytorch, - title={Pytorch: An imperative style, high-performance deep learning library}, - author={Paszke, Adam and Gross, Sam and Massa, Francisco and Lerer, Adam and Bradbury, James and Chanan, Gregory and Killeen, Trevor and Lin, Zeming and Gimelshein, Natalia and Antiga, Luca and others}, - journal={Advances in neural information processing systems}, - volume={32}, - year={2019} +@misc{paszke2019pytorch, + title={PyTorch: An Imperative Style, High-Performance Deep Learning Library}, + author={Adam Paszke and Sam Gross and Francisco Massa and Adam Lerer and James Bradbury and Gregory Chanan and Trevor Killeen and Zeming Lin and Natalia Gimelshein and Luca Antiga and Alban Desmaison and Andreas Köpf and Edward Yang and Zach DeVito and Martin Raison and Alykhan Tejani and Sasank Chilamkurthy and Benoit Steiner and Lu Fang and Junjie Bai and Soumith Chintala}, + year={2019}, + eprint={1912.01703}, + archivePrefix={arXiv}, + primaryClass={cs.LG}, + doi={https://doi.org/10.48550/arXiv.1912.01703}, + url={https://arxiv.org/abs/1912.01703}, } @article{polsterl2020scikit, @@ -42,6 +47,7 @@ @article{potapov2023packagesurvAUC author={Potapov, Sergej and Adler, Werner and Schmid, Matthias and Potapov, Maintainer Sergej}, journal={Statistics in Medicine}, volume={25}, + doi={10.32614/CRAN.package.survAUC}, pages={3474--3486}, year={2023} } @@ -50,6 +56,7 @@ @inproceedings{he2020momentum title={Momentum contrast for unsupervised visual representation learning}, author={He, Kaiming and Fan, Haoqi and Wu, Yuxin and Xie, Saining and Girshick, Ross}, booktitle={Proceedings of the IEEE/CVF conference on computer vision and pattern recognition}, + doi={10.1109/cvpr42600.2020.00975}, pages={9729--9738}, year={2020} } @@ -60,6 +67,7 @@ @article{katzman2018deepsurv journal={BMC medical research methodology}, volume={18}, number={1}, + doi={10.1186/s12874-018-0482-1}, pages={1--12}, year={2018}, publisher={BioMed Central} @@ -82,6 +90,7 @@ @inproceedings{nagpal2022auton booktitle={Machine Learning for Healthcare Conference}, pages={585--608}, year={2022}, + doi={https://doi.org/10.48550/arXiv.2204.07276}, organization={PMLR} } @@ -94,6 +103,7 @@ @article{Cox1972 publisher = {Wiley}, author = {Cox, D. R.}, year = {1972}, + doi={10.1007/978-1-4612-4380-9_37}, month = jan, pages = {187–202} } @@ -139,6 +149,7 @@ @Manual{torchlifeAbeywardana author = {Sachinthaka Abeywardana}, year = {2021}, url = {https://sachinruk.github.io/torchlife//index.html}, + doi={10.32614/CRAN.package.survival}, } @Manual{survAUCpackage, @@ -146,6 +157,7 @@ @Manual{survAUCpackage author = {Sergej Potapov and Werner Adler and Matthias Schmid}, year = {2023}, note = {R package version 1.2-0}, + doi={10.32614/CRAN.package.survAUC}, url = {https://CRAN.R-project.org/package=survAUC}, } @@ -155,6 +167,7 @@ @Manual{timeROCpackage year = {2019}, note = {R package version 0.4}, url = {https://CRAN.R-project.org/package=timeROC}, + doi={10.32614/CRAN.package.timeROC} } @Manual{risksetROCpackage, @@ -163,6 +176,7 @@ @Manual{risksetROCpackage year = {2022}, note = {R package version 1.0.4.1}, url = {https://CRAN.R-project.org/package=risksetROC}, + doi={10.32614/CRAN.package.risksetROC} } @Manual{survivalROCpackage, @@ -171,6 +185,7 @@ @Manual{survivalROCpackage year = {2022}, note = {R package version 1.0.3.1}, url = {https://CRAN.R-project.org/package=survivalROC}, + doi={10.32614/CRAN.package.survivalROC} } @article{survcomppackage, @@ -194,6 +209,7 @@ @Manual{riskRegressionpackage year = {2023}, note = {R package version 2023.12.21}, url = {https://CRAN.R-project.org/package=riskRegression}, + doi={10.32614/CRAN.package.riskRegression} } @Manual{SurvMetricspackage, @@ -202,6 +218,7 @@ @Manual{SurvMetricspackage year = {2022}, note = {R package version 0.5.0}, url = {https://CRAN.R-project.org/package=SurvMetrics}, + doi={10.32614/CRAN.package.SurvMetrics} } @Manual{pecpackage, @@ -210,6 +227,7 @@ @Manual{pecpackage year = {2023}, note = {R package version 2023.04.12}, url = {https://CRAN.R-project.org/package=pec}, + doi={10.32614/CRAN.package.pec} } @article{Heagerty2000, diff --git a/paper/paper.md b/paper/paper.md index fc0c339..3b291d8 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -34,11 +34,9 @@ bibliography: paper.bib # Summary -`TorchSurv` ([GitHub](https://github.com/Novartis/torchsurv) and [PyPI](https://pypi.org/project/torchsurv/)) is a Python package that serves as a companion tool to perform deep survival modeling within the `PyTorch` environment [@paszke2019pytorch]. With its lightweight design, minimal input requirements, full `PyTorch` backend, and freedom from restrictive parameterizations, `TorchSurv` facilitates efficient deep survival model implementation and is particularly beneficial for high-dimensional and complex data scenarios. -`TorchSurv` has been rigorously tested using both open-source and synthetically generated survival data. The package is thoroughly documented and includes illustrative examples. The latest documentation for TorchSurv can be found on the [`TorchSurv`'s website](https://opensource.nibr.com/torchsurv/). +`TorchSurv` is a Python [package](https://pypi.org/project/torchsurv/) that serves as a companion tool to perform deep survival modeling within the `PyTorch` environment [@paszke2019pytorch]. With its lightweight design, minimal input requirements, full `PyTorch` backend, and freedom from restrictive parameterizations, `TorchSurv` facilitates efficient deep survival model implementation and is particularly beneficial for high-dimensional and complex data scenarios. At its core, `TorchSurv` features `PyTorch`-based calculations of log-likelihoods for prominent survival models, including the Cox proportional hazards model [@Cox1972] and the Weibull Accelerated Time Failure (AFT) model [@Carroll2003]. +`TorchSurv` has been rigorously tested using both open-source and synthetically generated survival data. The package is thoroughly documented and includes illustrative examples. The latest documentation for TorchSurv can be found on our [website](https://opensource.nibr.com/torchsurv/). -`TorchSurv` provides a user-friendly workflow for training and evaluating `PyTorch`-based deep survival models. -At its core, `TorchSurv` features `PyTorch`-based calculations of log-likelihoods for prominent survival models, including the Cox proportional hazards model [@Cox1972] and the Weibull Accelerated Time Failure (AFT) model [@Carroll2003]. In survival analysis, each observation is associated with a survival reponse, denoted by $y$ (comprising the event indicator and the time-to-event or censoring), and covariates, denoted by $x$. A survival model is parametrized by parameters $\theta$. Within the `TorchSurv` framework, a `PyTorch`-based neural network is defined to act as a flexible function that takes the covariates $x$ as input and outputs the parameters $\theta$. Estimation of the parameters $\theta$ is achieved via maximum likelihood estimation. Additionally, `TorchSurv` offers evaluation metrics, including the time-dependent Area Under under the Receiver operating characteristic (ROC) curve (AUC), the Concordance index (C-index) and the Brier Score, to characterize the predictive performance of survival models. Below is an overview of the workflow for model inference and evaluation with `TorchSurv`: