{"id":1137,"date":"2015-02-19T17:50:39","date_gmt":"2015-02-19T22:50:39","guid":{"rendered":"http:\/\/bioinfo.iric.ca\/?p=1137"},"modified":"2016-11-08T09:30:14","modified_gmt":"2016-11-08T14:30:14","slug":"les-graphes-de-kaplan-meier","status":"publish","type":"post","link":"https:\/\/bioinfo.iric.ca\/fr\/les-graphes-de-kaplan-meier\/","title":{"rendered":"Les graphes de Kaplan-Meier"},"content":{"rendered":"<p>Lorsqu&rsquo;on travaille avec des donn\u00e9es li\u00e9es au cancer, un de nos objectifs est parfois de trouver des caract\u00e9ristiques (mutation, information clinique, expression g\u00e9nique, &#8230;) associ\u00e9es au prognostic, i.e. des caract\u00e9ristiques reli\u00e9es \u00e0 l&rsquo;\u00e9volution probable de la maladie.<\/p>\n<p>Si c&rsquo;est aussi l&rsquo;un de vos objectifs, vous aurez \u00e0 faire une analyse de survie. \u00a0Les analyses de survie sont constitu\u00e9es d&rsquo;un ensemble de m\u00e9thodes qui essaient de mod\u00e9liser \u00e0 quel moment un \u00e9v\u00e9nement d&rsquo;int\u00e9r\u00eat appara\u00eetra (temps d&rsquo;apparition), cet \u00e9v\u00e9nement \u00e9tant souvent le d\u00e9c\u00e8s. \u00a0En r\u00e9alit\u00e9, n&rsquo;importe quel \u00e9v\u00e9nement ayant un temps d&rsquo;apparition int\u00e9ressant pourrait \u00eatre \u00e9tudi\u00e9 (le temps avant l&rsquo;apparition d&rsquo;une infection apr\u00e8s une chirurgie, le temps de rejet d&rsquo;une greffe, le temps de r\u00e9cidive apr\u00e8s une cure de d\u00e9sintoxication ou le temps avant qu&rsquo;un premier ministre ne quitte le pouvoir\u00a0&#8212; pas grand chose \u00e0 voir avec la survie, je sais!&#8211;).<\/p>\n<p>Dans une analyse de survie, vous essayez d&rsquo;estimer la fonction de survie <i>S(t)<\/i>, i.e. la probabilit\u00e9 que l&rsquo;\u00e9v\u00e9nement <strong>ne soit pas encore survenu<\/strong> au temps <i>t<\/i>. \u00a0En th\u00e9orie, la fonction <i>S(t)<\/i> ressemblerait \u00e0 ceci :<\/p>\n<p><a href=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2015\/02\/survival_function_fr.png\"><img decoding=\"async\" class=\"alignnone size-medium wp-image-1152\" src=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2015\/02\/survival_function_fr-300x161.png\" alt=\"survival_function_fr\" width=\"300\" height=\"161\" srcset=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2015\/02\/survival_function_fr-300x161.png 300w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2015\/02\/survival_function_fr.png 738w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Au tout d\u00e9but, personne n&rsquo;a encore vu l&rsquo;\u00e9v\u00e9nement. \u00a0Et si on avait infini de temps (donc dans vraiment longtemps!!), l&rsquo;\u00e9v\u00e9nement arriverait \u00e0 tout le monde (particuli\u00e8rement si l&rsquo;\u00e9v\u00e9nement est le d\u00e9c\u00e8s). \u00a0Je suis certaine que vous avez d\u00e9j\u00e0 vu des courbes de survie, mais qu&rsquo;elles ne ressemblaient pas tout \u00e0 fait \u00e0 cela.<\/p>\n<p>En pratique, un des probl\u00e8mes majeurs rencontr\u00e9s est que vous ne connaissez pas tous les temps de survie de tous les individus \u00e9tudi\u00e9s. \u00a0Pour la plupart, vous saurez que l&rsquo;\u00e9v\u00e9nement est survenu au temps <i>t<\/i>, mais pour d&rsquo;autres, vous n&rsquo;aurez pas cette information. Vous saurez seulement que l&rsquo;\u00e9v\u00e9nement n&rsquo;est pas survenu au moment o\u00f9 les donn\u00e9es ont \u00e9t\u00e9 collect\u00e9es. \u00a0La personne peut \u00eatre sortie de l&rsquo;\u00e9tude. \u00a0Elle peut avoir \u00e9t\u00e9 perdue de vue. \u00a0L&rsquo;\u00e9tude peut s&rsquo;\u00eatre termin\u00e9e avant que l&rsquo;\u00e9v\u00e9nement ne survienne. \u00a0On appelle cela \u00ab\u00a0censure\u00a0\u00bb.<\/p>\n<p>L&rsquo;estimateur produit-limite de Kaplan-Meier est utilis\u00e9 en pratique pour g\u00e9rer les donn\u00e9es censur\u00e9es et estimer la fonction de survie. \u00a0Les courbes que vous avez vues \u00e9taient s\u00fbrement des graphes de Kaplan-Meier. avec chacune des censures indiqu\u00e9e par un petit trait vertical.<\/p>\n<p>Regardons de plus pr\u00e8s comment construire ces courbes!<\/p>\n<p>Normalement, vous d\u00e9buterez votre analyse avec des donn\u00e9es dans le format suivant:<\/p>\n<div style=\"font-size: 11px;\">\n<table class=\"gentable\" style=\"height: 326px;\" width=\"598\">\n<tbody>\n<tr>\n<td>Id.\u00c9chantillon<\/td>\n<td>Survie (jours)<\/td>\n<td>Censure (d\u00e9c\u00e9d\u00e9=1; vivant=0)<\/td>\n<\/tr>\n<tr>\n<td>TCGA-05-4395-01<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>TCGA-56-7822-01<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>TCGA-85-7699-01<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>TCGA-56-A4BW-01<\/td>\n<td>2<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>TCGA-85-8664-01<\/td>\n<td>3<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>TCGA-56-5897-01<\/td>\n<td>3<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>TCGA-71-8520-01<\/td>\n<td>3<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>TCGA-56-A5DR-01<\/td>\n<td>4<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>TCGA-56-A4ZK-01<\/td>\n<td>4<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>TCGA-77-7338-01<\/td>\n<td>5<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>\u00a0TCGA-94-7557-01<\/td>\n<td>5<\/td>\n<td>1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>&nbsp;<\/p>\n<p>La prochaine \u00e9tape est de transformer ce format en \u00ab\u00a0<em>life-table<\/em>\u00a0\u00bb (cette conversion peut \u00eatre faite dans Excel en utilisant les formules matricielles).<\/p>\n<div style=\"font-size: 11px;\">\n<table style=\"height: 138px;\" width=\"487\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\">Jours<\/td>\n<td style=\"text-align: center;\">Nb. d\u00e9c\u00e8s<\/td>\n<td style=\"text-align: center;\">Nb. censures<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">&#8211;<\/td>\n<td style=\"text-align: center;\">&#8211;<\/td>\n<td style=\"text-align: center;\">&#8211;<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">1<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">1<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">2<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">2<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">1<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">3<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">3<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">4<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">2<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">5<\/td>\n<td style=\"text-align: center;\">2<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Ensuite, vous devez calculer les probabilit\u00e9s :<\/p>\n<div style=\"font-size: 11px;\">\n<table class=\"gentable\" style=\"height: 138px;\" width=\"487\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\">Jours<\/td>\n<td style=\"text-align: center;\">Nb. d\u00e9c\u00e8s<\/td>\n<td style=\"text-align: center;\">Nb. censures<\/td>\n<td style=\"text-align: center;\">Nb de sujets<\/td>\n<td style=\"text-align: center;\">Probabilit\u00e9 de survie cumulative<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">&#8211;<\/td>\n<td style=\"text-align: center;\">&#8211;<\/td>\n<td style=\"text-align: center;\">&#8211;<\/td>\n<td style=\"text-align: center;\">&#8211;<\/td>\n<td style=\"text-align: center;\">1<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">1<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">11<\/td>\n<td style=\"text-align: center;\">10\/11 * 1 = 0.909<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">1<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">2<\/td>\n<td style=\"text-align: center;\">10<\/td>\n<td style=\"text-align: center;\">10\/10 * 0.909 = 0.909<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">2<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">1<\/td>\n<td style=\"text-align: center;\">8<\/td>\n<td style=\"text-align: center;\">8\/8 * 0.909 = 0.909<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">3<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">3<\/td>\n<td style=\"text-align: center;\">7<\/td>\n<td style=\"text-align: center;\">7\/7 * 0.909 = 0.909<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">4<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">2<\/td>\n<td style=\"text-align: center;\">4<\/td>\n<td style=\"text-align: center;\">4\/4 * 0.909 = 0.909<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">5<\/td>\n<td style=\"text-align: center;\">2<\/td>\n<td style=\"text-align: center;\">0<\/td>\n<td style=\"text-align: center;\">2<\/td>\n<td style=\"text-align: center;\">0\/2 * 0.909 = 0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Pour chaque point dans le temps, on calcule la probabilit\u00e9 de survie en divisant le<span style=\"text-decoration: underline;\"> nombre de non \u00e9v\u00e9nements<\/span> par le total. \u00a0On multiplie ensuite la probabilit\u00e9 du temps pr\u00e9c\u00e9dent <em>(t-1)<\/em> \u00e0 la probabilit\u00e9 courante. \u00a0Par exemple, au temps 0 (<em>t=0<\/em>), il y a 11 sujets au total dont un est d\u00e9c\u00e9d\u00e9 (l&rsquo;\u00e9v\u00e9nement est survenu). \u00a0Il y a donc 10 (11-1) sujets qui n&rsquo;ont pas vu l&rsquo;\u00e9v\u00e9nement. \u00a0Ainsi, nous divisons 10\/11 et nous multiplions par la probabilit\u00e9 pr\u00e9c\u00e9dente. \u00a0Dans ce cas-ci, comme nous sommes au temps 0, nous assumons que la probabilit\u00e9 pr\u00e9c\u00e9dente est \u00e9gale \u00e0 1.<\/p>\n<p>Les analyses de survie sont faciles \u00e0 effectuer en R et en Python (pour les fans de Python, j&rsquo;ai d\u00e9j\u00e0 parl\u00e9 du <i>package<\/i> lifelines <a title=\"lifelines (or doing survival analysis in Python)\" href=\"https:\/\/bioinfo.iric.ca\/2014\/03\/lifelines\/\">ici<\/a>). \u00a0Vous trouverez d&rsquo;ailleurs une liste de modules R li\u00e9s \u00e0 l&rsquo;analyse de survie <a href=\"http:\/\/cran.r-project.org\/web\/views\/Survival.html\">ici<\/a>. \u00a0 En R, ce n&rsquo;est pas plus compliqu\u00e9 que cela:<\/p>\n<div>\n<pre><code>\r\nlibrary(survival)\r\ndata(lung)\r\nY = Surv(lung<span class=\"hljs-variable\">$time<\/span>, lung<span class=\"hljs-variable\">$status<\/span>) \r\ns = survfit(Y~<span class=\"hljs-number\">1<\/span>) \r\nplot(s)<\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2015\/02\/Rplot.png\"><img decoding=\"async\" class=\"alignnone size-medium wp-image-1129\" src=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2015\/02\/Rplot-300x204.png\" alt=\"Rplot\" width=\"300\" height=\"204\" srcset=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2015\/02\/Rplot-300x204.png 300w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2015\/02\/Rplot.png 729w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Il y a aussi quelques outils disponibles en ligne (<a title=\"SurvCurv\" href=\"https:\/\/www.ebi.ac.uk\/thornton-srv\/databases\/SurvCurv\/analyse.php%20\">SurvCurv<\/a> ou <a title=\"Oasis\" href=\"http:\/\/sbi.postech.ac.kr\/oasis\/surv\/\">Oasis<\/a>). \u00a0Ils fonctionnent bien, mais n\u00e9cessitent que les donn\u00e9es soient\u00a0soumises sous forme de \u00ab\u00a0<em>life-table<\/em>\u00ab\u00a0.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lorsqu&rsquo;on travaille avec des donn\u00e9es li\u00e9es au cancer, un de nos objectifs est parfois de trouver des caract\u00e9ristiques (mutation, information clinique, expression g\u00e9nique, &#8230;) associ\u00e9es au prognostic, i.e. des caract\u00e9ristiques reli\u00e9es \u00e0 l&rsquo;\u00e9volution probable de la maladie. Si c&rsquo;est aussi l&rsquo;un de vos objectifs, vous aurez \u00e0 faire une analyse de survie. \u00a0Les analyses de survie sont constitu\u00e9es d&rsquo;un ensemble de m\u00e9thodes qui essaient de mod\u00e9liser \u00e0 quel moment un \u00e9v\u00e9nement d&rsquo;int\u00e9r\u00eat appara\u00eetra (temps d&rsquo;apparition), cet \u00e9v\u00e9nement \u00e9tant souvent le <a href=\"https:\/\/bioinfo.iric.ca\/fr\/les-graphes-de-kaplan-meier\/\"> [&#8230;]<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[41,27],"tags":[12],"class_list":["post-1137","post","type-post","status-publish","format-standard","hentry","category-bioinformatique","category-statistiques","tag-analyse-de-survie"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts\/1137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/comments?post=1137"}],"version-history":[{"count":16,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts\/1137\/revisions"}],"predecessor-version":[{"id":1181,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts\/1137\/revisions\/1181"}],"wp:attachment":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/media?parent=1137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/categories?post=1137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/tags?post=1137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}