使用 Cox PH 模型进行预测

Python 中的生存分析

Shae Wang

Senior Data Scientist

预测中位生存期

调用.fit()拟合模型后:

  • .predict_median():为个体{{1}}预测中位生存期
    • 若生存曲线不与0.5相交,则中位生存期为$\inf$。
  • 参数:
    • X:用于预测的DataFrame。
    • conditional_after:数组或列表,表示个体已存活的时间。
Python 中的生存分析

预测中位生存期

model.predict_median(X, conditional_after)
0       inf
1      44.0
2      46.0
3       inf
4      48.0
       ... 
500     inf
Python 中的生存分析

预测生存函数

  • .predict_survival_function():根据协变量预测个体的生存函数。
  • 参数:
    • X:用于预测的DataFrame。
    • conditional_after:数组或列表,表示个体已存活的时间。
Python 中的生存分析

预测生存函数

model.predict_survival_function(X, conditional_after)
              0           1           2           3           4         ...         500
1.0    0.997616    0.993695    0.994083    0.999045    0.997626         ...    0.998865    0.997827    0.995453    0.997462    ...    0.997826    0.996005    0.996031    0.997774    0.998892    0.999184    0.997033    0.998866    0.998170    0.998610
2.0    0.995230    0.987411    0.988183    0.998089    0.995250         ...    0.997728    0.995653    0.990914    0.994922    ...    0.995649    0.992014    0.992067    0.995547    0.997782    0.998366    0.994065    0.997730    0.996337    0.997217
3.0    0.992848    0.981162    0.982314    0.997133    0.992878         ...    0.996592    0.993482    0.986392    0.992388    ...    0.993476    0.988037    0.988115    0.993324    0.996673    0.997548    0.991105    0.996595    0.994507    0.995826
4.0    0.990468    0.974941    0.976468    0.996176    0.990507         ...    0.995455    0.991311    0.981882    0.989855    ...    0.991304    0.984067    0.984171    0.991100    0.995563    0.996729    0.988147    0.995458    0.992676    0.994433
5.0    0.988085    0.968739    0.970639    0.995216    0.986392         ...    0.993476

生存预测有何用?

  • 预防性维护、预测性建模等。
Python 中的生存分析

关键步骤

  1. 预处理数据,对分类变量做独热编码。
  2. 划分训练集与测试集(常见为80%训练、20%测试)。
    • 两集合中的删失比例应相近。
  3. 在训练集上拟合 Cox PH 模型。
Python 中的生存分析

Passons à la pratique !

Python 中的生存分析

Preparing Video For Download...