Voorspellen met het Cox PH‑model

Survivalanalyse in Python

Shae Wang

Senior Data Scientist

Mediane overleving voorspellen

Na .fit() om het model te trainen:

  • .predict_median(): voorspelt de mediane overleving per subject
    • Kruist de overlevingscurve 0,5 niet, dan is de mediane tijd $\inf$.
  • Parameters:
    • X: de DataFrame om mee te voorspellen.
    • conditional_after: array of lijst met tijden die aangeven hoelang subjecten al hebben geleefd.
Survivalanalyse in Python

Mediane overleving voorspellen

model.predict_median(X, conditional_after)
0       inf
1      44.0
2      46.0
3       inf
4      48.0
       ... 
500     inf
Survivalanalyse in Python

De overlevingsfunctie voorspellen

  • .predict_survival_function(): voorspelt de overlevingsfunctie op basis van covariaten.
  • Parameters:
    • X: de DataFrame om mee te voorspellen.
    • conditional_after: array of lijst met tijden die aangeven hoelang subjecten al hebben geleefd.
Survivalanalyse in Python

De overlevingsfunctie voorspellen

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

Waarom zijn deze voorspellingen nuttig?

  • Proactieve faalpreventie, forecastingmodellen, enz.
Survivalanalyse in Python

Belangrijke stappen

  1. Preprocess de data en one-hot-encode categorische variabelen.
  2. Split in train en test (vaak 80% train, 20% test).
    • Houd het aandeel gecensureerde data in beide sets vergelijkbaar.
  3. Fit het Cox PH‑model op train.
Survivalanalyse in Python

Laten we oefenen!

Survivalanalyse in Python

Preparing Video For Download...