Previsioni con il modello Cox PH

Analisi di sopravvivenza in Python

Shae Wang

Senior Data Scientist

Predire i tempi mediani di sopravvivenza

Dopo aver chiamato .fit() per adattare il modello ai dati:

  • .predict_median(): predice le mediane di sopravvivenza per i soggetti
    • Se la curva di sopravvivenza non incrocia 0.5, la mediana è $\inf$.
  • Parametri:
    • X: il DataFrame con cui predire.
    • conditional_after: array o lista con il tempo già vissuto dai soggetti.
Analisi di sopravvivenza in Python

Predire i tempi mediani di sopravvivenza

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

Predire la funzione di sopravvivenza

  • .predict_survival_function(): predice la funzione di sopravvivenza dato le covariate.
  • Parametri:
    • X: il DataFrame con cui predire.
    • conditional_after: array o lista con il tempo già vissuto dai soggetti.
Analisi di sopravvivenza in Python

Predire la funzione di sopravvivenza

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

Perché sono utili le previsioni di sopravvivenza?

  • Prevenzione proattiva dei guasti, modelli previsivi, ecc.
Analisi di sopravvivenza in Python

Passi chiave

  1. Preprocessa i dati e applica one-hot alle variabili categoriche.
  2. Dividi in train e test (tipico: 80% train, 20% test).
    • Le proporzioni di dati censurati dovrebbero essere simili in entrambi i set.
  3. Allena il modello Cox PH sul train.
Analisi di sopravvivenza in Python

Passiamo alla pratica!

Analisi di sopravvivenza in Python

Preparing Video For Download...