La tua prima curva di sopravvivenza!

Analisi di sopravvivenza in Python

Shae Wang

Senior Data Scientist

La funzione di sopravvivenza

  • $T$: quando avviene l’evento di interesse
  • $t$: un qualsiasi istante di osservazione

$$\Large{S(t) = Pr(T>t)}$$

  • $S(t)$: probabilità che l’evento avvenga dopo $t$
  • $Pr(T>t)$: la probabilità di sopravvivenza
Analisi di sopravvivenza in Python

La curva di sopravvivenza

$$\Large{S(t) = Pr(T>t)}$$

Esempio di curva di sopravvivenza.

Analisi di sopravvivenza in Python

La curva di sopravvivenza

$$\Large{S(t) = Pr(T>t)}$$

Esempio di curva di sopravvivenza.

Analisi di sopravvivenza in Python

La curva di sopravvivenza

$$\Large{S(t) = Pr(T>t)}$$

Esempio di curva di sopravvivenza.

Legenda curva di sopravvivenza.

Analisi di sopravvivenza in Python

Interpretare una curva di sopravvivenza

  • Punto$(a,b)$: la probabilità che un individuo sopravviva oltre $a$ è $b$

Esempio di curva di sopravvivenza.

Analisi di sopravvivenza in Python

Interpretare una curva di sopravvivenza

  • Punto$(a,b)$: la probabilità di sopravvivere oltre $a$ è $b$
  • Curva più piatta: tasso di eventi più basso
  • Curva più ripida: tasso di eventi più alto

Esempio di curva di sopravvivenza con punto evidenziato.

Analisi di sopravvivenza in Python

Modelli non parametrici vs parametrici

Modellazione non parametrica
  • Nessuna assunzione sulla forma dei dati
Modellazione parametrica
  • Alcune assunzioni sulla forma dei dati
  • Descritta con pochi parametri
    • es. la curva può seguire una distribuzione esponenziale
Analisi di sopravvivenza in Python

Modelli non parametrici vs parametrici

Modellazione non parametrica
  • La curva di sopravvivenza di solito NON è liscia

Esempio di curva di sopravvivenza non parametrica.

Modellazione parametrica
  • La curva di sopravvivenza di solito è liscia

Esempio di curva di sopravvivenza parametrica.

  • Dipende che il modello parametrico descriva bene i dati
Analisi di sopravvivenza in Python

Disegnare una curva di sopravvivenza

Il pacchetto lifelines è una libreria completa per l’analisi di sopravvivenza.

  • Stima funzioni di sopravvivenza dai dati
  • Traccia curve di sopravvivenza dalle funzioni stimate
import lifelines
import matplotlib.pyplot as plt

.fit(durations, event_observed)

.plot_survival_function()

Analisi di sopravvivenza in Python

Esempio di curva di sopravvivenza

Nome DataFrame: mortgage_df

id duration paid_off
1 25 0
2 17 1
3 5 0
... ... ...
100 30 1
  • id: id di un mutuo
  • duration: anni in cui il mutuo non è estinto
  • paid_off: 1 se il mutuo è estinto, 0 se non è completamente estinto
Analisi di sopravvivenza in Python

Esempio di curva di sopravvivenza

import lifelines
from matplotlib import pyplot as plt
kmf = lifelines.KaplanMeierFitter()
kmf.fit(duration=mortgage_df["duration"], 
        event_observed=mortgage_df["paid_off"])
kmf.plot_survival_function()
plt.show()

esempio di curva di sopravvivenza di Kaplan-Meier

Analisi di sopravvivenza in Python

Passiamo alla pratica!

Analisi di sopravvivenza in Python

Preparing Video For Download...