Överlevnadsanalys i Python
Shae Wang
Senior Data Scientist
DataFrame-namn: mortgage_df
| id | fastighetstyp | löptid | betald |
|---|---|---|---|
| 1 | house | 25 | 0 |
| 2 | apartment | 17 | 1 |
| 3 | apartment | 5 | 0 |
| ... | ... | ... | ... |
| 100 | house | 30 | 1 |
Fastighetstyp: typen av bostad som finansieras av bolånet (antingen house eller apartment)
Vi är ofta intresserade av att undersöka om det finns skillnader i överlevnad (eller händelse-/överlevnadssannolikheter) mellan olika grupper av individer.
Anpassa en Kaplan-Meier-överlevnadsfunktion till varje grupp och visualisera deras överlevnadskurvor sida vid sida.
Fördelar:
DataFrame-namn: mortgage_df
| id | fastighetstyp | löptid | betald |
|---|---|---|---|
| 1 | house | 25 | 0 |
| 2 | apartment | 17 | 1 |
| 3 | apartment | 5 | 0 |
| ... | ... | ... | ... |
| 100 | house | 30 | 1 |
Skapa en boolesk mask för varje grupp.
house = (mortgage_df["property_type"]=="house")
apt = (mortgage_df["property_type"]=="apartment")
Om det bara finns 2 grupper behövs bara 1 mask. Den andra gruppen kan refereras med negation.
Skapa en figur och instansiera en KaplanMeierFitter-klass.
ax = plt.subplot(111)
mortgage_kmf = KaplanMeierFitter()
Anpassa mortgage_kmf till husgruppen och plotta på figuren 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)
Anpassa mortgage_kmf till lägenhetsgruppen och plotta på figuren 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()


Obs: om konfidensintervallen överlappar vid vissa punkter är det mindre troligt att det finns en verklig skillnad mellan kurvorna.
Överlevnadsanalys i Python