使用Lifelines包进行Cox模型拟合
-
Cox模型简单介绍
Cox模型是用来做生存分析的。但是也可以用来分析企业的生存状况,以及任何一种有终止状态的过程。
Cox模型的数据准备
数据需要有一列代表观测时间,还有一列代表观测时的状态(一般用0和1表示)。
以人的生存状态举例:观测500个人,如果观测的人是活着的,可以记录观测时人的年龄;如果观测的人已经死去,可以记录死亡时间。Lifelines的CoxPHFitter包还要求不能有缺失值,所以需要对缺失值进行处理。
研究数据集列介绍
Survival 代表观测时的状态的变量
factor1 可能和死亡有关的因素1
factor2 可能和死亡有关的因素2
Survival_days 观测时死亡/已存活时间
-
核心代码如下:
# platform是数据集的名字 # 查看缺失值,如果有,需要填充 platform.isna().sum() # 简单处理缺失值 platform.fillna(0, inplace = True) # 拟合数据 from lifelines import CoxPHFitter cph = CoxPHFitter() cph.fit(platform, duration_col='Survival_years', event_col='Survival',formula = "factor1 + factor2") # 查看结果 cph.print_summary()