flowchart LR
S["Début de l'étude<br/>(temps 0)"] --> A["Patient A ──► ✗ événement observé<br/>(temps exact connu)"]
S --> B["Patient B ───────► ○ censuré<br/>(en vie à la fin de l'étude)"]
S --> C["Patient C ──► ○ censuré<br/>(perdu de vue)"]
Qu’est-ce que l’analyse de survie ? Censure et risque
L’introduction en langage clair aux données de survie — ce qu’est la censure, pourquoi les méthodes ordinaires échouent, et comment les fonctions de survie et de risque décrivent le délai jusqu’à un événement
Une introduction en douceur à l’analyse de survie en R. Comprenez les données de survie (délai jusqu’au décès, à la rechute ou à la sortie), pourquoi la censure à droite met en échec un t-test ou une régression linéaire, et ce que signifient en mots simples la fonction de survie S(t) et la fonction de risque h(t) — puis lisez votre première courbe de Kaplan-Meier sur les données du cancer du poumon.
- L’analyse de survie étudie le délai jusqu’à la survenue d’un événement — délai jusqu’au décès, jusqu’à la rechute, jusqu’à la sortie de l’hôpital, jusqu’à la panne d’une machine. Le résultat est une durée, pas un oui/non.
- Son défi caractéristique est la censure : pour certains sujets, l’événement ne s’est tout simplement pas encore produit à la fin de l’étude (ou ils sont perdus de vue), de sorte que tout ce que vous savez, c’est qu’ils ont survécu au moins aussi longtemps.
- Cette information partielle est exactement la raison pour laquelle vous ne pouvez pas utiliser un t-test ou une régression linéaire ordinaires sur les durées de suivi — l’un comme l’autre écarteraient les patients censurés ou traiteraient « encore en vie » comme « décédé maintenant », et fausseraient votre réponse.
- Deux fonctions décrivent les données : la fonction de survie
S(t)(la probabilité de survivre au-delà du temps t) et la fonction de risqueh(t)(le risque instantané de l’événement à l’instant présent, sachant que vous êtes arrivé jusque-là). - La courbe de Kaplan-Meier est la représentation de
S(t)— une ligne en escalier qui chute à chaque événement. C’est la première chose que vous calculez, et le fondement de tout ce qui suit.
Introduction
Imaginez un essai sur le cancer du poumon. Vous recrutez 228 patients et vous les suivez pendant des mois. Certains décèdent pendant l’étude — vous notez exactement quand. D’autres sont encore en vie à la clôture de l’étude, ou déménagent et cessent tout contact. Pour ces patients, vous ne connaissez pas leur durée de survie — seulement qu’elle a été au moins aussi longue que le temps pendant lequel vous les avez observés. Et la question qui vous intéresse réellement est : combien de temps ces patients survivent-ils, et qu’est-ce qui modifie cela ?
C’est l’analyse de survie — une famille de méthodes pour les données de survie, où le résultat est le délai jusqu’à ce que quelque chose se produise. On l’appelle aussi analyse du délai jusqu’à l’événement, analyse des historiques d’événements (dans les sciences sociales), et analyse de fiabilité ou de durée jusqu’à la défaillance (en ingénierie). Partout où la question est « combien de temps jusqu’à… ? », c’est la boîte à outils.
Quelques exemples concrets rendent la nature des données plus claire :
- Délai jusqu’au décès dans un essai sur le cancer (la classique survie globale).
- Délai jusqu’à la rechute après qu’un traitement a mis un patient en rémission (survie sans rechute ou sans maladie).
- Délai jusqu’à la sortie de l’hôpital après une chirurgie.
- Délai jusqu’à la défaillance d’un composant dans une étude de fiabilité.
Dans chaque cas, l’événement peut être le décès, la rechute, la progression, la sortie ou la défaillance — et dans chaque cas certains sujets atteindront la fin de l’étude sans l’événement. Gérer correctement ces sujets est tout l’enjeu de l’analyse de survie.
La censure : l’idée qui fait de l’analyse de survie un domaine à part entière
Voici le problème central. Imaginez trois patients dans votre essai :
- Le patient A décède à 8 mois. Vous avez observé l’événement. Vous connaissez la durée de survie exacte : 8 mois.
- Le patient B est encore en vie à la fin de l’étude, à 12 mois. Vous ne connaissez pas sa durée de survie — seulement qu’elle est supérieure à 12 mois.
- Le patient C part à l’étranger à 5 mois et vous perdez contact. Là encore, vous savez seulement qu’il a survécu au moins 5 mois.
Les patients B et C sont censurés : vous disposez d’une information incomplète sur le moment de leur événement. Plus précisément, il s’agit d’une censure à droite — le véritable événement se situe quelque part à droite du dernier instant où vous les avez vus, au-delà du bord de vos données. C’est de loin la forme la plus courante, et c’est ce que gère chaque méthode de cette série.
Un sujet est censuré à droite lorsque, à la fin du suivi, il n’a pas eu l’événement :
- Il n’a tout simplement pas connu l’événement au cours de la fenêtre d’étude (encore en vie à la clôture de l’étude).
- Il est perdu de vue (déménagement, retrait, plus de réponse).
- Un événement différent rend tout suivi ultérieur impossible.
Dans les trois cas, vous n’observez pas le moment de l’événement — vous savez seulement que le sujet a survécu au moins jusqu’à l’instant de censure. Ce « au moins » est une information réelle et précieuse, et l’analyse de survie est conçue pour l’exploiter.
Les croix sont des événements que nous avons observés ; les cercles ouverts sont des observations censurées, où tout ce que nous savons est « l’ événement ne s’était pas encore produit ».
Pourquoi vous ne pouvez pas simplement utiliser un t-test ou une régression linéaire
Il est tentant de traiter les durées de suivi comme des nombres ordinaires et de recourir aux outils que vous connaissez déjà — un t-test pour comparer les durées moyennes de deux groupes, ou une régression linéaire pour modéliser le temps en fonction d’un prédicteur. Les deux échouent sur des données censurées — voici pourquoi :
- Si vous écartez les patients censurés (en ne gardant que ceux dont l’événement est observé), vous jetez une information réelle et vous introduisez un biais : les patients qui ont survécu le plus longtemps sont précisément ceux qui ont le plus de chances d’être encore en vie à la clôture de l’étude ; les supprimer fait donc paraître la survie pire qu’elle ne l’est.
- Si vous les gardez mais traitez « encore en vie à 12 mois » comme « décédé à 12 mois », vous enregistrez un événement qui n’a pas eu lieu. Cela fait paraître la survie plus courte qu’elle ne l’est.
Il n’y a aucun moyen honnête de forcer des durées censurées dans un t-test ou un modèle linéaire — la structure des données est fondamentalement différente. Un résultat de survie n’est pas un seul nombre ; c’est une paire : combien de temps nous avons observé, et si l’événement s’est réellement produit. Les méthodes de survie (Kaplan-Meier, le test du log-rank, la régression de Cox) sont conçues dès le départ pour exploiter les deux moitiés de cette paire.
Les méthodes ordinaires exigent un résultat complet pour chaque sujet ; les données de survie n’en ont délibérément pas un (c’est ce qu’est la censure) — il nous faut donc des méthodes qui tirent de l’information de « a survécu au moins aussi longtemps » au lieu de l’ignorer.
Les deux fonctions qui décrivent les données de survie
Les données de survie se résument par deux quantités apparentées. Vous n’avez besoin d’aucune mathématique lourde pour les utiliser — juste une image claire de ce que chacune répond.
La fonction de survie S(t) — « quelle fraction est encore sans événement ? »
La fonction de survie, notée S(t), est la probabilité qu’un sujet survive au-delà du temps t — que l’événement ne se soit pas produit d’ici là. C’est la façon naturelle de résumer les données :
- Au départ,
S(0) = 1: tout le monde est sans événement. - Elle ne peut que rester stable ou décroître au fil du temps (on ne peut pas « ressusciter »), jamais augmenter.
- Elle tend vers 0 à mesure que, finalement, davantage de sujets connaissent l’événement.
Lisez une valeur et elle prend instantanément du sens : S(12 months) = 0.62 signifie « 62 % des patients sont encore en vie à 1 an ». Le temps où S(t) descend pour la première fois à 0.5 est la survie médiane — le point auquel la moitié des sujets ont eu l’événement. C’est le chiffre le plus cité d’une étude de survie.
La fonction de risque h(t) — « quel est le risque à l’instant présent ? »
La fonction de risque, notée h(t), regarde les mêmes données du côté opposé. C’est le risque instantané de l’événement au temps t, sachant que le sujet a survécu jusqu’à t. Là où S(t) se concentre sur le fait de ne pas avoir l’événement, h(t) se concentre sur la survenue de l’événement — la « force de mortalité » à chaque instant.
Pourquoi avoir les deux ? Parce qu’elles répondent à des questions cliniques différentes. S(t) répond à « quelle fraction dépasse 2 ans ? » (idéal pour conseiller un patient ou étiqueter un médicament). h(t) répond à « le risque est-il le plus élevé tôt, ou augmente-t-il plus tard ? » (idéal pour comprendre la maladie et choisir un modèle). Les deux sont deux vues d’un même processus sous-jacent, et vous rencontrerez les deux tout au long de cette série.
Vous pouvez sauter cette partie sans rien perdre de pratique. Pour les curieux, les deux fonctions sont formellement liées. La fonction de survie est la probabilité que le moment de l’événement \(T\) dépasse \(t\) :
\[ S(t) = P(T > t) \]
Le risque est le taux instantané d’événement parmi ceux encore à risque, et l’intégrer redonne la fonction de survie :
\[ S(t) = \exp\!\left(-\int_0^t h(u)\,du\right) \]
La quantité à l’intérieur, \(H(t) = \int_0^t h(u)\,du\), est le risque cumulé — le risque total accumulé au temps \(t\). À retenir en pratique, simplement, que S(t) et h(t) sont les deux faces d’une même pièce : connaissez-en une et vous connaissez l’autre.
Votre première courbe de survie en R
Nous utiliserons lung, le jeu de données sur le cancer du poumon du North Central Cancer Treatment Group (NCCTG) fourni avec le package survival : la survie chez 228 patients atteints d’un cancer du poumon avancé. C’est le jeu de données sur lequel tout le domaine fait ses premières armes.
D’abord, chargez le package et jetez un œil aux données. Le package survival est en LazyData, donc une fois chargé vous pouvez référencer lung directement — aucun appel à data() n’est nécessaire :
library(survival)
head(lung) inst time status age sex ph.ecog ph.karno pat.karno meal.cal wt.loss
1 3 306 2 74 1 1 90 100 1175 NA
2 3 455 2 68 1 0 90 90 1225 15
3 3 1010 1 56 1 0 90 90 NA 15
4 5 210 2 57 1 1 90 60 1150 11
5 1 883 2 60 1 0 100 90 NA 0
6 12 1022 1 74 1 1 50 80 513 0
Deux colonnes portent le résultat de survie, et ce sont les seules dont nous avons besoin pour l’instant :
time— combien de temps chaque patient a été suivi, en jours.status— ce qui s’est passé à la fin de ce temps : 1 = censuré (en vie au dernier contact) ou 2 = décédé (l’événement s’est produit).
L’objet Surv() — réunir « combien de temps » et « ce qui s’est passé »
Un résultat de survie est une paire, R dispose donc d’un objet spécial pour cela : Surv(time, status). Il colle la durée de suivi à l’indicateur d’événement en une réponse unique. R lit automatiquement status codé 1 = censuré / 2 = événement, et marque chaque observation censurée d’un + en suffixe :
library(survival)
head(Surv(lung$time, lung$status))[1] 306 455 1010+ 210 883 1022+
Lisez les premières valeurs : 306 signifie un patient qui est décédé à 306 jours, tandis que 1010+ signifie un patient qui était encore en vie (censuré) à 210 jours — le + est la censure rendue visible. Cet objet Surv() est la réponse dans chaque modèle de survie que vous ajusterez, de Kaplan-Meier à Cox.
Estimer et tracer la courbe de survie globale
Voici la récompense. Nous ajustons une unique courbe de Kaplan-Meier globale — la survie pour l’ensemble de la cohorte, sans regroupement — à l’aide de survfit(), puis nous la traçons avec ggsurvplot() de survminer. Le ~ 1 à droite de la formule signifie « une seule courbe pour tout le monde » :
library(survival)
library(survminer)
fit <- survfit(Surv(time, status) ~ 1, data = lung)
ggsurvplot(
fit, data = lung,
conf.int = TRUE, # the shaded 95% confidence band
risk.table = TRUE, # the "number at risk" table beneath the plot
surv.median.line = "hv", # mark the median survival time
palette = "jco",
ggtheme = theme_minimal(),
xlab = "Time (days)",
ylab = "Survival probability"
)
Comment lire ce graphique — il est S(t) :
- L’axe des y est la probabilité de survie
S(t); l’axe des x est le temps en jours. - La courbe démarre à 1.0 au jour 0 (tout le monde en vie) et descend par paliers à chaque décès. Chaque chute verticale correspond à un ou plusieurs événements.
- Les petites marques de graduation sur la ligne sont des patients censurés — l’instant où nous avons perdu de vue quelqu’un qui était encore sans événement.
- La bande ombrée est l’intervalle de confiance à 95 % : notre incertitude sur le vrai
S(t). Remarquez qu’elle s’élargit à droite, où il reste peu de patients — les estimations tardives sont plus fragiles. - La ligne médiane en pointillés marque l’endroit où la courbe croise
S(t) = 0.5: la survie médiane est d’environ 310 jours pour cette cohorte — la moitié des patients survivent au-delà de ~10 mois. - La table du nombre de sujets à risque en dessous indique combien de patients sont encore suivis (encore « à risque ») à chaque instant — elle diminue à mesure que des patients décèdent ou sont censurés.
Cette seule image — construite directement à partir des données censurées Surv(), sans écarter personne — est toute la motivation de l’analyse de survie en une image.
Essayez en direct
Tracez vous-même la courbe globale, puis répartissez-la par sexe pour avoir un aperçu de la comparaison de groupes — remplacez ~ 1 par ~ sex. Le bac à sable démarre au premier Run.
Demandez à Prova « J’ai des durées de suivi et un indicateur d’événement pour mes patients — montre-moi comment construire un objet Surv() et tracer une courbe de Kaplan-Meier en R, et explique ce que la censure fait à mes données » — elle répond avec du code survival + survminer que vous pouvez exécuter sur vos propres données. The runtime is the judge. Demandez à Prova →
Problèmes courants
Vous interprétez à tort une censure comme « l’événement s’est produit ». Une observation censurée signifie que l’événement ne s’est pas produit pendant le suivi — vous savez seulement que le sujet a survécu au moins aussi longtemps. Dans les données lung, status = 1 est censuré et status = 2 est l’événement (le décès). Traiter des temps censurés comme des temps d’événement (ou supprimer les patients censurés) biaise la courbe. Vérifiez toujours comment votre indicateur d’événement est codé avant d’ajuster quoi que ce soit ; avec Surv(), un + en suffixe dans l’affichage est votre contrôle visuel que la censure est bien reconnue.
Vous avez utilisé un t-test ou une régression linéaire sur des données de survie. Si votre résultat est une durée et que certains sujets n’ont pas eu l’événement, les tests ordinaires ne s’appliquent pas — ils n’ont aucun moyen d’exploiter honnêtement les sujets censurés. Recourez plutôt à la boîte à outils de survie : Kaplan-Meier pour décrire, le test du log-rank pour comparer des groupes, et la régression de Cox pour ajuster sur des covariables.
Questions fréquentes
L’analyse de survie répond à « combien de temps jusqu’à la survenue d’un événement ? » Elle s’utilise partout où le résultat est un délai jusqu’à un événement — délai jusqu’au décès ou à la rechute dans les essais médicaux, délai jusqu’au départ d’un client, délai jusqu’à la défaillance d’une pièce en ingénierie, délai pour qu’un chômeur retrouve un emploi en économie. Sa force est de gérer les sujets censurés, qui n’ont pas eu l’événement à la fin de l’étude.
La censure signifie que vous disposez d’une information incomplète sur le moment de l’événement d’un sujet. La forme la plus courante, la censure à droite, se produit lorsque l’événement n’a pas eu lieu à la fin du suivi — le sujet est encore sans événement à la clôture de l’étude, ou a été perdu de vue. Vous ne connaissez pas sa durée de survie exacte, seulement qu’elle est au moins aussi longue que le temps pendant lequel vous l’avez observé. Les méthodes de survie sont spécifiquement conçues pour exploiter cette information partielle plutôt que de l’ignorer.
Elles décrivent les mêmes données de côtés opposés. La fonction de survie S(t) est la probabilité de survivre au-delà du temps t (elle démarre à 1 et décroît) — elle répond à « quelle fraction est encore sans événement ? » La fonction de risque h(t) est le risque instantané de l’événement au temps t, sachant la survie jusqu’à t — elle répond à « quel est le risque à cet instant ? » S(t) se concentre sur le fait de ne pas avoir l’événement ; h(t) se concentre sur la survenue de l’événement. Elles sont liées mathématiquement, de sorte que connaître l’une détermine l’autre.
Parce qu’aucune des deux ne gère la censure. La régression linéaire a besoin d’un temps complet pour chaque sujet, mais les sujets censurés n’ont pas de moment d’événement observé. La régression logistique modélise un résultat oui/non et ignore quand l’événement s’est produit — et elle ne peut pas traiter les sujets dont le statut est « pas encore, mais peut-être plus tard ». Les deux supprimeront les sujets censurés (biaisant le résultat) ou les étiquetteront mal. Les méthodes de survie utilisent les deux éléments d’information — la durée de suivi et la survenue ou non de l’événement.
La courbe de Kaplan-Meier est la représentation standard de la fonction de survie S(t) : une ligne en escalier qui démarre à 1.0 et chute à chaque moment d’événement, estimée directement à partir de données censurées sans supposer aucune distribution particulière. En la lisant, vous pouvez voir la proportion de survivants à tout instant, la survie médiane (là où la courbe croise 0.5), et — avec une bande de confiance — la certitude de l’estimation. C’est presque toujours la première analyse que vous exécutez.
Testez vos connaissances
- Exécutez-le. Dans la cellule interactive ci-dessous, construisez un objet
Surv()à partir des donnéeslunget affichez les 10 premières valeurs. Trouvez une observation avec un+en suffixe — que vous dit-elle sur ce patient ? - Interprétez. Une courbe de Kaplan-Meier pour un essai montre
S(t)croisant 0.5 à 18 mois, etS(24 months) = 0.34. En clair, quelle est la survie médiane, et quelle fraction des patients sont en vie à 2 ans ?
Un + en suffixe après un temps (p. ex. 1010+) marque un patient censuré : il était encore sans événement à ce moment-là, donc la véritable durée de survie est au moins aussi longue. Pour la question 2, la survie médiane est le temps où S(t) = 0.5, et S(24 months) = 0.34 se lit directement comme un pourcentage de personnes en vie à 24 mois.
head(Surv(lung$time, lung$status), 10)
#> 306 455 1010+ 210 883 1022+ 310 361 218 166
#> A value like 1010+ is a CENSORED patient: still alive at 1010 days, so their
#> true survival time is at least 1010 days — the event was never observed.Pour la question 2 : la survie médiane est de 18 mois (la moitié des patients ont eu l’événement d’ici là), et parce que S(24 months) = 0.34, 34 % des patients sont encore en vie à 2 ans.
Un patient inscrit dans un essai de 2 ans est encore en vie et sans événement lorsque l’étude se clôt à 24 mois. Comment ce patient doit-il être enregistré dans une analyse de survie ?
Censuré à droite à 24 mois. L’événement (le décès) n’a jamais été observé, donc nous ne connaissons pas la véritable durée de survie du patient — seulement qu’elle est supérieure à 24 mois. Nous gardons le patient dans l’analyse avec une durée de suivi de 24 mois et un statut censuré ; le supprimer ou l’enregistrer comme « décédé à 24 mois » biaiserait l’estimation de survie.
Conclusion
L’analyse de survie est la boîte à outils des données de survie — les questions de la forme « combien de temps jusqu’à… ? ». Sa caractéristique première est la censure : les sujets qui n’ont pas eu l’événement à la fin du suivi portent encore l’information « a survécu au moins aussi longtemps », et les méthodes ordinaires comme le t-test ou la régression linéaire n’ont aucun moyen honnête de les exploiter. Deux fonctions décrivent les données — la fonction de survie S(t), la probabilité de survivre au-delà de t, et la fonction de risque h(t), le risque instantané en t — et la courbe de Kaplan-Meier est la représentation de S(t), estimée directement à partir des données censurées. Avec l’objet Surv(time, status) et un seul appel à survfit(), vous avez tracé cette image pour la cohorte du cancer du poumon. À partir de là, vous pouvez l’estimer correctement, la comparer entre groupes, et modéliser ce qui la modifie.
Leçons connexes
- Estimation de Kaplan-Meier — estimez correctement la courbe de survie, les médianes et les intervalles de confiance. · Test du log-rank — comparez la survie entre deux groupes ou plus et testez la différence. · Modèle à risques proportionnels de Cox — modélisez l’effet de covariables sur le risque et rapportez les hazard ratios. · Tester l’hypothèse des risques proportionnels — le diagnostic qui maintient un modèle de Cox honnête.
- Pour aller plus loin : Analyse de survie — la série complète. · Biostatistique — le pilier.
Prouvez que vous savez le faire. Maîtrisez toute la série Analyse de survie en R — suivez votre parcours, construisez des projets et obtenez un certificat.
Passez à Pro — Prova illimité sur vos propres données et un certificat vérifiable qui atteste la compétence.
dès 15 $/mois facturé annuellement
✓ Vous êtes Pro — continuez. The runtime is the judge.
Prêt à passer à la vitesse supérieure ?
Chaque résultat de cette page a été produit par le code montré, exécuté au moment du build contre un environnement R figé — modifiez n’importe quel bloc et faites Run pour le reproduire vous-même.
Réutilisation
Citation
@online{2026,
author = {},
title = {Qu’est-ce que l’analyse de survie\,? Censure et risque},
date = {2026-06-25},
url = {https://www.datanovia.com/learn/biostatistics/survival-analysis/what-is-survival-analysis},
langid = {fr}
}