Equipe Quantmetry

De Challenge4Cancer
Révision de 6 mai 2016 à 00:08 par OFF (discussion | contributions) (A protégé « Equipe Quantmetry » ([Modifier=Autoriser uniquement les administrateurs] (infini) [Renommer=Autoriser uniquement les administrateurs] (infini)) [protection en cascade])

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher


image not loaded
Viz4Cancer
Site internet interactif de visualisation des jeux de données Open Data dans le cadre du Challenge 4 Cancer.
Site Web http://viz4cancer.epidemium.cc/
Page du projet http://epidemium.cc/project/28/view
Lien GiThub https://github.com/Epidemium/viz4cancer
Réalisé par Quantmetry

Viz4Cancer est un site internet informatif qui permet de représenter graphiquement d’une part l'évolution de différents types de cancer en France et d’autre part la variation de différents facteurs socio-environnementaux comme les polluants atmosphériques ou les dépenses net en tabac.


De nombreux jeux de données pertinents ont été identifiés dans le cadre du Challenge4Cancer: certains concernent les taux d'incidence du cancer, d'autres fournissent des descriptions statistiques des populations et d'autres encore décrivent de potentiels facteurs environnementaux. De part la multiplicité des sources, il peut être difficile d'obtenir une vision d'ensemble synthétique des données existantes.

Les analystes ont à leur disposition un ensemble d'outils qui leur permettent de comprendre, voire de prédire, l'évolution du cancer dans le temps et dans l'espace. Ces outils ont un impact réduit s'ils ne permettent pas d'établir un dialogue avec des experts du monde médical. Ce sont, en effet, ces experts qui peuvent valider de la pertinence des analyses.

Le site web créé dans le cadre du projet Viz4Cancer permet à tous d’interagir de manière intuitive et interactive avec les jeux de données disponibles.

Résultat du projet: site web de visualisation

Présentation des fonctionnalités du site

  • Barre de recherche pour parcourir la liste des données disponibles
  • Drag & Drop pour sélectionner les données que l'on souhaite visualiser
  • Création dynamique de graphique mono- et bi-variés en fonction des données sélectionnées
  • Graphiques intéractifs: zoom, tooltip, sauvegarde au format image
  • Visualisation d'un modèle prédictif simple pour les années 2015-2020
  • Possibilité de choisir le niveau d’agrégation :
    • Global
    • Répartition par sexe
    • Répartition par classe d'âge
Exemple de visualisation dynamiquement générée sur le site.
Exemple de visualisation dynamiquement générée sur le site.

Jeux de données utilisés

Les données utilisées pour ce projet proviennent de quatre sources :

  • Des données sur la pollution en France et en Europe 
  • Des statistiques sur le surpoids et l’obésité en France
  • Des données sur le tabagisme
  • Des données issues du « Core Dataset » contenant les taux d’incidence et de mortalité pour chaque type de cancer en France.

Ces données ont ensuite été formatées de façon à pouvoir interroger la base par année (les années varient de 1992 à 2012) pour les facteurs de risques, et selon trois axes différents pour les maladies (l’année, le sexe et la tranche d’âge). Une prédiction est calculée sur un horizon allant jusqu'à 2020 pour les taux d'incidence et de mortalité de tous les cancers traités dans le projet. Toutes les données utilisées étaient à l’origine des agrégats, en conformité avec les règles de respect de l’anonymat des données de santé, que ce soit pour les données sur les cancers ou celles sur les facteurs de risque individuels.

Interprétation des graphiques

L'axe des abscisse représente dans toutes les visualisation la dimension temporelle en années (adapté à la période temporelle d'intérêt 1992 - 2012).

L'axe des ordonné est caractérisé par la première variable choisie par l'utilisateur. Si une deuxième variable est sélectionnée, c'est la grosseur de chaque point qui permet de visualiser les variation de celle-ci.

Enfin, la sélection d'un facteur de scission grâce aux icônes "Age" et "Genre" permet de diviser l'unique courbe en autant de courbes qu'il y a de classes d'âge ou de genre.

A noter que les visualisation proposées sont pleinement interactives et que l'utilisateur est libre de zoomer, se déplacer ainsi que de sélectionner et dé-sélectionner certaines courbes.

Méthodologie

Description du pipeline de visualisation

L'enjeu principal du projet est de partir d'une donnée sur un serveur pour arriver à un graphique interactif sur l'écran d'un utilisateur. Nous détaillons ici les étapes techniques qui sont nécessaires à la construction de ce pipeline de visualisation.

Schéma de fonctionnement du pipeline de visualisation.
  1. Lorsque l'utilisateur se connecte au serveur web, celui-ci renvoie une page HTML simple. Cette page contient un ensemble de codes Javascript qui fournissent un certain niveau d'interactivité. En particulier ces codes permettent à l'utilisateur de sélectionner (drag & drop) les données qu'il souhaite visualiser.
  2. Lorsque l'utilisateur lance la génération d'un nouveau graphique, une requête POST est envoyé par la page web vers un deuxième serveur que nous appellerons le serveur de visualisation. Cette requête contient un fichier JSON qui décrit ce que souhaite représenter l'utilisateur (exemple: Afficher le taux d’incidence du cancer du poumon, regroupé par classe d'âge) . A la réception de cette requête, le serveur de visualisation réalise les étapes suivantes:
    • Lecture des informations contenues dans le fichier JSON et vérification de leur validité (est ce que la donnée demandée par l'utilisateur correspond à une donnée effectivement disponible ?).
    • Lecture et agrégation des données sources (dans notre exemple le serveur va récupérer les colonnes cancer du poumon, année, tranche d'âge et réaliser une agrégation par année et par tranche d'âge.
    • Création d'une description synthétique du graphique à partir de ces données agrégées. Il s'agit d'un fichier JSON qui décrit le graphique final en terme simple: coordonnées des points, couleurs, titres des axes à utiliser, etc. Ce fichier JSON descriptif est à son tour renvoyé vers la page web de l'utilisateur.
  3. Lorsque la page Web reçoit le fichier JSON, elle appelle une librairie Javascript pour créer le graphique. Ce graphique est un nouveau élément HTML qui est inséré dynamiquement dans la page. Au moment de l'insertion du graphique plusieurs boutons sont également ajoutés: suppression du graphique, sélection d'une tranche d'âge, etc.

Liste des outils utilisés

Principaux outils utilisés pour la mise en place du pipeline de visualisation.
Outil Type d'outil Utilisation
Front End
Gulp Web Toolkit Gulp permet d'automatiser un grand nombre de tâches lors de la création d'un site Web. En particulier Gulp facilite la gestion des dépendances et le passage de la version de développement à la version de distribution
Bootstrap Framework Web Bootstrap permet de construire simplement un site responsive. Un ensemble de classes HTML sont définies; le rendu de ces classes est dynamique (CSS + JS)
JQuery Librairie Javascript Notre utilisation de JQuery s'est limité à une manipulation simple des éléments de la page Web (en particulier: ajout dynamque d'une nouveau graphique)
SortableJS Librairie Javascript Cette librairie simplifie la gestion du drag & drop
Plotly Librairie Javascript Plotly permet de générer un graphique interactif à partir d'un fichier JSON qui le décrit.
Serveur de visualisation
Plumber Package R Ce package permet de transformer un code R en une API REST. Les fonction R définies dans le code sont directement interrogeables en visitant le bon URL et en passant les paramètres nécessaires. C'est ce package qui assure la communication entre le front (serveur web) et le serveur de visualisation.
Plotly Package R Permet de créer les fichier JSON de description des graphiques qui seront directement interprétables par le navigateur
Traitement de données
dplyr Package R Package R de manipulation et de mise en forme de données. La flexibilité de dplyr lui permet de s'adapter aux différents inputs et pourra directement se greffer à une base de données dans le futur.

Ethique

Les considérations éthiques dans le domaine de la santé sont un enjeux majeur; en particulier dans un contexte de nouvelles technologies et de traitement quasi-systématique des données qui nous entourent. La santé est en pleine révolution digitale pouvant parfois provoquer un flou autour de l'utilisation et de la manipulation de l'information médicale. Beaucoup de questions et d'inquiétudes ressortent autour des technologies Big Data donnant accès à une information fine et précise sur la plupart des individus tout en remettant en question le principe jusqu'alors bien établi de l'anonymat.

Le projet Viz4Cancer s'inscrit dans un cadre de respect de l'anonymat et du secret médical des patients. Les données utilisées lors de la construction du site internet sont à la fois anonymisées et agrégées pour une vision macroscopique de l'information. Viz4Cancer cherche à mettre en avant et à comparer graphiquement des tendances générales à l'échelle du pays entre incidences et mortalités de certains cancers d'un côté, et divers facteurs explicatifs de l'autre. De fait, ce projet s'inscrit dans une transparence quant au traitement et à l'utilisation de l'information médicale et respecte pleinement l'anonymat des patients.

Equipe

  • Issam Ibnouhsein est en charge de la préparation et de l'analyse des données
  • Stéphane Jankowski a développé l'API Web permettant de construire les visualisations basées sur les données
  • Long Do Cao et Benjamin Habert ont construit le site web interactif

Développements futurs

Viz4Cancer chercher avant tout à rendre accessible une information médicale à tout un ensemble de professionnels de santé, de patients et plus généralement de personnes intéressées par des questions de santé publique. La visualisation de données est pour nous le meilleur moyen de trouver un langage commun entre des personnes aux origines et aux intérêts bien différents. Dans ce contexte notre outil pourrait être amené à se greffer sur une nouvelle source de données plus complète et plus complexe que celle utilisée actuellement pour la rendre accessible et interprétable visuellement.

Également, de nouvelles typologies de données entrainent nécessairement le besoin d'adapter le type des visualisations. Ainsi une amélioration future pourrait être l'implémentation de visualisations géographiques (carte du monde interactive) ou mettant en avant d'autres problématiques d'intérêt pour les visiteurs du site.