| treatment | time | failure | |
|---|---|---|---|
| 37 | 1 | 12 | 1 |
| 38 | 1 | 15 | 1 |
| 39 | 1 | 17 | 1 |
| 40 | 1 | 22 | 1 |
| 41 | 1 | 23 | 1 |
data = data.dropna()
print data.head()
treatment = data['treatment'] == 2
T = data['time']
E = data['failure']
t = np.linspace(0,40,150)
kmf = KaplanMeierFitter()
kmf.fit(T[treatment], timeline=t, event_observed=E[treatment], label='With treatment')
ax = kmf.plot()
kmf.fit(T[~treatment], timeline=t, event_observed=E[~treatment], label="Without treatment")
kmf.plot(ax=ax)
ylim(0,1.05)
naf = NelsonAalenFitter()
naf.fit(T[treatment],timeline=t, event_observed=E[treatment], label="With treatment")
ax = naf.cumulative_hazard_.plot()
naf.fit(T[~treatment], timeline=t, event_observed=E[~treatment], label="Without treatment")
ax = naf.cumulative_hazard_.plot(ax=ax)
from lifelines import AalenAdditiveFitter
aaf = AalenAdditiveFitter()
aaf.fit(data, duration_col='time', event_col='failure', timeline=t)
aaf.plot()
from lifelines import CoxPHFitter
cp = CoxPHFitter()
cp.fit(data, duration_col='time', event_col='failure')
cp.print_summary()