Appliquer l'analyse de survie à des groupes

Analyse de survie en Python

Shae Wang

Senior Data Scientist

Le problème de l'hypothèque

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)

Le délai de remboursement diffère-t-il entre les hypothèques pour maisons et appartements?
Analyse de survie en Python

Comparer les distributions de survie des groupes

On veut souvent évaluer si la survie (ou les probabilités d'événement/survie) diffère entre des groupes de sujets.

  • Attributs dimensionnels des sujets
    • p. ex. types d'hypothèques, marques de pneus
  • Groupes expérimentaux distincts
    • p. ex. traitement vs témoin
  • Valeurs différentes pour un même attribut
    • p. ex. ménages à revenu élevé vs faible
Analyse de survie en Python

Types de comparaisons entre groupes en survie

1. Certaines estimations ponctuelles ou statistiques de survie diffèrent-elles?
  • Comparer les probabilités de survie de deux groupes à un moment précis
  • Comparer la proportion totale de sujets survivants entre deux groupes
Analyse de survie en Python

Types de comparaisons entre groupes en survie

2. Les distributions sous-jacentes sont-elles différentes?
  • Nécessite un test d'hypothèse formel
Analyse de survie en Python

Types de comparaisons entre groupes en survie

3. Dans quelle mesure un attribut affecte-t-il la survie?
  • Nécessite des modèles fondés sur la régression
Analyse de survie en Python

Visualiser les différences entre groupes

Ajuster une fonction de survie de Kaplan-Meier pour chaque groupe et visualiser les courbes côte à côte.

Avantages :

  • Simple à utiliser et à interpréter.
  • Non paramétrique, donc plus souple pour divers types de distributions de survie.
  • Outil illustratif utile pour montrer les différences entre fonctions de survie.
Analyse de survie en Python

Identifier les groupes

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.

Analyse de survie en Python

Ajuster et tracer les courbes de survie

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)
Analyse de survie en Python

Ajuster et tracer les courbes de survie

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)
Analyse de survie en Python

Visualiser côte à côte

plt.show()

Courbes de survie Kaplan-Meier : appartements vs maisons.

Analyse de survie en Python

Interpréter les courbes de survie des groupes

Courbes de survie Kaplan-Meier : appartements vs maisons

  • En moyenne, les hypothèques d'appartements semblent se rembourser plus vite que celles de maisons.
  • À toute durée donnée, une plus grande proportion d'utilisateurs remboursent les hypothèques d'appartements que celles de maisons.

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

Passons à la pratique !

Analyse de survie en Python

Preparing Video For Download...