Анализ выживаемости в Python
Shae Wang
Senior Data Scientist

from lifelines import WeibullFitter
from lifelines import ExponentialFitter
from lifelines import LogNormalFitter
from lifelines import LogLogisticFitter
from lifelines import GeneralizedGammaFitter
Шаг 1) Обучите параметрические модели в lifelines
Шаг 2) Выведите и сравните свойство AIC_ каждой модели
Шаг 3) Предпочтительна модель с наименьшим значением AIC
from lifelines import WeibullFitter,
ExponentialFitter,
LogNormalFitter
wb = WeibullFitter().fit(D, E)
exp = ExponentialFitter().fit(D, E)
log = LogNormalFitter().fit(D, E)
print(wb.AIC_, exp.AIC_, log.AIC_)
215.9091 216.1183 202.3498
find_best_parametric_model(): встроенная функция lifelines для автоматического сравнения моделей по AIC.lifelines.Как использовать?
T: длительности, E: цензурированиеbest_model, best_aic_ = find_best_parametric_model(event_times=T,
event_observed=E,
scoring_method="AIC")
print(best_model)
<lifelines.WeibullFitter:"Weibull_estimate",
fitted with 686 total observations, 387 right-censored observations>
y = x.
Шаг 1) Обучите параметрические модели в lifelines.
Шаг 2) Постройте QQ-график для каждой модели.
Шаг 3) Предпочтительна модель с QQ-графиком, наиболее близким к y = x.
from lifelines.plotting import qq_plotfor model in [WeibullFitter(), LogNormalFitter(), LogLogisticFitter(), ExponentialFitter()]: model.fit(T, E) qq_plot(model)plt.show()

Анализ выживаемости в Python