{"word_count": 1661, "character_count": 11980}
Dans le cadre du projet pilote SCC-Poly, mené en collaboration avec Polytechnique Montréal, nous avons conçu une interface de visualisation de données. Parmi les méthodologies de conception d'interface de visualisation de données existantes, nous allons présenter dans cet article celle que nous avons employée. Cette méthodologie d'analyse est proposée par Tamara Munzner dans son livre, Visualization Analysis and Design. Cet ouvrage est une excellente référence pour quiconque s'intéresse à la conception d'interface de visualisation de données.C'est quoi une visualisation de données ?La visualisation de données est un ensemble de méthodes de représentation graphique utilisant les moyens informatiques pour représenter des données.Lors d'une formation intensive datant de juillet 2016, Tamara Munzner donne la définition suivante sur la visualisation de données : « Des systèmes de visualisation informatisés contenant des représentations visuelles de jeu de données sont conçus pour aider les personnes à effectuer les tâches plus efficacement. » (Munzner, 2014, p. 1)Les mots clés les plus importants à retenir de la définition précédente sont :  systèmes informatisés, représentations visuelles, jeux de données et personnes.La combinaison de ces termes constitue la force de la visualisation de données.Pourquoi faire une visualisation de données ?La visualisation de données est appropriée lorsqu'il est nécessaire d'augmenter les capacités humaines pour résoudre un problème plutôt que de remplacer des personnes par des méthodes de prise de décision informatique. Il est d'ailleurs à noter que s'il existe une solution automatisée pour répondre à une question spécifique, alors la visualisation de données n'est pas nécessaire. Cependant, dans certains contextes, les questions spécifiques sont inconnues ou difficiles à définir.Dans le cadre d'une présentation datant de juillet 2016, Tamara Munzner expose les cas d'utilisation/d'usages les plus fréquents rencontrés lors d'une visualisation de données : l'exploration de données par des usagers la présentation de résultats connus l'analyse préliminaire du problème avant de construire une solution automatisée permettre aux programmeurs d'analyser et améliorer leur solution automatiséeL'exploration de données par des usagers reste le cas d'utilisation le plus fréquent. Cependant, (dans tous ces cas d'utilisation) l'objectif  est d'utiliser une représentation visuelle afin d'utiliser la perception au lieu de la cognition pour répondre aux questions.Pour illustrer l'utilité/la pertinence de la visualisation de données, voici le quartet d'Anscombe qui est constitué de quatre ensembles de données qui ont les mêmes propriétés statistiques simples, mais qui sont en réalité très différentes.[caption id="attachment_1245" align="aligncenter" width="392"] https://fr.wikipedia.org/wiki/Quartet_d%27Anscombe[/caption]En regardant ces données, il y peu de personnes qui seront capables d'expliquer rapidement les différences entre ces quatre jeux de données. Par contre, en transformant ces données brutes en nuage de points, les différences deviennent claires.[caption id="" align="aligncenter" width="638"] https://fr.wikipedia.org/wiki/Quartet_d%27Anscombe#/media/Fichier:Anscombe.svg[/caption]&#160;Méthodologie d'analyse de Tamara MunznerDans son livre, Tamara  Munzner nous propose une méthodologie d'analyse qui est composée de quatre niveaux pour la conception de visualisation de données (domain, abstraction, idiom et algorithm) et trois questions à  poser (What-Why-How). Dans les sections suivantes, nous allons décrire chaque partie de cette méthodologie tout en faisant le parallèle avec un sous-ensemble de la visualisation de données que nous avons créé avec Polytechnique Montréal.[caption id="attachment_1243" align="aligncenter" width="178"] Image de Munzner (2014)[/caption]Domaine (domain)Chaque nouvelle visualisation de données devrait commencer par le premier niveau domain. Dans ce niveau, la tâche principale est d'identifier clairement à quels utilisateurs s'adresse la visualisation de données du domaine en question. Prenez note que la visualisation ne sera pas la même si on s'adresse à un utilisateur débutant plutôt qu'à un expert du domaine ciblé. Ensuite, il est important d'identifier les questions générales auxquelles la visualisation serait susceptible de répondre.Dans le cadre du projet SCC-Poly, notre objectif était de cibler un public de cinéphiles, sans toutefois s'adresser à des experts. À partir de la base de données de la Cinémathèque, nous avons formulé plusieurs questions susceptibles de correspondre aux intérêts de recherche du public cible. Une des questions retenues était la suivante : Quels groupes de personnes ont le plus souvent travaillé ensemble dans différents films ?AbstractionLe niveau abstraction consiste à faire la correspondance entre les problèmes spécifiques au domaine vers une forme indépendante du domaine. Pour effectuer cette abstraction, nous devons répondre à deux questions : Le Quoi: quelles sont mes données ? Le Why: pourquoi je veux montrer ces données ?Le Quoi (What)Le Quoi nous demande de répondre à la question suivante : quelles sont les données que je désire afficher ? Cette étape consiste à établir le type du jeu de données, ainsi que le type de chacun de ses attributs. À noter qu'il est possible de générer un nouveau jeu de données dérivé du jeu de données initial.Dans le projet SCC-Poly, pour répondre à la question concernant les des groupes de personnes, nous avions accès à un jeu de données de type tableau des génériques de tous les films enregistrés à la Cinémathèque québécoise. Voici un exemple du jeu de données :NomIDFonctionIDFilmoIDFonctionNomPrenom11945111Montage imagesLamholcLeon23334001RéalisationMignotPierre31034001Prise de sonBeaucheminSergeÀ partir de ce jeu de données, nous avons généré un nouveau jeu de données qui contient toutes les combinaisons possibles des personnes ayant travaillé dans les mêmes films. Voici un exemple simplifié de ce jeu de données dérivé :GroupeIDNombre de personnesNombre de filmsPersonnes1246Serge Beauchemin, Pierre Mignot2422Marc Takerkart, Madeleine Lavallée, François Valcour, Pierre ValcourCe jeu de données de type tableau contient 4 attributs (1 par colonne). Les attributs GroupeID et Personnes sont de type catégorie, et tandis que Nombre de personnes et Nombre de films sont de types séquentiels. Un attribut de type catégorie n'a pas d'ordre implicite (p. ex. des noms de personnes, des types de films, etc.). Un attribut de type séquentiel possède non seulement un ordre implicite, mais on peut également mesurer la distance entre les valeurs (p. ex. la température, le poids, etc.). Pour plus d'informations sur les types possibles de jeu de données et d'attributs, référez-vous au chapitre 2 du livre Visualization Analysis and Design.Le Pourquoi (Why)Le Pourquoi nous incite à répondre à la question suivante : pourquoi l'outil de visualisation est utilisé ?Cette étape consiste à identifier les actions possibles de haut niveau et les objectifs visés par la visualisation de données.Dans le projet SCC-Poly, les actions possibles pour la question des groupes de personnes sont : l'exploration des groupes de personnes la recherche d'un groupe spécifique qui contient certaines personnes -Polytechnique Montréal la sélection d'un groupe afin d'avoir des informations complémentairesLes objectifs visés avec les actions sont : la découverte de cas limites ; y a-t-il des groupes qui ont travaillé dans un très grand nombre de films par rapport aux autres ? la distribution des groupes selon le nombre de filmsPour plus d'informations sur les actions et les objectifs possibles, référez-vous au chapitre 3 du livre Visualization Analysis and Design.Encodage visuel et interactivité (idiom)Le niveau idiom spécifie l'encodage visuel et l'interactivité dans le but de répondre à la question Pourquoi établie précédemment. Pour ce niveau, il faut répondre à la question Comment.Le Comment (How)Le Comment nous demande de répondre à la question suivante : comment allons-nous encoder visuellement les données définies afin de répondre aux actions et objectifs visés précédemment ?Dans le projet SCC-Poly, plusieurs encodages visuels étaient possibles pour encoder visuellement les données sur les groupes de personnes. Nous avons opté pour un diagramme à bulles :[caption id="attachment_1246" align="aligncenter" width="957"] http://data.cinematheque.qc.ca/dataviz/polyscc/groupes[/caption]Avec ce choix, chaque cercle représente un groupe de personnes. L'axe des X encode l'attribut séquentiel Nombre de films et la taille du cercle encode l'attribut séquentiel Nombre de personnes. Il est également possible d'effectuer toutes les actions définies précédemment, soit l'exploration des groupes de personnes, la recherche d'un groupe spécifique avec le menu de sélection, et la sélection d'un groupe en cliquant sur un cercle. Au niveau des objectifs visés, nous pouvons maintenant identifier certains groupes qui ont travaillé dans un très grand nombre de films relativement à la majorité des groupes en explorant les cercles à droite du diagramme. Finalement, la distribution des groupes en fonction du nombre de films est affichée et nous pouvons voir que la plupart des groupes ont joué dans cinq films.Pour plus d'informations sur l'encodage visuel, référez-vous au livre Visualization Analysis and Design à partir du chapitre 3 jusqu'à la fin.Algorithme (algorithm)Le niveau algorithm spécifie les méthodes computationnelles pour mettre en place le niveau précédent.Pour le projet SCC-Poly, nous avons utilisé D3.js pour l'implémentation de l'encodage visuel. De plus, nous devions porter une attention particulière à la génération des groupes de personnes étant donné que c'est un algorithme qui est coûteux en temps et en mémoire.ConclusionDans cet article, nous avons présenté la méthodologie d'analyse de Tamara Munzner pour structurer le processus de création d'une interface de visualisation de données. Nous avons également fait le parallèle avec le projet de visualisation de données mené en collaboration avec Polytechnique Montréal. Dans ce contexte, cette méthodologie a permis de structurer l'analyse du problème, afin que les débutants et les experts en visualisation de données puissent se comprendre. Elle nous a aussi permis de faire progresser le projet selon les niveaux de la méthodologie et de communiquer efficacement l'avancement du projet. Nous soulignons alors l'importance d'utiliser un processus itératif lorsqu'on répond aux questions Quoi-Pourquoi-Comment, tel que démontré dans la figure ci-dessus de la méthodologie de Tamara Munzner. En effet, plus le nombre d'itérations est élevé, plus l'espace de solutions est exploré. Enfin, ces itérations devraient combiner les experts du domaine et les experts en visualisation de données.RéférencesMunzner, T. (2014). Visualization Analysis and Design. A K Peters Visualization Series, CRC Press.Computational Plasma Astrophysics. (2016, 18 juillet). Visualisation Analysis and Design I - Tamara Munzner [vidéo]. YouTube.https://www.youtube.com/watch?v=IKSRwGZe8Oc&#38;t=742sLexiqueAttribut de type catégorie : attribut sans ordre implicite (par exemple: des noms de personnes, des types de films, etc.).Attribut de type séquentiel : attribut avec un ordre implicite et la distance entre les valeurs peut être mesurée (comme la température, le poids, etc.).Processus itératif : séquence d'instructions qui peut être exécutée une ou plusieurs fois.Perception : activité de recueil d'informations selon les sens.Cognition : processus mentaux de traitement d'informations.Javascript: language de programmation.D3.js : bibliothèque en Javacript utilisée pour afficher des formes graphiques sur un écran selon des données numériques.Lien utileWikipedia. (2020, mars, 24). Visualisation de données. Consulté à l'adresse https://fr.wikipedia.org/wiki/Visualisation_de_donn%C3%A9es