Din första överlevnadskurva!

Överlevnadsanalys i Python

Shae Wang

Senior Data Scientist

Överlevnadsfunktionen

  • $T$: när händelsen av intresse inträffar
  • $t$: en godtycklig tidpunkt under observationen

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

  • $S(t)$: modellerar sannolikheten att händelsen inträffar efter $t$
  • $Pr(T>t)$: överlevnadssannolikheten
Överlevnadsanalys i Python

Överlevnadskurvan

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

Exempel på överlevnadskurva.

Överlevnadsanalys i Python

Överlevnadskurvan

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

Exempel på överlevnadskurva.

Överlevnadsanalys i Python

Överlevnadskurvan

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

Exempel på överlevnadskurva.

Teckenförklaring för överlevnadskurva.

Överlevnadsanalys i Python

Tolka en överlevnadskurva

  • Punkt$(a,b)$: sannolikheten att en individ överlever längre än $a$ är $b$

Exempel på överlevnadskurva.

Överlevnadsanalys i Python

Tolka en överlevnadskurva

  • Punkt$(a,b)$: sannolikheten att en individ överlever längre än $a$ är $b$
  • Flackare kurva: lägre frekvens av händelsen
  • Brantare kurva: högre frekvens av händelsen

Exempel på överlevnadskurva med markerad punkt.

Överlevnadsanalys i Python

Icke-parametriska och parametriska modeller

Icke-parametrisk modellering
  • Gör inga antaganden om datans fördelning
Parametrisk modellering
  • Gör vissa antaganden om datans fördelning
  • Beskrivs med ett begränsat antal parametrar
    • t.ex. kan överlevnadskurvan antas följa en exponentialfördelning
Överlevnadsanalys i Python

Icke-parametriska och parametriska modeller

Icke-parametrisk modellering
  • Överlevnadskurvan är vanligtvis INTE slät

Exempel på icke-parametrisk överlevnadskurva.

Parametrisk modellering
  • Överlevnadskurvan är vanligtvis slät

Exempel på parametrisk överlevnadskurva.

  • Förutsätter att den parametriska modellen verkligen beskriver data väl
Överlevnadsanalys i Python

Rita en överlevnadskurva

Paketet lifelines är ett komplett bibliotek för överlevnadsanalys.

  • Anpassa överlevnadsfunktioner till data
  • Rita överlevnadskurvor baserade på anpassade överlevnadsfunktioner
import lifelines
import matplotlib.pyplot as plt

.fit(durations, event_observed)

.plot_survival_function()

Överlevnadsanalys i Python

Exempel på överlevnadskurva

DataFrame-namn: mortgage_df

id duration paid_off
1 25 0
2 17 1
3 5 0
... ... ...
100 30 1
  • id: id för ett bolåneavtal
  • duration: antal år som bolånet är obetalt
  • paid_off: 1 om bolånet är helt återbetalt, 0 om inte
Överlevnadsanalys i Python

Exempel på överlevnadskurva

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()

Exempel på Kaplan-Meier-överlevnadskurva

Överlevnadsanalys i Python

Nu kör vi en övning!

Överlevnadsanalys i Python

Preparing Video For Download...