Perché usare l'analisi di sopravvivenza?

Analisi di sopravvivenza in Python

Shae Wang

Senior Data Scientist

Esempio: vita media della batteria

Nome DataFrame: battery_df

ID batteria Durata Guasta Marca Camion
1 2,5 anni No Marca A Lungo
2 6 anni Marca B Corto
3 5 anni No Marca B Lungo
... ... ... ... ...
1000 4,5 anni Marca A Corto

Qual è la vita media della batteria?

np.average(battery_df["Duration"])
Analisi di sopravvivenza in Python

Esempio: vita media della batteria

Vignetta sulla vita della batteria e censura.

Analisi di sopravvivenza in Python

Censura nella vita della batteria

Vignetta sulla vita della batteria e censura.

  • $T_{duration} \neq T_{lifetime}$ per le batterie non guaste.
  • Le batterie 1, 3, 4 e le altre non osservate in guasto sono conteggiate in modo scorretto nella media.
Analisi di sopravvivenza in Python

Il problema della censura

Quando il tempo di sopravvivenza è noto solo in parte.

Come avviene la censura?

  • L'evento non è ancora avvenuto a fine osservazione.
    • es. un utente in prova non è passato al piano a pagamento a fine esperimento.
  • Dati mancanti per abbandono o perdita di contatto.
    • es. un utente in prova rifiuta di condividere i dati per l'esperimento.
Analisi di sopravvivenza in Python

Tipi di censura

Vignetta sui tipi di censura.

  • Non censurato: l'evento è avvenuto e la durata è nota.
  • Censura a destra: la durata è maggiore di quella osservata.
  • Censura a sinistra: la durata è minore di quella osservata.
  • Censura per intervallo: la durata è in un intervallo ma non esatta.
Analisi di sopravvivenza in Python

Perché la censura è un problema?

Statistiche aggregate

  • Un tipo di dato mancante.
  • Falsano statistiche, es. np.average(), max(), min().

Regressione

  • La retta di regressione minimizza la somma degli errori quadratici.
  • Con dati censurati, gli errori non sono noti.
Analisi di sopravvivenza in Python

La funzione di sopravvivenza

  • Non imputa i dati censurati.
  • Modella la probabilità che una durata superi un certo valore.

  $$S(t)=Pr(T>t)$$

Analisi di sopravvivenza in Python

Analisi di sopravvivenza vs. censura

Vignetta su dati non censurati.

Vignetta su dati censurati.

Analisi di sopravvivenza in Python

Verificare i dati per censura

Si possono individuare i dati censurati?

Passo 1) Cerca colonne di censura (spesso già preprocessate).

Troppi dati sono censurati?

Passo 2) Verifica la quota di punti censurati (regola pratica: 50%).

La censura è non informativa e casuale?

Passo 3) Indaga le cause della censura per assicurarti che l'essere censurato non influisca sulla sopravvivenza.

Analisi di sopravvivenza in Python

Passons à la pratique !

Analisi di sopravvivenza in Python

Preparing Video For Download...