Survivalanalyse in Python
Shae Wang
Senior Data Scientist
DataFrame-naam: 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: het type woning gefinancierd door de hypotheek (house of apartment)
We willen vaak weten of er verschillen zijn in survival (of gebeurtenis-/survivalkansen) tussen groepen.
Pas per groep een Kaplan-Meier-survivalfunctie toe en visualiseer de curves naast elkaar.
Voordelen:
DataFrame-naam: mortgage_df
| id | property type | duration | paid_off |
|---|---|---|---|
| 1 | house | 25 | 0 |
| 2 | apartment | 17 | 1 |
| 3 | apartment | 5 | 0 |
| ... | ... | ... | ... |
| 100 | house | 30 | 1 |
Maak voor elke groep een booleaanse mask.
house = (mortgage_df["property_type"]=="house")
apt = (mortgage_df["property_type"]=="apartment")
Zijn er slechts 2 groepen, dan is 1 mask genoeg. Verwijs naar de andere met negatie.
Maak één figuur en instantieer een KaplanMeierFitter.
ax = plt.subplot(111)
mortgage_kmf = KaplanMeierFitter()
Fit mortgage_kmf op de house-groep en plot op figuur 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)
Fit mortgage_kmf op de apartment-groep en plot op figuur 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)
plt.show()


Let op: overlappen de betrouwbaarheidsintervallen, dan is een echt verschil minder waarschijnlijk.
Survivalanalyse in Python