Interpretare il modello Cox PH

Analisi di sopravvivenza in Python

Shae Wang

Senior Data Scientist

Le hazard di base

  • Hazard ratio: quanto il rischio aumenta o diminuisce rispetto alle hazard di base.
  • Hazard di base: rischio per individui ai livelli base delle covariate.
    • Base $\neq$ impostare le covariate a 0
    • Base = impostare le covariate alle loro medie (mediana per lifelines)
Analisi di sopravvivenza in Python

Le funzioni di base

Funzione di hazard di base
model.baseline_hazard_.plot()
plt.show()

baseline_hazard

Funzione di sopravvivenza di base
model.baseline_survival_.plot()
plt.show()

baseline_survival

Analisi di sopravvivenza in Python

Interpretare l’hazard ratio

  • Hazard ratio: $e^{coef}$, quanto cambia il rischio rispetto all’individuo medio quando le covariate cambiano.
Calcolo Esempio
Coefficiente $x$ $0.405$
Hazard ratio $e^x$ $e^{0.405}=1.5$
Interpretazione hazard $e^x-1$ $1.5-1 = 0.5$ -> aumento del 50% del rischio
Interpretazione tempo di sopravvivenza $\frac{1}{e^x}-1$ $\frac{1}{1.5}-1 = 0.67-1 = -0.23$ -> -23% nel tempo di sopravvivenza
Analisi di sopravvivenza in Python

Visualizzare l’hazard ratio

.plot_partial_effects_on_outcome()

  • covariates (stringa o lista): nome/i delle covariate nel dataset che vuoi variare.
    • Con più covariate, passale come lista.
  • values (iterabile 1d o 2d): valori che la covariata deve assumere.
    • Con più covariate, passa i valori come coppie/tuple.
Analisi di sopravvivenza in Python

Visualizzare l’hazard ratio

Il modello ha covariate A, B, C, e vogliamo variare

  • A tra 1, 2
  • B tra 3, 4
    model.plot_partial_effects_on_outcome(
        covariates=["A","B"],
        values=[[1,2],
                [3,4]]
    )
    plt.show()
    

wrong_plot_partial_effects_on_outcome

Sbagliato...

Analisi di sopravvivenza in Python

Visualizzare l’hazard ratio

Il modello ha covariate A, B, C, e vogliamo variare

  • A tra 1, 2
  • B tra 3, 4
    model.plot_partial_effects_on_outcome(
        covariates=["A","B"],
        values=[[1,3],
                [1,4],
                [2,3],
                [2,4]]
    )
    plt.show()
    

correct_plot_partial_effects_on_outcome

Corretto!

Analisi di sopravvivenza in Python

Passiamo alla pratica !

Analisi di sopravvivenza in Python

Preparing Video For Download...