使用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()
    

登录后回复