Pythonで学ぶSurvival Analysis
Shae Wang
Senior Data Scientist
95%信頼区間の係数と範囲をプロットで返します。
aft.plot()
plt.show()
サンプルプロット:

ベースライン生存曲線と、共変量を変化させた場合の比較プロットを返します。
aft.plot_partial_effects_on_outcome(covariates, values)
plt.show()

.plot_partial_effects_on_outcome()
covariates (文字列またはリスト): 変化させたい元データの共変量。values (1次元/2次元イテラブル): 共変量に与える値。
ベースライン生存曲線: 元データの全平均値での予測生存曲線。
aft.plot_partial_effects_on_outcome(
covariates='var',
values=[0, 3, 6, 9, 12, 15]
)
plt.show()

aft.plot_partial_effects_on_outcome(
covariates='a',
values=[0, 3, 6]
)
aft.plot_partial_effects_on_outcome(
covariates='a',
values=np.arange(10)
)
aft.plot_partial_effects_on_outcome(
covariates=['a','b'],
values=[[1,2],[1,3],[2,3]]
)
DataFrame 例: mortgage_df
| id | house | principal | interest | property_tax | credit score | duration | paid_off |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 1275 | 0.035 | 0.019 | 780 | 25 | 0 |
| 2 | 0 | 756 | 0.028 | 0.020 | 695 | 17 | 1 |
| 3 | 0 | 968 | 0.029 | 0.017 | 810 | 5 | 0 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 1000 | 1 | 1505 | 0.041 | 0.023 | 750 | 30 | 1 |
aft.plot_partial_effects_on_outcome(
covariates='credit score',
values=np.arange(700, 860, 30)
)
plt.show()


共変量に基づき個々の生存関数を予測します。
.predict_survival_function()
引数:
X (np array または DataFrame): 共変量。DataFrame の場合、列順は任意。共変量に基づき個々の生存期間の中央値を予測します。
.predict_median()
引数:
df (np array または DataFrame): 共変量。DataFrame の場合、列順は任意。現在の期間以降に条件づけた生存関数または生存期間中央値を予測します。
.predict_survival_function(X, conditional_after).predict_median(df, conditional_after)例:
aft.predict_median(new_subject)
4.0
aft.predict_median(new_subject, conditional_after=[2])
2.0
Pythonで学ぶSurvival Analysis