Survival Analysis ด้วย 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 plot ของแต่ละโมเดล
ขั้นที่ 3) เลือก QQ plot ที่ใกล้เคียง y = x มากที่สุด
from lifelines.plotting import qq_plotfor model in [WeibullFitter(), LogNormalFitter(), LogLogisticFitter(), ExponentialFitter()]: model.fit(T, E) qq_plot(model)plt.show()

Survival Analysis ด้วย Python