gen_survΒΆ
gen_surv is a Python package for simulating survival data under various models, inspired by the R package genSurv.
It includes generators for:
Cox Proportional Hazards Models (CPHM)
Continuous-Time Markov Models (CMM)
Time-Dependent Covariate Models (TDCM)
Time-Homogeneous Hidden Markov Models (THMM)
Accelerated Failure Time (AFT) Log-Normal Models
Key functions include generate(), gen_cphm(), gen_cmm(), gen_tdcm(),
gen_thmm(), gen_aft_log_normal(), sample_bivariate_distribution(),
runifcens(), and rexpocens().
See the Getting Started guide for installation instructions.
π ModulesΒΆ
π Usage ExampleΒΆ
from gen_surv import generate
# CPHM
generate(model="cphm", n=100, model_cens="uniform", cens_par=1.0, beta=0.5, covar=2.0)
# AFT Log-Normal
generate(model="aft_ln", n=100, beta=[0.5, -0.3], sigma=1.0, model_cens="exponential", cens_par=3.0)
# CMM
generate(model="cmm", n=100, model_cens="exponential", cens_par=2.0,
qmat=[[0, 0.1], [0.05, 0]], p0=[1.0, 0.0])
# TDCM
generate(model="tdcm", n=100, dist="weibull", corr=0.5,
dist_par=[1, 2, 1, 2], model_cens="uniform", cens_par=1.0,
beta=[0.1, 0.2, 0.3], lam=1.0)
# THMM
generate(model="thmm", n=100, qmat=[[0, 0.2, 0], [0.1, 0, 0.1], [0, 0.3, 0]],
emission_pars={"mu": [0.0, 1.0, 2.0], "sigma": [0.5, 0.5, 0.5]},
p0=[1.0, 0.0, 0.0], model_cens="exponential", cens_par=3.0)
β¨οΈ Command-Line UsageΒΆ
Generate datasets directly from the terminal:
python -m gen_surv dataset aft_ln --n 100 > data.csv
Repository LayoutΒΆ
genSurvPy/
βββ gen_surv/
β βββ ...
βββ tests/
βββ examples/
βββ docs/
βββ scripts/
βββ tasks.py
βββ TODO.md
π Project LinksΒΆ
CitationΒΆ
If you use gen_surv in your work, please cite it using the metadata in CITATION.cff.