Je eerste overlevingscurve!

Survivalanalyse in Python

Shae Wang

Senior Data Scientist

De overlevingsfunctie

  • $T$: wanneer de gebeurtenis van interesse optreedt
  • $t$: elk tijdstip tijdens een observatie

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

  • $S(t)$: modelleert de kans dat de gebeurtenis na $t$ plaatsvindt
  • $Pr(T>t)$: de overlevingskans
Survivalanalyse in Python

De overlevingscurve

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

Voorbeeld overlevingscurve.

Survivalanalyse in Python

De overlevingscurve

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

Voorbeeld overlevingscurve.

Survivalanalyse in Python

De overlevingscurve

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

Voorbeeld overlevingscurve.

Legenda overlevingscurve.

Survivalanalyse in Python

Een overlevingscurve interpreteren

  • Punt$(a,b)$: de kans dat iemand langer dan $a$ overleeft is $b$

Voorbeeld overlevingscurve.

Survivalanalyse in Python

Een overlevingscurve interpreteren

  • Punt$(a,b)$: de kans dat iemand langer dan $a$ overleeft is $b$
  • Vlakkere curve: lagere gebeurtenisfrequentie
  • Steilere curve: hogere gebeurtenisfrequentie

Voorbeeld van een overlevingscurve met gemarkeerd punt.

Survivalanalyse in Python

Niet-parametrisch versus parametrisch

Niet-parametrische modellering
  • Geen aannames over de vorm van de data
Parametrische modellering
  • Enkele aannames over de vorm van de data
  • Beschreven met een beperkt aantal parameters
    • bv. de overlevingscurve volgt een exponentiële verdeling
Survivalanalyse in Python

Niet-parametrisch versus parametrisch

Niet-parametrische modellering
  • Overlevingscurve is meestal NIET vloeiend

Voorbeeld niet-parametrische overlevingscurve.

Parametrische modellering
  • Overlevingscurve is meestal vloeiend

Voorbeeld parametrische overlevingscurve.

  • Werkt alleen als het parametrische model de data goed beschrijft
Survivalanalyse in Python

Een overlevingscurve tekenen

Het lifelines-pakket is een complete bibliotheek voor survivalanalyse.

  • Pas overlevingsfuncties op data
  • Plot overlevingscurves op basis van de gefitte functies
import lifelines
import matplotlib.pyplot as plt

.fit(durations, event_observed)

.plot_survival_function()

Survivalanalyse in Python

Voorbeeld overlevingscurve

DataFrame-naam: mortgage_df

id duration paid_off
1 25 0
2 17 1
3 5 0
... ... ...
100 30 1
  • id: het id van een hypotheeklening
  • duration: aantal jaren dat de hypotheek niet is afgelost
  • paid_off: 1 als de hypotheek volledig is afgelost, 0 als niet volledig
Survivalanalyse in Python

Voorbeeld overlevingscurve

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

voorbeeld kaplan-meier overlevingscurve

Survivalanalyse in Python

Laten we oefenen!

Survivalanalyse in Python

Preparing Video For Download...