Assessing the efficacy of a leukemia treatment for expanding the remission time of patients (survival analysis) / Evaluation de l'efficacité d'un traitement contre la leucémie pour prolonger le temps de rémission des patients (analyse de survie)
Cette étude illustre les contributions que je peux apporter au sein des entreprises du secteur médical.:hospital::pill:
©Frantz Point Du Jour, août 2022
Les entreprises du secteur médical (pharmacies, hôpitaux,...) sont souvent appelées à réaliser des recherches expérimentales pour vérifier l'efficacité des traitements contre les maladies. En général, les traitements administrés peuvent s'attaquer à la cause de la maladie (traitement curatif) ou simplement viser à soulager l'individu des effets perturbateurs (traitement symptomatique). Les traitements impliquent, entre autres : les médicaments, la chirurgie, la radiothérapie, la chimiothérapie, la kinésithérapie etc. Je traiterai ici de l'expérimentation d'un traitement médicamenteux contre le cancer du sang (leucémie). L'objectif est d'analyser l'efficacité de ce traitement en tenant compte des caractéristiques individuelles telles que le sexe et la quantité de leucocytes du plasma sanguin.
L'efficacité du traitement est mesurée ici comme sa capacité à prolonger la rémission du malade, autrement dit, à arrêter ou retarder la rechute (réaparition des symptômes). Notre variable d'intérêt est donc la durée de rémission du patient à compter du début d'administration du traitement jusqu'à la rechute. Etant donné que la variable d'intérêt est le temps, nous ne pouvons pas utilisé les méthodes statistiques classiques basées sur la loi normale pour étudier ce phénomène. Nous allons faire appel aux méthodes de modélisation du temps pour aboutir à des résultats concluants. Il s'agit des méthodes utilisées en analyse de survie ou analyse de durée de vie. Nous utiliserons le modèle de Kaplan Meier (KM) et le modèle de Cox pour explorer et modéliser les données. Les commandes seront exécuter sur SAS mais il est également possible de réaliser l'analyse sur d'autres logiciels tels que R, Phyton, Stata ou SPSS.
Les données sont issues des publications de Kleinbaum & Klein (2012) et contenues dans le fichier leukemia.sas7bdat
du répertoire data
. Les versions .rda
et .csv
de la base figurent également dans ledit répertoire pour faciliter l'analyse éventuellement sur d'autres logiciels. Ci-dessous, nous décrivons les différentes variables présentes dans la base.
- time Temps de survie (en semaines)
- status Statut de la censure : 1=rechute, 0=censure (absence de l'événement)
- sex Sexe du patient : 0=Femme 1=Homme
- logWBC Logarithme de la quantité de leucocytes (globules blancs) dans le sang
- rx
Groupe d'appartenance : 1=Contrôle 0 =Traitement
1. Vérification des données
Tout d'abord, nous allons visualiser les données de la base. Nous exécutons les commandes ci-dessous. La première commande permet de définir le chemin d'accès du fichier contenant la base de données. Notre fichier est contenu ici dans le répertoire data
qui est à son tour dans le dossier cancer-treatment-effect
du répertoire github
sur le bureau de notre ordinateur. Vous devez donc changer le chemin suivant l'endroit où vous avez enregistré la base de données. Une fois la librairie définie, la deuxième commande permet de charger la base de données sous le nom de remission
, et les deux dernières commandes affichent les propriétés de la base. Les premiers résultats sont affichés ci-dessous. Le premier tableau (à gauche) confirme qu'il y a 42 observations et 5 variables dans la base. Le deuxième (à droite) présente le nom et une courte description des variables. Et au dernier tableau, nous avons un aperçu des cinq premières observations. Nous voyons que les premiers patients de la liste sont de sexe masculin et ont des taux variables de globules blancs, ils font partie du groupe de traitement et n'ont pas connu la rechute pendant l'expérience.
/*Designation de la librairie*/
libname tp 'C:\Users\user\Desktop\github\cancer-treatment-effect\data';
/*Chargement de la base de données*/
data remission;
set tp.leukemia;
run;
/*Affichage du contenu de la base de donnees*/
proc contents data = remission;
run;
proc print data = remission (obs=5);
run;
1. Analyse non paramétrique
Le modèle Kaplan Meier peut être utilisé pour réaliser les estimations sur notre échantillon puisqu'il est petit. Nous estimons ainsi une première courbe de survie dite globale de l'échantillon. Cette courbe nous renseigne sur l'évolution de la probabilité de survie de tous les patients répartis en un seul groupe. La courbe est classique (décroissante dans le temps). Au début de l'expérience, la proportion d'individus qui n'ont pas connu la rechute est de 100% alors qu'elle est réduite à moins de 20% au delà de 23 semaines. Sur les 42 patients, 30 (71.4%) ont connu la rechute pendant l'expérience et les 12 autres ont été censurés. Ce dernier groupe regroupe les patients qui ont terminé l'expérience en état de rémission ou bien ont laissé l'expérience avant la fin. Le temps moyen de rémission des patients est de 13 semaines, mais la majorité ont une durée de rémission inférieure à la moyenne (mediane < moyenne). Les estimations aux quartiles montrent que 75% des patients sont restés en rémission jusqu'à 23 semaines, 50% jusqu'à 12 semaines et 25% jusqu'à 6 semaines.
/*Estimation non parametrique : modele de K-M*/
proc lifetest data=remission method=KM conftype=linear plots=(h);
time time*status(0);
run;
Décomposons maintenant la courbe de survie suivant les caractéristiques distinctives des patients (sexe, groupe d'appartenance). Les commandes exécutées sur SAS suivies des résultats sont donnés ci-dessous. Le croisement des courbes indique un absence de différence significative entre les groupes. C'est le cas entre les femmes et les hommes qui se comportent de la même manière quant à la durée de survie. Cependant, nous voyons une différence entre les individus appartenant au groupe de traitement et ceux du groupe de contrôle. Les premiers ont un temps de survie plus long comparativement aux seconds.
/*Estimation non parametrique avec le sexe comme variable categorielle*/
proc lifetest data=remission method=KM;
time time*status(0);
strata sex;
run;
proc lifetest data=remission method=KM;
time time*status(0);
strata rx;
run;
Nous analysons maintenant par rapport à la quantité de globules blancs dans le sang. En examinant la distribution de la variable logWBC
, nous notons que les patients sont équitablement répartis autour d'un niveau médian de 2.8. Nous pouvons donc décomposer notre échantillon en deux groupes : les patients ayant un niveau élevé de leucocytes (1) et ceux ayant un niveau faible de leucocytes (0). La deuxième commande ci-dessous conduit à créer cette nouvelle variable de calcul dans la base de données. La dernière commande permet ensuite de lancer la procédure d'estimation par le modèle KM et produit la sortie graphique plus bas. Outre l'appartenance aux groupes (traitement vs contrôle), nous remarquons aussi que le taux de globules blancs du sang a un impact sur le temps de survie des individus. En effet, les patients qui ont un taux faibles de globules blancs mettent plus de temps avant la rechute comparé à ceux ayant un taux élevé de globules blancs.
/*Statistiques descriptive sur la quantite de globules blancs*/
proc univariate data=remission;
var logWBC;
run;
/*Transformation d'une variable discrete en variable continue*/
data remission;
set remission;
logWBC = .;
if logWBC > 2.8 then LWBC = 1;
else LWBC = 0;
run;
/*Estimation non parametrique avec le niveau de globules blancs comme variable categorielle*/
proc lifetest data=remission method=KM;
time time*status(0) ;
strata LWBC;
run;
2. Analyse paramétrique
Dans la précédente analyse, nous avons vu que le temps de rémission des patients atteints du cancer est impacté positivement par le traitement médicamenteux proposé. Mais un temps de rémission plus long peut être lié également au fait que le patient a un faible niveau de leucocytes dans le sang. Nous ne pouvons donc être certain de l'impact du traitement qu'en intégrant, dans un modèle, différentes variables explicatives dont le niveau de leucocytes. Cela permettra de vérifier si le traitement améliore effectivement la santé des patients et à quel niveau. Nous utilisons le modèle de Cox de risque proportionnel pour estimer l'équation de la fonction de risque de rechute des patients. L'équation est la suivante : ; avec le risque de base commun à tous les patients, le coefficient de régression de la variable i, et la variable d'intéraction pour vérifier l'existence d'un eventuel effet combiné du traitement et du niveau de globule blancs dans le sang. L'estimation est réalisée par maximum de vraissemblance en exécutant les commandes ci-dessous. La première commande crée la variable d'interaction dans la base et la seconde estime l'équation de la fonction de risque.
/*Creation de la variable d'interaction*/
data remission;
set remission;
rx_logwbc = rx * logWBC;
label rx_logwbc = 'interaction variable';
run;
/*Estimation semi-parametrique avec variables d'interaction*/
proc phreg data=remission;
model time*status(0) = rx logWBC rx_logwbc /rl; *rl est l'option qui permet d'ajouter des intervalles de confiance;
run;
Le résultat final peut être interprété à partir du tableau ci-dessous. Les noms des variables sont affichés dans la colonne Paramètre
et les coefficients dans la colonne Valeur estimée des paramètres
. La colonne Pr > Khi-2
donne les p-values du test de significativité sur chaque coefficient du modèle. On remarque que le coefficient de la variable d'interaction RX*logWBC n'est pas significatif (α=0.51). Il n'y a donc pas d'interaction entre le traitement et le taux de globules blancs. Nous pouvons donc laisser tomber la variable d'interaction et passer à un modèle plus simple : .
L'estimation de la nouvelle équation du modèle est réalisée par la commande ci-dessous et aboutit au résultats dans le tableau ci-après. On constate que les coefficients des deux variables (logWBC et rx) sont significatifs (α<0.05). Cela confirme les résultats obtenus à partir de l'analyse non paramétrique (point 1). Le traitement ainsi que le taux de leucocytes sanguins expliquent véritablement la durée de rémission des patients. Le niveau d'impact de ces variables, en termes de ratio de risque, figure dans la colonne "Rapport de risque". Lorsque le logarithme de la quantité de leucocytes augmente d'1 unité, l'individu a près de 5 fois plus de risque de connaitre la rechute. Et lorsque l'individu ne reçoit pas le traitement (rx=1), il a 3.7 fois plus de risque de connaitre la rechute comparé à quelqu'un qui reçoit le traitement.
proc phreg data=remission;
model time*status(0) = rx logWBC /rl;
run;
Alors que le traitement augmente le temps de rémission des malades, l'augmentation du taux de globules blancs dans le sang entraine l'effet inverse. Nous pouvons donc vérifier quel effet est dominant en comparant l'effet du traitement sur les malades ayant un taux élevé versus ceux qui ont un faible taux de globule blancs. Les deux commandes suivantes nous permettent d'obtenir les graphiques des courbes de survie des patients suivant le niveau de globules blancs dans le sang et le groupe d'appartenance (traitement vs contrôle).
/*Vérification de l'effet du traitement dans le groupe avec un faible taux de globule blancs*/
proc lifetest data=remission method=KM;
time time*status(0);
strata rx; where LWBC=0;
title 'Effet du traitement chez les patients à faible quantité de globules blancs [<exp(2.8)]';
run;
/*Vérification de l'effet du traitement dans le groupe avec un taux élevé de globule blancs*/
proc lifetest data=remission method=KM;
time time*status(0);
strata rx; where LWBC=1;
title 'Effet du traitement chez les patients à quantité élevée de globules blancs [>exp(2.8)]';
run;
Les résultats ci-dessous montrent que le traitement a un impact sur les individus qui ont un faible taux de globules blancs. Dans ce groupe, ceux qui reçoivent le traitement on un temps de rémission beaucoup plus long par rapport aux autres. Toutefois, dans chez les personnes qui ont un taux élevé de globules blancs, le traitement n'a aucun effet significatif sur le temps de rémission. L'effet -quantité de globules blancs- est donc dominant sur l'effet -traitement-. En conclusion, le traitement anticancéreux expérimenté ici peut donc être recommandé pour lutter contre la rechute mais cette recommandation doit être adressée aux malades qui ont un faible taux de globules blancs dans le sang.
********************************************** ©FRPDJ - 08/2022 *************************************************