Pourquoi utiliser l'analyse de survie?

Analyse de survie en Python

Shae Wang

Senior Data Scientist

Exemple : durée de vie moyenne d'une batterie

Nom du DataFrame : battery_df

ID batterie Durée Morte Marque Camion
1 2.5 ans Non Marque A Long
2 6 ans Oui Marque B Court
3 5 ans Non Marque B Long
... ... ... ... ...
1000 4.5 ans Oui Marque A Court

Quelle est la durée de vie moyenne d'une batterie?

np.average(battery_df["Duration"])
Analyse de survie en Python

Exemple : durée de vie moyenne d'une batterie

Dessin humoristique sur la censure de la durée de vie des batteries.

Analyse de survie en Python

Censure et durée de vie des batteries

Dessin humoristique sur la censure de la durée de vie des batteries.

  • $T_{duration} \neq T_{lifetime}$ pour les batteries non mortes.
  • Les batteries 1, 3, 4 et celles dont la défaillance n'a pas été observée sont mal prises en compte dans la moyenne.
Analyse de survie en Python

Le problème de censure

Quand le temps de survie n'est connu qu'en partie.

Comment la censure survient-elle?

  • L'événement n'a pas encore eu lieu à la fin de l'observation.
    • p. ex. un utilisateur en essai gratuit n'a pas converti en payant à la fin de l'expérience.
  • Données manquantes en raison d'un abandon ou d'une perte de contact.
    • p. ex. un utilisateur en essai gratuit refuse de partager ses données pour l'expérience.
Analyse de survie en Python

Types de censure

Dessin humoristique sur les types de censure.

  • Non censuré : l'événement a eu lieu et la durée de survie est connue.
  • Censuré à droite : la durée de survie est supérieure à la durée observée.
  • Censuré à gauche : la durée de survie est inférieure à la durée observée.
  • Censuré par intervalle : la durée de survie se trouve dans une plage donnée sans être connue exactement.
Analyse de survie en Python

Pourquoi la censure pose problème?

Statistiques agrégées

  • Une forme de données manquantes.
  • Biaisent les statistiques, p. ex. np.average(), max(), min().

Régression

  • La droite de régression linéaire minimise la somme des carrés des erreurs.
  • Avec des données censurées, on ne connaît pas les termes d'erreur.
Analyse de survie en Python

La fonction de survie

  • N'impute pas les données censurées.
  • Modélise la probabilité qu'une durée de survie soit supérieure à une certaine valeur.

  $$S(t)=Pr(T>t)$$

Analyse de survie en Python

Analyse de survie vs censure

Dessin humoristique sur des données non censurées.

Dessin humoristique sur des données censurées.

Analyse de survie en Python

Vérifier la censure dans les données

Peut-on repérer les points de données censurés?

Étape 1) Vérifier s'il existe des colonnes de censure (souvent prétraitées).

Y a-t-il trop de données censurées?

Étape 2) Vérifier la proportion de points censurés (règle générale : 50 %).

La censure est-elle non informative et aléatoire?

Étape 3) Examiner les causes de la censure pour s'assurer que le fait d'être censuré n'influe pas sur la survie.

Analyse de survie en Python

Passons à la pratique !

Analyse de survie en Python

Preparing Video For Download...