解读 Cox PH 模型

Python 中的生存分析

Shae Wang

Senior Data Scientist

基线风险

  • 风险比(hazard ratio):相对"基线"风险的增减幅度。
  • 基线风险:处于协变量基线水平个体的风险。
    • "基线" $\neq$ 将协变量设为 0
    • "基线"指将协变量设为其均值(lifelines 用中位数)
Python 中的生存分析

基线函数

基线风险函数
model.baseline_hazard_.plot()
plt.show()

基线风险

基线生存函数
model.baseline_survival_.plot()
plt.show()

基线生存

Python 中的生存分析

解读风险比

  • 风险比:$e^{coef}$,当协变量变化时,相对"平均"个体的风险变化。
计算 示例
系数 $x$ $0.405$
风险比 $e^x$ $e^{0.405}=1.5$
对风险的解读 $e^x-1$ $1.5-1 = 0.5$ -> 风险↑50%
对生存时间的解读 $\frac{1}{e^x}-1$ $\frac{1}{1.5}-1 = 0.67-1 = -0.23$ -> 生存时间↓23%
Python 中的生存分析

可视化风险比

.plot_partial_effects_on_outcome()

  • covariates(字符串或列表):要变化的原始数据中的协变量名。
    • 多个协变量时,用"列表"。
  • values(一维或二维可迭代):协变量要取的值。
    • 多个协变量时,值以"成对/元组"给出。
Python 中的生存分析

可视化风险比

模型含协变量 ABC,我们希望改变

  • A 取 1、2
  • B 取 3、4
    model.plot_partial_effects_on_outcome(
        covariates=["A","B"],
        values=[[1,2],
                [3,4]]
    )
    plt.show()
    

错误的 plot_partial_effects_on_outcome

错误…

Python 中的生存分析

可视化风险比

模型含协变量 ABC,我们希望改变

  • A 取 1、2
  • B 取 3、4
    model.plot_partial_effects_on_outcome(
        covariates=["A","B"],
        values=[[1,3],
                [1,4],
                [2,3],
                [2,4]]
    )
    plt.show()
    

正确的 plot_partial_effects_on_outcome

正确!

Python 中的生存分析

Vamos praticar!

Python 中的生存分析

Preparing Video For Download...