Memprediksi dengan model Cox PH

Analisis Survival dengan Python

Shae Wang

Senior Data Scientist

Prediksi median waktu bertahan

Setelah memanggil .fit() untuk menyesuaikan model ke data:

  • .predict_median(): memprediksi median waktu bertahan untuk subjek
    • Jika kurva survival tidak memotong 0,5, median = $\inf$.
  • Parameter:
    • X: DataFrame untuk prediksi.
    • conditional_after: array/daftar lamanya subjek sudah bertahan.
Analisis Survival dengan Python

Prediksi median waktu bertahan

model.predict_median(X, conditional_after)
0       inf
1      44.0
2      46.0
3       inf
4      48.0
       ... 
500     inf
Analisis Survival dengan Python

Prediksi fungsi survival

  • .predict_survival_function(): memprediksi fungsi survival berdasarkan kovariat subjek.
  • Parameter:
    • X: DataFrame untuk prediksi.
    • conditional_after: array/daftar lamanya subjek sudah bertahan.
Analisis Survival dengan Python

Prediksi fungsi survival

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

Mengapa prediksi survival berguna?

  • Pencegahan kegagalan proaktif, peramalan, dll.
Analisis Survival dengan Python

Langkah utama

  1. Pramuat data dan one-hot encode variabel kategorikal.
  2. Bagi data menjadi train dan test (umum: 80% train, 20% test).
    • Proporsi data tersensor harus serupa di kedua set.
  3. Latih model Cox PH pada train.
Analisis Survival dengan Python

Ayo berlatih!

Analisis Survival dengan Python

Preparing Video For Download...