Skip to content

Commit 3d637de

Browse files
Merge pull request #21 from DiogoRibeiro7/chore/more_examples
docs: add usage examples for all models in index.md
2 parents 00cdd06 + 7337d00 commit 3d637de

File tree

19 files changed

+211
-37
lines changed

19 files changed

+211
-37
lines changed

README.md

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -30,32 +30,28 @@ poetry install
3030

3131
## 🧪 Example
3232

33-
```python
34-
from gen_surv.cphm import gen_cphm
35-
36-
df = gen_cphm(
37-
n=100,
38-
model_cens="uniform",
39-
cens_par=1.0,
40-
beta=0.5,
41-
covar=2.0
42-
)
43-
print(df.head())
44-
```
45-
4633
```python
4734
from gen_surv import generate
4835

49-
df = generate(
50-
model="cphm",
51-
n=100,
52-
model_cens="uniform",
53-
cens_par=1.0,
54-
beta=0.5,
55-
covar=2.0
56-
)
36+
# CPHM
37+
generate(model="cphm", n=100, model_cens="uniform", cens_par=1.0, beta=0.5, covar=2.0)
38+
39+
# AFT Log-Normal
40+
generate(model="aft_ln", n=100, beta=[0.5, -0.3], sigma=1.0, model_cens="exponential", cens_par=3.0)
41+
42+
# CMM
43+
generate(model="cmm", n=100, model_cens="exponential", cens_par=2.0,
44+
qmat=[[0, 0.1], [0.05, 0]], p0=[1.0, 0.0])
45+
46+
# TDCM
47+
generate(model="tdcm", n=100, dist="weibull", corr=0.5,
48+
dist_par=[1, 2, 1, 2], model_cens="uniform", cens_par=1.0,
49+
beta=[0.1, 0.2, 0.3], lam=1.0)
5750

58-
print(df.head())
51+
# THMM
52+
generate(model="thmm", n=100, qmat=[[0, 0.2, 0], [0.1, 0, 0.1], [0, 0.3, 0]],
53+
emission_pars={"mu": [0.0, 1.0, 2.0], "sigma": [0.5, 0.5, 0.5]},
54+
p0=[1.0, 0.0, 0.0], model_cens="exponential", cens_par=3.0)
5955
```
6056

6157
## 🔧 Available Generators

docs/source/index.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ It includes generators for:
88
- **Continuous-Time Markov Models (CMM)**
99
- **Time-Dependent Covariate Models (TDCM)**
1010
- **Time-Homogeneous Hidden Markov Models (THMM)**
11+
- **Accelerated Failure Time (AFT) Log-Normal Models**
1112

1213
---
1314

@@ -25,25 +26,27 @@ theory
2526
# 🚀 Usage Example
2627

2728
```python
28-
from gen_surv.cphm import gen_cphm
29+
from gen_surv import generate
2930

30-
df = gen_cphm(n=100, model_cens="uniform", cens_par=1.0, beta=0.5, covar=2.0)
31-
print(df.head())
32-
```
31+
# CPHM
32+
generate(model="cphm", n=100, model_cens="uniform", cens_par=1.0, beta=0.5, covar=2.0)
3333

34-
```python
35-
from gen_surv import generate
34+
# AFT Log-Normal
35+
generate(model="aft_ln", n=100, beta=[0.5, -0.3], sigma=1.0, model_cens="exponential", cens_par=3.0)
36+
37+
# CMM
38+
generate(model="cmm", n=100, model_cens="exponential", cens_par=2.0,
39+
qmat=[[0, 0.1], [0.05, 0]], p0=[1.0, 0.0])
3640

37-
df = generate(
38-
model="cphm",
39-
n=100,
40-
model_cens="uniform",
41-
cens_par=1.0,
42-
beta=0.5,
43-
covar=2.0
44-
)
41+
# TDCM
42+
generate(model="tdcm", n=100, dist="weibull", corr=0.5,
43+
dist_par=[1, 2, 1, 2], model_cens="uniform", cens_par=1.0,
44+
beta=[0.1, 0.2, 0.3], lam=1.0)
4545

46-
print(df.head())
46+
# THMM
47+
generate(model="thmm", n=100, qmat=[[0, 0.2, 0], [0.1, 0, 0.1], [0, 0.3, 0]],
48+
emission_pars={"mu": [0.0, 1.0, 2.0], "sigma": [0.5, 0.5, 0.5]},
49+
p0=[1.0, 0.0, 0.0], model_cens="exponential", cens_par=3.0)
4750
```
4851

4952
## 🔗 Project Links

examples/run_aft.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import sys
2+
import os
3+
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
4+
from gen_surv.interface import generate
5+
6+
# Generate synthetic survival data using Log-Normal AFT model
7+
df = generate(
8+
model="aft_ln",
9+
n=100,
10+
beta=[0.5, -0.3],
11+
sigma=1.0,
12+
model_cens="exponential",
13+
cens_par=3.0,
14+
seed=123
15+
)
16+
17+
print(df.head())

examples/run_cmm.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import sys
2+
import os
3+
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
4+
5+
from gen_surv import generate
6+
7+
df = generate(
8+
model="cmm",
9+
n=100,
10+
model_cens="exponential",
11+
cens_par=2.0,
12+
qmat=[[0, 0.1], [0.05, 0]],
13+
p0=[1.0, 0.0],
14+
seed=42
15+
)
16+
17+
print(df.head())

examples/run_cphm.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import sys
2+
import os
3+
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
4+
5+
from gen_surv import generate
6+
7+
df = generate(
8+
model="cphm",
9+
n=100,
10+
model_cens="uniform",
11+
cens_par=1.0,
12+
beta=0.5,
13+
covar=2.0,
14+
seed=42
15+
)
16+
17+
print(df.head())

examples/run_tdcm.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import sys
2+
import os
3+
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
4+
5+
from gen_surv import generate
6+
7+
df = generate(
8+
model="tdcm",
9+
n=100,
10+
dist="weibull",
11+
corr=0.5,
12+
dist_par=[1, 2, 1, 2],
13+
model_cens="uniform",
14+
cens_par=1.0,
15+
beta=[0.1, 0.2, 0.3],
16+
lam=1.0,
17+
seed=42
18+
)
19+
20+
print(df.head())

examples/run_thmm.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import sys
2+
import os
3+
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
4+
5+
from gen_surv import generate
6+
7+
df = generate(
8+
model="thmm",
9+
n=100,
10+
qmat=[[0, 0.2, 0], [0.1, 0, 0.1], [0, 0.3, 0]],
11+
emission_pars={"mu": [0.0, 1.0, 2.0], "sigma": [0.5, 0.5, 0.5]},
12+
p0=[1.0, 0.0, 0.0],
13+
model_cens="exponential",
14+
cens_par=3.0,
15+
seed=42
16+
)
17+
18+
print(df.head())

stubs/gen_surv/__init__.pyi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .interface import generate as generate

stubs/gen_surv/aft.pyi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from _typeshed import Incomplete
2+
3+
def gen_aft_log_normal(n, beta, sigma, model_cens, cens_par, seed: Incomplete | None = None): ...

stubs/gen_surv/bivariate.pyi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
def sample_bivariate_distribution(n, dist, corr, dist_par): ...

0 commit comments

Comments
 (0)