Analyse de survie en Python
Shae Wang
Senior Data Scientist
Nom du 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 : type d'habitation financée par l'hypothèque (house ou apartment)
On veut souvent évaluer si la survie (ou les probabilités d'événement/survie) diffère entre des groupes de sujets.
Ajuster une fonction de survie de Kaplan-Meier pour chaque groupe et visualiser les courbes côte à côte.
Avantages :
Nom du 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 |
Créer un masque booléen pour chaque groupe.
house = (mortgage_df["property_type"]=="house")
apt = (mortgage_df["property_type"]=="apartment")
S'il n'y a que 2 groupes, un seul masque suffit. L'autre peut être obtenu par négation.
Créer une figure et instancier la classe KaplanMeierFitter.
ax = plt.subplot(111)
mortgage_kmf = KaplanMeierFitter()
Ajuster mortgage_kmf pour le groupe « house » et tracer sur la figure 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)
Ajuster mortgage_kmf pour le groupe « apartment » et tracer sur la figure 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()


Remarque : si les intervalles de confiance se chevauchent à certains points, il est moins probable qu'il y ait une vraie différence entre les courbes.
Analyse de survie en Python