vanderschaarlab / survivalgan

SurvivalGAN: Generating Time-to-Event Data for Survival Analysis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SurvivalGAN: Generating Time-to-Event Data for Survival Analysis

survivalgan_figure_broken_up_colors

This repository contains the experimental code of SurvivalGAN, a generative model that handles survival data firstly by addressing the imbalance in the censoring and time horizons, and secondly by using a dedicated mechanism for approximating time-to-event/censoring. For more details, please read our AISTATS 2023 paper: 'SurvivalGAN: Generating time-to-event Data for Survival Analysis'.

The implementation of the method is included in the synthcity library, in the SurvivalGAN plugin.

Installation

Install synthcity and other depends

pip install -r requirements.txt

For more tutorials and examples, checkout the Synthcity tutorials section.

Datasets

Add the data in the experiments/data folder.

Dataset No. instances No. censored instances No. features Access
ACTG 320 clinical trial dataset 1151 1055 11 Link
METABRIC 1093 609 689 Link
CUTRACT 10086 8881 6 private
PHEART 40409 25664 29 private
SEER prostate cancer 171942 167568 6 private

Reproducing results

Result Source notebook
Figure 1 experiments_00_km_plots_tte_models
Table 1,2,9,10,15 experiments_01_benchmark_synthetic_survival_data
Table 3 experiments_02_sources_of_gain_parametric
Table 11 experiments_04_loglikelihood
Table 12, 13, 14 experiments_05_predicting_censoring
Table 16 experiments_03_gmm_test_perf
Figure 4,5,8 plots_00_data_fidelity
Figure 6,7 plots_02_benchmark_gain_of_function

Citing

@misc{https://doi.org/10.48550/arxiv.2302.12749,
  doi = {10.48550/ARXIV.2302.12749},
  url = {https://arxiv.org/abs/2302.12749},
  author = {Norcliffe, Alexander and Cebere, Bogdan and Imrie, Fergus and Lio, Pietro and van der Schaar, Mihaela},
  keywords = {Machine Learning (cs.LG), FOS: Computer and information sciences, FOS: Computer and information sciences},
  title = {SurvivalGAN: Generating Time-to-Event Data for Survival Analysis},  
  year = {2023},
  copyright = {Creative Commons Attribution 4.0 International}
}

About

SurvivalGAN: Generating Time-to-Event Data for Survival Analysis

License:Apache License 2.0


Languages

Language:Jupyter Notebook 89.3%Language:Python 10.7%