Cox PH モデルの解釈

Pythonで学ぶSurvival Analysis

Shae Wang

Senior Data Scientist

ベースラインハザード

  • ハザード比: ベースラインのハザードに対して、ハザードがどれだけ増減するか。
  • ベースラインハザード: 共変量がベースライン水準の個体のリスク。
    • ベースライン ≠ 共変量を 0 に設定
    • ベースライン は共変量を平均(lifelines では中央値)に設定
Pythonで学ぶSurvival Analysis

ベースライン関数

ベースラインハザード関数
model.baseline_hazard_.plot()
plt.show()

ベースラインハザード

ベースライン生存関数
model.baseline_survival_.plot()
plt.show()

ベースライン生存

Pythonで学ぶSurvival Analysis

ハザード比を解釈する

  • ハザード比: $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で学ぶSurvival Analysis

ハザード比を可視化する

.plot_partial_effects_on_outcome()

  • covariates(文字列またはリスト): 変化させる元データの共変量名。
    • 複数ある場合はリストで渡す。
  • values(1D/2D イテラブル): 共変量に与える値。
    • 複数の共変量がある場合は、値の組(ペア/タプル)で渡す。
Pythonで学ぶSurvival Analysis

ハザード比を可視化する

共変量は ABC。{{1}} を変化させたい。

  • 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で学ぶSurvival Analysis

ハザード比を可視化する

共変量は 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で学ぶSurvival Analysis

演習に進みましょう!

Pythonで学ぶSurvival Analysis

Preparing Video For Download...