Applicare l’analisi di sopravvivenza ai gruppi

Analisi di sopravvivenza in Python

Shae Wang

Senior Data Scientist

Il problema del mutuo

Nome DataFrame: mortgage_df

id property type duration paid_off
1 house 25 0
2 apartment 17 1
3 apartment 5 0
... ... ... ...
100 house 30 1

Property type: tipo di casa finanziata dal mutuo (house o apartment)

Le tempistiche di estinzione differiscono tra mutui per case e appartamenti?
Analisi di sopravvivenza in Python

Confrontare le distribuzioni di sopravvivenza dei gruppi

Spesso vogliamo valutare se ci sono differenze di sopravvivenza (o di probabilità di evento/sopravvivenza) tra gruppi di soggetti.

  • Attributi dimensionali dei soggetti
    • es. tipi di mutui, marche di pneumatici
  • Gruppi sperimentali diversi
    • es. trattamento vs controllo
  • Valori diversi dello stesso attributo
    • es. famiglie a reddito alto vs basso
Analisi di sopravvivenza in Python

Tipi di confronti tra gruppi di sopravvivenza

1. Stime puntuali o statistiche di sopravvivenza sono diverse?
  • Confronta le probabilità di sopravvivenza a un tempo specifico
  • Confronta la quota totale di sopravvissuti tra due gruppi
Analisi di sopravvivenza in Python

Tipi di confronti tra gruppi di sopravvivenza

2. Le distribuzioni sottostanti sono diverse?
  • Richiede test d’ipotesi formali
Analisi di sopravvivenza in Python

Tipi di confronti tra gruppi di sopravvivenza

3. Quanto incide un attributo sulla sopravvivenza?
  • Richiede modelli basati sulla regressione
Analisi di sopravvivenza in Python

Visualizzare le differenze tra gruppi

Adatta una funzione di sopravvivenza di Kaplan–Meier a ciascun gruppo e visualizza le curve affiancate.

Vantaggi:

  • Semplice da usare e interpretare.
  • Non parametrica: più flessibile per diverse distribuzioni di sopravvivenza.
  • Utile per mostrare differenze tra funzioni di sopravvivenza.
Analisi di sopravvivenza in Python

Identificare i gruppi

Nome DataFrame: mortgage_df

id property type duration paid_off
1 house 25 0
2 apartment 17 1
3 apartment 5 0
... ... ... ...
100 house 30 1

Crea una maschera booleana per ogni gruppo.

house = (mortgage_df["property_type"]=="house")
apt = (mortgage_df["property_type"]=="apartment")

Se ci sono solo 2 gruppi, basta 1 maschera: l’altro gruppo si ottiene con la negazione.

Analisi di sopravvivenza in Python

Adattare e tracciare le curve di sopravvivenza

Crea una figura e istanzia la classe KaplanMeierFitter.

ax = plt.subplot(111)
mortgage_kmf = KaplanMeierFitter()

Adatta mortgage_kmf al gruppo house e traccia sulla figura ax.

mortgage_kmf.fit(duration=mortgage_df[house]["duration"], 
                 event_observed=mortgage_df[house]["paid_off"],
                 label="Houses")
mortgage_kmf.plot_survival_function(ax=ax)
Analisi di sopravvivenza in Python

Adattare e tracciare le curve di sopravvivenza

Adatta mortgage_kmf al gruppo apartment e traccia sulla figura ax.

mortgage_kmf.fit(duration=mortgage_df[apt]["duration"], 
                 event_observed=mortgage_df[apt]["paid_off"],
                 label="Apartments")
mortgage_kmf.plot_survival_function(ax=ax)
Analisi di sopravvivenza in Python

Visualizzare affiancato

plt.show()

Curve di sopravvivenza Kaplan–Meier: appartamento vs casa.

Analisi di sopravvivenza in Python

Interpretare le curve di sopravvivenza dei gruppi

Curve di sopravvivenza Kaplan–Meier: appartamento vs casa

  • In media i mutui per appartamenti si estinguono più in fretta di quelli per case.
  • A parità di durata, una quota maggiore estingue mutui per appartamenti rispetto alle case.

Nota: se gli intervalli di confidenza si sovrappongono, è meno probabile che ci sia una vera differenza tra le curve.

Analisi di sopravvivenza in Python

Ayo berlatih!

Analisi di sopravvivenza in Python

Preparing Video For Download...