Projet Cancer BASELINE Thibaut BIDEAULT - Linh DO NGOC 19 avril 2016 1 TABLE DES MATIÈRES 2 Table des matières 1 Introduction 3 2 Présentation des données 4 3 Présentation des modèles 3.1 Les modèles linéaires . . . . . . . . . . . . . 3.2 Les modèles linéaires généralisés . . . . . . 3.3 Les modèles CART . . . . . . . . . . . . . . 3.4 Les forêts aléatoires . . . . . . . . . . . . . 3.5 Moyennes des modèles linéaires et des forêts . . . . . . . . . . . . . . . . . . . . . . . . aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 7 8 9 10 4 Conclusion 11 5 Annexe 12 1 1 INTRODUCTION 3 Introduction Le projet BASELINE a été créé suite au challenge lancé par EPIDEMIUM. Le challenge est le suivant : Les déterminants épidémiologiques du cancer sont complexes, nombreux, parfois difficiles à dissocier et précieux en ce que, une fois connus, ils permettent d’agir le plus en amont sur la maladie, avant qu’elle ne survienne. Avec le but de réduire drastiquement le nombre de morts évitables, le champ de la cancérologie préventive, voire prédictive, fondée sur une meilleure connaissance épidémiologique des facteurs promoteurs ou protecteurs des cancers, est une des potentialités les plus prometteuses de la médecine contemporaine. Si certains liens de causalité entre facteurs d’exposition, comportementale, environnementale, socio-économique, et la survenue de cancer sont établis avec une grande fiabilité, par exemple le lien entre consommation tabagique et survenue du cancer du poumon, la part attribuable à de très nombreux autres facteurs reste à ce jour obscure. Comprendre et maîtriser le rôle de ces déterminants dans la genèse du cancer sont donc des éléments décisifs de la lutte contre le cancer. Le challenge “Facteurs de risques et Facteurs protecteurs du cancer” consiste à proposer une solution data-analytique originale permettant de rapporter des données comportementales, alimentaires, environnementales ou socio-démographiques à la survenue d’un cancer. La part imputable à un facteur d’exposition dépendra autant de la force de l’association entre facteur de risque et survenue d’un cancer que de la prévalence de l’exposition. Dit autrement, cette part imputable peut être importante même si le risque est faible, pourvu que l’exposition soit importante. Le projet BASELINE a décidé de suivre l’approche suivante : 1. A partir des jeux de données ayant en commun la région, l’âge et le sexe, nous modéliserons l’incidence de cancers et la mortalité par cancer selon de nombreuses variables (suivant les données disponibles, travail de listing de données ici) : c’est la "baseline" (analyse multivariée, par machine learning ou plus classique : travail de modélisation) 2. Application directe : "quid du saucisson sec ?" La baseline suggèrera notamment l’effet de variables improbables, autres choses étant égales par ailleurs (travail d’interprétation, littérature et santé publique) 3. Application indirecte : "quid du club bavarois anti-saucisse ?" Nous comparerons les incidences de cancers de jeux de données locaux à la baseline, pour tenter de découvrir d’autres effets que ceux modélisés (travail de listing de données, travail de statistiques). 4. En automatisant l’approche, nous pourrons lister et trier les facteurs de risques et de protection très divers (travail d’automatisation/développement d’outil ; important pour la pérennité) 5. Puis le très important "so what ?" : passer en revue les points majeurs qui se dégagent de 2 PRÉSENTATION DES DONNÉES 4 cette approche très vaste ; interpréter les résultats obtenus, chercher des mesures de prévention potentielles. Des mesures de prévention inédites ? Les données nous le diront ! 2 Présentation des données La collecte de données effectuée de décembre 2015 à février 2016 a permis de disposer d’une matrice composée de 6820 lignes et 304 colonnes. Parmi les 304 colonnes, il y a 32 types de cancer et 229 facteurs de risque du cancer. Cependant, la difficulté à trouver toutes les données de ces facteurs de risque a pour conséquence que la matrice est gravement lacunaire. Pour remédier à ce problème, nous avons décidé de trier ces données. La première hypothèse a porté sur les types de cancer : nous avons uniquement conservé les lignes où 50% des données sur les types de cancer étaient présentes. Ce qui a réduit la matrice à 2978 lignes. La même hypothèse a été appliquée pour les facteurs de risque du cancer : nous avons uniquement gardé les facteurs de risque où 50% des données étaient présentes. Ainsi, l’étude a été établie à partir de 12 facteurs : le pourcentage de population de plus de 60 ans (Pop60, 0% de données manquantes), le sexe (Gender, 0% de données manquantes ), le pourcentage de population urbaine (UrbanPop, 7.69% de données manquantes), le pourcentage du SIDA pour les 15 à 49 ans (HIV1549, 19.51% de données manquantes), le pourcentage de vaccin pour la diphtérie (DiphVacc, 8.36% de données manquantes), le pourcentage de vaccin pour l’haemophilus (HibVacc, 49.06% de données manquantes), le pourcentage de vaccin pour la rougeole (MeaslesVacc, 8.36% de données manquantes), le score BMI (BMI, 20.32% de données manquantes), le revenu (Inc, 43.05% de données manquantes), l’argent dépensé par le gouvernement par personne (GovHealth, 32.24% de données manquantes), la tension et le cholestérol dans le sang (PresSang et CholesSang, 20.32% de données manquantes pour les deux). Par la suite, nous considérons les appellations suivantes pour les différents types de cancer : Type 1 : Tous les cancers (0.34% de données manquantes) Type 2 : Tous les cancers sauf celui du poumon (0.34% de données manquantes) Type 3 : Cancer de la vessie (2.22% de données manquantes) Type 4 : Cancer du système nerveux central (9.27% de données manquantes) Type 5 : Cancer du sein (50.34% de données manquantes) Type 6 : Cancer du col de l’utérus (50.37% de données manquantes) Type 7 : Cancer du colon (4% de données manquantes) Type 8 : Cancer du colon, du rectum et de l’anus (0% de données manquantes) Type 9 : Cancer du corps de l’utérus (58.16% de données manquantes) Type 10 : Cancer de la vésicule biliaire (15.08% de données manquantes) Type 11 : Lymphome de Hodgkin (17.56% de données manquantes) Type 12 : Cancer de l’intestin (11.28% de données manquantes) Type 13 : Cancer du rein (21.86% de données manquantes) Type 14 : Cancer du larynx (3.79% de données manquantes) Type 15 : Leucémie (0.13% de données manquantes) Type 16 : Cancer des lèvres, de la bouche et du pharynx (0.74% de données manquantes) Type 17 : Cancer des lèvres, de la bouche, du pharynx, du larynx et de l’oesophage (0.34% de données manquantes) Type 18 : Cancer du foie (12.46% de données manquantes) Type 19 : Cancer du poumon (0% de données manquantes) 3 PRÉSENTATION DES MODÈLES Type Type Type Type Type Type Type Type Type Type Type Type Type 3 20 21 22 23 24 25 26 27 28 29 30 31 32 : : : : : : : : : : : : : 5 Cancer de la peau (6.88% de données manquantes) Mésothéliome (51.85% de données manquantes) Myélome multiple (11.85% de données manquantes) Cancer du Nasopharynx (22.46% de données manquantes) Lymphome non hodgkinien (9.37% de données manquantes) Cancer de l’oesophage (1.01% de données manquantes) Cancer des ovaires (61.08% de données manquantes) Cancer du pancreas (7.25% de données manquantes) Cancer de la prostate (49.66% de données manquantes) Cancer du rectum et de l’anus (5.04% de données manquantes) Cancer de l’estomac (0.03% de données manquantes) Cancer des testicules (58.6% de données manquantes) Cancer de la thyroïde (16.82% de données manquantes) Présentation des modèles Différentes approches peuvent être utilisées afin de modéliser l’incidence des cancers : 1. Un modèle linéaire 2. Un modèle linéaire généralisé 3. Un modèle CART 4. Une forêt aléatoire 70% des données ont été utilisées pour calibrer nos modèles et 30% pour les tester. Et chaque modélisation repose sur le modèle composé de tous les facteurs de risque du cancer, soit le modèle suivant : Y = Intercept + Pop60 + Gender + UrbanPop + HIV1549 + DiphVacc + HibVacc + MeaslesVacc + BMI + Inc + GovHealth + PresSang + CholesSang Nous utilisons ensuite la fonction StepAIC de R afin de trouver le modèle optimal pour chaque type de cancer. 3.1 Les modèles linéaires La figure 1 montre que les variables Pop60 et Gender sont toujours présentent dans les modèles. Ce qui était prévisible car nous possédons toutes les données pour ces variables. Viennent ensuite les variables CholesSang, Inc et PresSang présentes respectivement dans 27, 26, et 24 modèles. Les autres variables sont quant à elles moins présentes. 3 PRÉSENTATION DES MODÈLES 6 Figure 1 – Coefficients des modèles linéaires Les modèles suivent correctement les moyennes de l’échantillon test (cf. figure 2) avec un écart toujours inférieur à 2%. Figure 2 – Ecart entre les moyennes des modèles linéaires et celles de l’échantillon test Cependant, les variances obtenues sur la figure 3 diffèrent sensiblement des variances de l’échantillon test. Figure 3 – Ecart entre les variances des modèles linéaires et celles de l’échantillon test Malgré des moyennes très convenables obtenues par nos modèles, les variances y sont sousestimées. De ce fait, il est difficile de dire si ces modèles sont convenables. De plus, les erreurs quadratiques moyennes représentées sur la figure 4, sont importantes. 3 PRÉSENTATION DES MODÈLES 7 Figure 4 – Erreurs quadratiques moyennes des modèles linéaires 3.2 Les modèles linéaires généralisés Les variables Pop60 et Gender sont encore les plus présentes dans nos modèles GLM (figure 5). De façon générale, les formules des GLM ont plus de variables significantes que les modèles linéaires. En effet, chaque variable explicative apparait au minimum dans 23 modèles. Figure 5 – Coefficients des GLM Ci-dessous les moyennes obtenues avec nos GLM comparées aux moyennes de l’échantillon : Figure 6 – Ecart entre les moyennes des GLM et celles de l’échantillon test Les écarts entre les moyennes des GLM et les moyennes de l’échantillon de test sont plus importants que ceux observés avec les modèles linéaires. Par exemple, pour le cancer de type 18, il y a un écart de plus de 30%. Mais dans la majorité des cas, l’écart est acceptable. De manière générale, les GLM ont tendance à minimiser les moyennes. En ce qui concerne les variances obtenues par nos GLM (cf. figure 7), l’écart entre elles et les 3 PRÉSENTATION DES MODÈLES 8 variances de l’échantillon test est conséquent dans la plupart des cas. Figure 7 – Ecart entre les variances des modèles linéaires et celles de l’échantillon test Encore une fois, les variances obtenues ne sont pas convenables et ne permettent pas d’avoir un avis tranché sur la qualité du modèle. De plus, les erreurs quadratiques moyennes (figure 8) sont légèremment supérieures à celles des modèles linéaires. Figure 8 – Erreurs quadratiques moyennes des GLM 3.3 Les modèles CART Les arbres optimaux obtenus (cf. annexe) montrent que les modèles CART sont mal adaptés pour modéliser l’incidence des cancers étudiés. En effet, dix arbres sont uniquement composés d’un seul noeud et d’aucune branche, et au maximum les arbres sont composés de deux noeuds, soit trois branches. Les moyennes de la figure 9 sont dans la plupart des cas convenables. Figure 9 – Ecart entre les moyennes des modèles CART et celles de l’échantillon test Cependant, ces moyennes sont composées au mieux de 3 valeurs et au pire d’une seule valeur. Nous ne pouvons donc pas tirer de conclusions à partir de ces moyennes. 3 PRÉSENTATION DES MODÈLES 9 De même, il n’est pas possible de tirer de conclusion à partir des variances (cf. figure 10). Par exemple, dix variances sont nulles du fait des arbres composés de seulement un noeud. Figure 10 – Ecart entre les variances des modèles CART et celles de l’échantillon test Les erreurs quadratiques moyennes sont du même ordre de grandeur que les autres modèles (cf. figure 11). Figure 11 – Erreurs quadratiques moyennes des modèles CART Les arbres obtenus par les modèles CART ne sont pas satisfaisants. De ce fait, il est difficile de tirer des conclusions des résultats obtenus et très peu recommandé d’utiliser des modèles CART dans notre cas. 3.4 Les forêts aléatoires Les moyennes obtenues (cf. figure 12) par les forêts aléatoires sont très bonnes, comme celles des modèles linéaires, et même meilleures pour certaines. Figure 12 – Ecart entre les moyennes des forêts aléatoires et celles de l’échantillon test Dans la majorité des cas, la variance obtenue par les forêts aléatoires est meilleure que celle des modèles linéaires. Mais ce modèle sous-estime encore une fois les variances de l’échantillon test. 3 PRÉSENTATION DES MODÈLES 10 Figure 13 – Variances des forêts aléatoires vs variances des données Les erreurs quadratiques moyennes sont légèrement inférieures à celles des modèles linéaires. Figure 14 – Erreurs quadratiques moyennes des forêts aléatoires Les résultats obtenus avec les forêts aléatoires sont très satisfaisants par rapport aux autres modèles. Nous avons maintenant deux modèles intéressants : les modèles linéaires et les forêts aléatoires. 3.5 Moyennes des modèles linéaires et des forêts aléatoires Les modèles linéaires et les forêts aléatoires étant les plus appropriés nous avons procédé à leur moyenne afin de conserver leurs avantages respectifs : les bonnes moyennes des modèles linéaires et les variances plus convenables des forêts aléatoires. Les moyennes obtenues avec cette méthode sont les suivantes : Figure 15 – Ecart entre les moyennes de la prévision moyenne et celles de l’échantillon de test On s’aperçoit que les moyennes ont légèrement augmenté comparées à celles des deux modèles mais restent toujours convenables. Cependant, l’écart des variances obtenu n’est pas satisfaisant. En effet, il est dans la plupart des cas supérieur à celui observé par les forêts aléatoires et par les modèles linéaires (cf. figure 16). En revanche, le point positif de ce modèle est que les erreurs quadratiques moyennes sont les plus faibles de tous les modèles. 4 CONCLUSION 11 Figure 16 – Ecart entre les variances de la prévision moyenne et celles de l’échantillon de test Figure 17 – Erreurs quadratiques moyennes de la prévision moyenne 4 Conclusion Cette étude présente une lacune de taille : le manque de données. Ce qui impacte de manière conséquente la modélisation des incidences de cancer. En effet, les variances et les erreurs quadratiques moyennes obtenues par les modèles ne sont pas suffisamment concluantes. Toutefois, les résultats montrent que les modèles linéaires et les forêts aléatoires restent les plus adaptés.Et qu’il est préférable d’utiliser les forêts aléatoires plutôt que les modèles linéaires afin de modéliser les incidences de cancer. Car, si les moyennes obtenues par les deux modèles sont satisfaisantes, les forêts aléatoires rendent mieux compte des variances et génèrent des meilleurs erreurs quadratiques moyennes. Afin d’obtenir de meilleurs résultats, il faudrait réussir à récolter davantage de données dans le but de mieux calibrer les modèles. Par ailleurs il pourrait être intéressant d’utiliser un réseau de neurone ou une machine à vecteurs de support (SVM) qui sont deux autres méthodes d’apprentissage de type probabiliste. 5 5 ANNEXE 12 Annexe Arbre des modèles CART Figure 18 – Arbre cancer type 1 Figure 19 – Arbre cancer type 2 Figure 20 – Arbre cancer type 3 Figure 21 – Arbre cancer type 4 5 ANNEXE 13 Figure 22 – Arbre cancer type 5 Figure 23 – Arbre cancer type 6 Figure 24 – Arbre cancer type 7 Figure 25 – Arbre cancer type 8 Figure 26 – Arbre cancer type 9 Figure 27 – Arbre cancer type 10 5 ANNEXE 14 Figure 28 – Arbre cancer type 11 Figure 29 – Arbre cancer type 12 Figure 30 – Arbre cancer type 13 Figure 31 – Arbre cancer type 14 Figure 32 – Arbre cancer type 15 Figure 33 – Arbre cancer type 16 5 ANNEXE 15 Figure 34 – Arbre cancer type 17 Figure 35 – Arbre cancer type 18 Figure 36 – Arbre cancer type 19 Figure 37 – Arbre cancer type 20 Figure 38 – Arbre cancer type 21 Figure 39 – Arbre cancer type 22 5 ANNEXE 16 Figure 40 – Arbre cancer type 23 Figure 41 – Arbre cancer type 24 Figure 42 – Arbre cancer type 25 Figure 43 – Arbre cancer type 26 Figure 44 – Arbre cancer type 27 Figure 45 – Arbre cancer type 28 5 ANNEXE 17 Figure 46 – Arbre cancer type 29 Figure 47 – Arbre cancer type 30 Figure 48 – Arbre cancer type 31 Figure 49 – Arbre cancer type 32 5 ANNEXE 18 Code mydata=read.csv("C:/Users/Thibaut/Desktop/ProjetBaseline/matrixop.csv",header=TRUE,sep=";" ,dec=",",stringsAsFactors=FALSE); library(MASS) library(rpart) library(rpart.plot) library(randomForest) ## 1 à 32 : cancers, 33 pays, 34 pop, 35 à 48 variables mydata[,34]=as.numeric(mydata[,34]) mydata[,36]=as.numeric(mydata[,36]) mydata[,45]=as.numeric(mydata[,45]) set.seed(1) n <- nrow(mydata) K <- 2 blocksize <- n %/% K set.seed(1) values <- runif(n) rang <- rank(values) block <- (rang-1) %/% blocksize + 1 block <- as.factor(block) learning.sample <- mydata[block != K , ] validation.sample <- mydata[block == K, ] dim(learning.sample) dim(validation.sample) ##Définition variables explicatives Pays=learning.sample[,33] Pop=learning.sample[,34] Pop60=learning.sample[,35] Gender=learning.sample[,36] UrbanPop=learning.sample[,37] HIV1549=learning.sample[,38] DiphVacc=learning.sample[,39] HibVacc=learning.sample[,40] MeaslesVacc=learning.sample[,41] BMI=learning.sample[,42] Inc=learning.sample[,43] GovHealth=learning.sample[,44] PresSang=learning.sample[,45] CholesSang=learning.sample[,46] se.LM<-c() se.GLM<-c() 5 ANNEXE 19 se.GAM<-c() se.CART<-c() se.RF<-c() se.prevMoy<-c() MoyCART<-c() VarCART<-c() MoyLM<-c() VarLM<-c() MoyGLM<-c() VarGLM<-c() MoyRF<-c() VarRF<-c() MoyPrevMoy<-c() VarPrevMoy<-c() for (i in 1:32) { ##Définition formule formula= learning.sample[,i] ~ Pop60 + Gender + UrbanPop + HIV1549 + DiphVacc + HibVacc + MeaslesVacc + BMI + Inc + GovHealth + PresSang + CholesSang ##modèle lm model.lm <- lm(as.formula(formula)) ##Opti du modèle lm model.lm.backward <- stepAIC(model.lm, direction="backward",trace = FALSE) ##Prédiction à partir du modèle lm lm.predictions <- predict(model.lm.backward, newdata = validation.sample, type="response") MoyLM[i]=mean(lm.predictions) VarLM[i]=var(lm.predictions) ## erreur globale de prevision: se.LM[i] <- sum((lm.predictions - validation.sample[,i])^2)/32 ## MODELE GLM model.glm <- glm(as.formula(formula), family="gaussian" ,weights = Pop) ##Opti du modèle glm model.glm.backward <- stepAIC(model.glm, direction="backward",trace = FALSE) print(model.glm.backward) ##Prédiction à partir du modèle glm 5 ANNEXE 20 glm.predictions <- predict(model.glm.backward, newdata = validation.sample, type="response") MoyGLM[i]=mean(glm.predictions) VarGLM[i]=var(glm.predictions) ## erreur globale de prevision: se.GLM[i] <- sum((glm.predictions - validation.sample[,i])^2)/32 ## MODELE CART model.cart <- rpart(as.formula(formula), method="anova" ,weights = Pop, control=rpart.control(cp=0)) min(model.cart$cptable[,4]) ##Opti du modèle cart best.model.cart <- rpart(as.formula(formula), method="anova" ,weights = Pop, control=rpart.control(cp=min(model.cart$cptable[,4]))) prp(best.model.cart) ##Prédiction à partir du modèle cart cart.predictions <- predict(best.model.cart, newdata = validation.sample, type="vector") MoyCART[i]=mean(cart.predictions) VarCART[i]=var(cart.predictions) ## erreur globale de prevision: se.CART[i] <- sum((cart.predictions - validation.sample[,i])^2)/32 ##modèle Random Forest model.RF=randomForest(as.formula(formula) , ntree=200, importance=TRUE) RF.predictions<-predict(model.RF, newdata = validation.sample, type="response") getTree(model.RF) MoyRF[i]=mean(RF.predictions) VarRF[i]=var(RF.predictions) se.RF[i]<-sum((RF.predictions - validation.sample[,i])^2)/32 ##Prévision moyenne previsions.moyennees <- (1/2) * ( lm.predictions + RF.predictions) MoyPrevMoy[i]=mean(previsions.moyennees) VarPrevMoy[i]=var(previsions.moyennees) se.prevMoy[i] <- sum((previsions.moyennees - validation.sample[,i])^2)/32 } se.CART se.GLM se.LM se.RF se.prevMoy #Moyennes et variances des données MoyCancer<-c() 5 ANNEXE VarCancer<-c() for (i in 1:32) { MoyCancer[i]=mean(learning.sample[,i]) VarCancer[i]=var(learning.sample[,i]) } ##Moyennes et variances des modèles MoyCART MoyLM MoyGLM MoyRF MoyPrevMoy MoyCancer VarCART VarLM VarGLM VarRF VarPrevMoy VarCancer 21