Ici archive

Bien que faciles à manipuler et disponibles dans la plupart des outils de manipulation de données (tableurs, outils de data visualization, langages de programmation, etc.) les diagrammes en barres peuvent entièrement perdre leur vocation première de data visualization[1] si certains paramètres sur les axes ne sont pas pris en compte.

#1 Trier les valeurs

Bien que ce premier point semble trivial, beaucoup de présentations utilisent encore des diagrammes en barre non triés ou triés selon un mauvais paramètre ! Outre le fait que les informations sont plus longues à lire, elles peuvent également être faussées par notre esprit.

L’exemple ci-dessous est d’un diagramme en barres (le plus simple possible) représentant l’âge des présidents américains lors de leur première prise de fonction.

L’œil arrive facilement à comparer les éléments proches entre eux. Ainsi il est facile de constater que “Barack Obama a atteint la présidence plus jeune que Bill Clinton”. Quid des autres présidents ?

La loi de la continué, une des lois principales de la Gestalt[2], stipule que notre cerveau interprète les éléments dans leur ensemble et dans leur continuité. Dans le cas du graphique précédent, cela permet de prolonger les extrémités des barres pour les comparer entre elles (ce principe de perception est illustré par la flèche rouge). Cette comparaison naturelle est efficace pour les barres proches, mais beaucoup plus compliquée et moins précise pour les barres éloignées : Qui de Barack Obama, Grover Cleveland ou Ulysses S. Grant a atteint la présidence le plus jeune ? Quels ont été les 5 plus jeunes présidents à prendre leurs fonctions ?

L’intérêt du tri (par ordre croissant ou décroissant, selon le besoin) n’est donc plus à démontrer. Le graphique suivant permet de répondre aux deux questions précédentes bien plus rapidement et sans le moindre effort.

En règle générale, l’analyse de la variable quantitative est la raison d’être du graphique, c’est pourquoi il est donc nécessaire de classer les données selon cette variable.

Quelques exceptions sont quand même notables : lorsque l’autre axe représente des données ordinales, il est de bon ton de classer selon cet axe. Le terme ordinal signifie que la variable qualitative peut être ordonnée, comme par exemple les catégories d’âges, catégories de salaires, les dates, etc.

Ce tri est alors pertinent car il offre au lecteur la possibilité de comparer facilement une modalité de la variable ordinale avec les autres modalités les plus proches. Ce tri permet d’analyser une évolution ou une répartition et a souvent plus de sens que le tri par les valeurs “brutes”.

Cet exemple montre qu’il est plus facile de se représenter la population de cette ville avec le graphique de gauche plutôt qu’avec celui de droite. La lecture du graphique de droite nécessite des allers et retours entre les barres pour reconstruire la vision globale.

Bien entendu, le choix du tri dépendra de la question à laquelle le graphique répond[3].

#2 Couper les axes… ou pas !

Faut-il conserver l’ensemble d’un axe ou est-il possible de le tronquer de son origine (généralement le point “0”) ? Cette question n’a probablement pas de réponse puisque chacun y va de sa préférence. Cette story va cependant en toucher quelques mots !

Bien que les deux graphiques précédents représentent les mêmes données, le fait de tronquer l’axe des ordonnés permet de créer visuellement une forte croissance sur la dernière année. Cependant, une fois ramenée à l’échelle complète cette croissance ne semble pas être si fulgurante (environ 8 à 10% d’augmentation).

Dans ses travaux E. Tufte a introduit le concept de « coefficient de mensonge »[3] représentant un ratio entre l’importance de l’effet visuel et l’importance de l’effet réel. Ainsi, le graphique de gauche ci-dessus aurait un très fort coefficient de mensonge car la barre de 2019 est 300% plus grande que les autres alors que la réalité démontre une augmentation de 8 à 10 % seulement.

L’exemple présenté ci-dessus, ne s’intéresse qu’à la correction du coefficient de mensonge. L’esthétisme de ces barres pleines est discutable et d’autres solutions plus agréables peuvent être utilisées (« Lollipop chart », « dot plot », etc.).

Les graphiques avec de forts coefficients de mensonge sont souvent utilisés par des médias sensationnalistes afin de piéger visuellement les spectateurs/lecteurs novices dans l’analyse de données.

Faut-il pour autant toujours conserver l’ensemble de l’axe ? Non !

A défaut d’avoir des règles prédéfinies quant aux conditions permettant la coupure d’un axe, il est possible de se baser sur le concept du coefficient de mensonge : si la coupure de l’axe n’entraine pas une augmentation du coefficient de mensonge il est alors possible de le couper. Le test du candide[4] peut aider à décider de la conservation de l’axe ou non.

Divers paramètres seront à prendre en compte autant sur la forme que sur le fond du graphique.

  • Le type de graphique est fortement lié à la nécessité de conservation de l’axe. Par exemple, les diagrammes en barres présentent de grands risques d’augmentation du coefficient de mensonge lorsque l’axe est coupé.
  • Si l’intérêt du graphique se porte intégralement sur les variations alors il peut être possible de couper l’axe sans fausser l’interprétation. C’est par exemple le cas des séries temporelles.
  • Les valeurs à afficher sont dé-corrélées de la partie coupée et donc recentrer le graphique apporte une meilleure lisibilité. Par exemple, il est en général de bon ton de recentrer un nuage de point sur les données plutôt que de fixer arbitrairement les valeurs des axes.

Pour ne citer qu’un exemple de graphique pour les points précédents, voici un graphique boursier.

Le cas des graphiques boursiers illustre parfaitement la dé-corrélation entre les données affichées et l’origine du graphique. L’axe principal n’est plus celui des ordonnés mais celui des abscisses : le graphique s’intéresse aux variations entre un point de départ (achat de parts, propre à chaque actionnaire) et le point d’arrivée (moment de la vente ou heure actuelle). Ainsi le “0” de l’axe des ordonnés n’a que peu d’intérêt pour l’auditoire.

En résumé, il faut toujours prêter une attention particulière aux axes, que l’on soit auteur ou lecteur ! Certaines mauvaises pratiques sont délibérément réalisées pour masquer la vérité ou tromper l’auditoire. Prenez garde et ne vous laissez pas avoir !

Rédigé par Eliot Moll, Consultant Data Driven Business

Notes
[1] A savoir, faciliter la compréhension et représenter fidèlement les données.
[2] Plus de détails sur la psychologie de la forme ici.
[3] La notion de “Lie Factor” a été introduit dans son ouvrage “The Visual Display of Quantitative Information”, 1983.
[4] Plus d’information sur cette thématique dans cet article (Medium).

Le tableau est probablement la visualisation la plus utilisée de nos quotidiens. Des rapports financiers aux horaires de bus en passant par les calendriers (Cf. l’image ci-dessous) et même certains menus de restaurants, il est difficile voire même impossible de n’avoir jamais croisé ou créé un tableau.

Professionnellement, les tableaux sont les data visualizations les plus utilisées car ils ne nécessitent aucune connaissance ou maîtrise de logiciels. Pour de nombreuses personnes le tableau n’est pas un graphique, ainsi ils ne les (re)travaillent pas avant de les présenter. Ceci engendre souvent des visuels peu optimaux voire repoussants.

Rien de mieux qu’un bon exemple pour illustrer ce propos.

Dans le cas présent, compte tenu du nombre conséquent de variables à afficher (7 variables), le tableau est bel et bien une solution pertinente [1]. Cependant, le manque de mise en forme (ou mise en forme non-optimale) rend l’assimilation de l’information difficile, ce qui s’oppose donc au but principal de la data visualization.

Il est possible d’améliorer la mise en forme afin d’alléger la lecture et de rendre ce tableau plus plaisant à lire :

#1 Alléger le ratio encre-information

Ce qui n’allait pas dans l’exemple précédent :

Le premier aperçu du tableau renvoie une impression de lourdeur par la mise en forme de l’écriture, l’utilisation d’un quadrillage ainsi que d’un encadrement épais et par le remplissage en nuance de gris. L’ensemble de ces éléments vont être perçus inutilement par notre œil et notre cerveau. Il faut donc les éviter tant que possible.

Ce qui peut être fait :

Retirer le quadrillage par défaut et le conserver uniquement lorsqu’il est nécessaire, comme pour distinguer des parties au sein du tableau.

Éviter d’utiliser le remplissage des cases (les fonds) et encore moins des fonds foncés. Ils ne sont pas nécessaires pour les titres, quant aux totaux, il est préférable d’opter pour une couleur claire (type pastel).

Éviter d’utiliser à outrance les mises en forme de texte (type gras et italique). Trop de mises en forme sur le texte a tendance à plus noyer l’information qu’à la mettre en valeur.

#2 Faciliter la lecture par ligne

Ce qui n’allait pas dans l’exemple précédent :

Le fond uni et/ou quadrillé peut facilement perdre un lecteur. Bien qu’il soit peu probable de se tromper avec un tableau aussi simple (7 lignes, 7 colonnes), la difficulté augmente très rapidement avec l’ajout de ligne ou de colonnes et il devient alors très facile pour le lecteur de se tromper de ligne lors de la lecture du tableau.

Ce qui peut être fait :

Utiliser une alternance entre le blanc et une couleur neutre et claire permet d’aider l’œil à suivre une ligne. Cette technique améliore donc la lisibilité tout en retirant des éléments visuels du tableau (e.g. un quadrillage appuyé).

#3 Arrondir les valeurs et utiliser des abréviations

Ce qui n’allait pas dans l’exemple précédent :

Le tableau précédent exprime clairement des budgets en millions générant ainsi de nombreux chiffres dans ce tableau. Que celui qui n’a pas eu à compter le nombre de « 0 » dans la colonne “Budget” (pour en déterminer l’ordre de grandeur) me jette la première pierre !

Ce qui peut être fait :

Arrondir les valeurs si les décimales n’ont pas d’intérêt.

Utiliser des puissances de mille (milliers, millions, milliards, etc.) pour réduire les chiffres présents dans le tableau. Il est courant d’utiliser des abréviations telles que le « k » pour les milliers, « M » pour les millions, « G/B/T » pour les milliards. Les abréviations pour les milliers et millions restent génériques, cependant les milliards peuvent dépendre de la langue utilisée et du domaine d’application (monétaire, informatique, etc.). Il est donc conseillé de bien se renseigner sur l’auditoire possible du tableau.

#4 Spécifier les échelles et les unités, notamment monétaires

Ce qui n’allait pas dans l’exemple précédent :

La colonne Budget est exprimée en millions, il n’y a pas plus d’informations. Inconsciemment le cerveau reconstruit par déduction les informations manquantes, dans l’étendu du possible : Le Budget relève d’une question d’argent, ainsi les valeurs annoncées sont très probablement des montants monétaires. Quid de la devise utilisée ? La réponse est peut-être claire et évidente pour le créateur du graphique mais rarement pour les lecteurs.

Il en est de même pour l’échelle temporelle des colonnes “Évolution”. La période est manquante et rend donc l’analyse impossible (ou potentiellement fausse). S’agit-il d’une évolution mensuelle, annuelle ou trimestrielle ?

Ce qui peut être fait :

Spécifier l’unité monétaire. S’il s’agit d’une monnaie dont le symbole est connu (on pense notamment aux euros (€), dollars ($), etc.) : spécifier le symbole monétaire (moins de texte à lire, tout en conservant la compréhensibilité du graphique).

Toujours spécifier les périodes d’évolution pour éviter toute confusion.

Ajouter un titre pour préciser la période des chiffres annoncés ! Un graphique sans titre n’est qu’un dessin !

#5 Garder de la consistance dans les mises en forme

Ce qui n’allait pas dans l’exemple précédent :

Bien qu’il y ait une consistance dans l’ordre des colonnes (la colonne évolution se situant toujours à droite de la colonne des chiffres annuels. Dans le cas présent, il pourrait être confusant d’avoir une colonne d’évolution entre 2 colonnes de valeurs.

La consistance peut également s’appliquer sur la mise en forme du texte en particulier sur l’utilisation des couleurs. Dans l’exemple initial il est fort possible que la baisse du budget de l’équipe “Logistique” soit totalement passé inaperçu.

Ce qui peut être fait :

La structure de ce tableau permet de lever le doute en plaçant la colonne “Recrutements” en seconde place pour se retrouver avec un enchaînement valeur-évolution pour les effectifs et le budget.

Alignement des codes couleur pour les colonnes du tableau.

#6 Utiliser des symboles divers

Ce qui n’allait pas dans l’exemple précédent :

Jusqu’à présent le tableau a été traité comme une simple mise à plat de chiffres. Pour améliorer le rendu il est également possible d’ajouter des éléments plus visuels.

Ce qui peut être fait :

Deux éléments facilement implémentables peuvent permettre de rendre la lecture plus agréable : Aérer le tableau et utiliser des couleurs moins vives (Anthracite à la place du noir, rouge à tendance bordeaux à la place du rouge vif classique, etc.).

Ajouter des symboles tels que des flèches, courbes ou barres est également possible afin de diriger l’œil sur les éléments important. Dans l’exemple ci-dessous l’utilisation de barres met en valeur la dernière colonne (“performances”) plus efficacement que l’utilisation du gras (initialement utilisé).

Il ne s’agit là que d’un exemple. D’autres choix visuels auraient pu être réalisé sans pour autant être considéré comme des choix « plus mauvais ».

L’ensemble des solutions apportées sur le tableau initial ont été réalisée avec un tableau classique (Excel™, pour ne pas le citer). Il n’est donc pas nécessaire de s’équiper en outil de data visualization pour retravailler ses tableaux comme des graphiques.

Vous avez à présent les clés pour captiver votre audience lors de vos réunions !

Rédigé par Eliot Moll, Consultant Data Driven Business

Notes
[1] Il se peut qu’un tableau ne soit pas la seule solution mais figure cependant parmi les meilleures.

Chaque sous-partie présente un article, une actualité ou une technologie qui a marqué ce mois de mars.

#1 Prix Alan Turing

Le mois de mars a été marqué par l’annonce du prix Turing 2018, décerné à 3 pionniers de l’intelligence artificielle et des réseaux neuronaux. En effet Yoshua Bengio, Yann LeCun et Geoffrey Hinton ont été récompensés pour leur contribution à l’avénement du deep learning, même quand le domaine n’avait pas le vent en poupe dans les années 1990–2000. Ils occupent maintenant des postes proéminents dans le milieu de l’intelligence artificielle, oscillants entre recherche et industrie. Une rapide présentation des trois compères s’impose ;

Geoffrey Hinton, à la fois membre de Google Brain et chercheur à l’université de Toronto, a par exemple inventé les machines de Boltzmann en 1983 et a travaillé sur l’algorithme de backpropagation en 1986, technique aujourd’hui fondamentale dans l’apprentissage des réseaux neuronaux. Plus récemment, il s’est aussi illustré en 2012 dans la compétition de reconnaissance d’objets ImageNet, en augmentant drastiquement le taux de précision. Ce concours marquera aussi un boom de l’intelligence artificielle dans l’industrie.

Yoshua Bengio, quant à lui, s’est entre autres distingué pour son travail sur la technique du word-embedding dès le début des années 2000 ainsi que ses contributions sur les GANs depuis 2014. Il est aujourd’hui professeur au Département d’informatique et de recherche opérationnelle de l’Université de Montréal et directeur de l’institut québécois d’intelligence artificielle (Mila). En outre, il est aussi fondateur de la start-up Element AI, proposant de multiples applications liant IA et business, qui a par ailleurs réalisé une levée de fonds historique au Canada.

Enfin, le français Yann LeCun, actuellement scientifique en chef de l’IA chez Facebook et professeur à l’université de New York, a développé les réseaux neuronaux de convolutions (CNNs), aujourd’hui piliers dans de nombreux domaines tels que la synthèse d’image, la reconnaissance vocale, ou les traitements automatiques du langage naturel. Il a aussi proposé la première application industrielle des réseaux artificiels de neurones avec la reconnaissance des codes postaux rédigés à la main.

#2 TensorFlow Dev Summit 2019

Google a organisé les 6 et 7 mars dernier le TF Dev Summit 2019 qui a été le théâtre de plusieurs présentations mais surtout d’une multitude d’annonces. Il a été question de la version 2.0 de Tensorflow avec le lancement, le 4 mars dernier, de l’alpha de la célèbre librairie python consacrée au machine learning et énormément populaire pour ses applications en deep learning. Au programme, la simplification et la facilité d’usage passant notamment par une refonte de nombreuses API. TF2.0 introduit en outre le mode “eager execution” qui permet l’execution immédiate des opérations comme le fait traditionnellement Python, au lieu de passer par une construction abstraite de graphe. Enfin, une autre grande nouveauté de la 2.0 réside dans l’utilisation proéminente de l’API Keras.

Des add-ons open-source ont aussi été annoncés, parmi eux figurent TensorFlow Federated qui décentralise l’apprentissage de modèles. Ainsi chacun pourra via son mobile améliorer un modèle en le téléchargeant, en l’améliorant avec ses propres données, sans les uploader ; c’est uniquement le modèle qui est mis à jour via le cloud. TensorFlow Privacy, par la théorie de la confidentialité différentielle, assure le respect de la vie privée lors de l’entraînement des modèles de machine learning. On notera aussi la mise à jour de la solution pour Mobile et appareils IoT, TensorFlow Lite.

#3 Global Skill Index par Coursera for Business

La plateforme de formation en ligne aux 38 millions d’élèves a publié son compte rendu 2019 des compétences liées à la technologie, à l’industrie et à la data science. Ce rapport met en exergue le niveau de qualification des apprenants et permet à chaque pays de se situer au niveau mondial. Certaines tendances se dégagent :

L’Europe offre une grande concentration de profils hautement qualifiés ; la plupart des 24 pays occupent les premières places dans les trois domaines. Aussi la Finlande, la Suisse, l’Autriche, la Suède, l’Allemagne, la Belgique, la Norvège et les Pays-Bas sont constamment dans le premier quartile de chaque domaine. On remarquera la performance de la France qui se hisse à la 8ème place en data science (Israël étant en tête du classement), ainsi que nos bons résultats en ingénierie sécurité et génie logiciel.

Le rapport fait aussi état du niveau de compétence par domaine. Ainsi, la finance surprend par son manque de compétence dans l’ensemble des trois domaines en se classant 9ème en Business, 9ème en Data Science et 5ème en technologie. A contrario, l’industrie manufacturière démontre sa forte capacité d’adaptation à l’ère digitale : elle prend la première place en Technologie et en Business. Le secteur des Telecoms est aussi très solide en étant la seule industrie dans le top3 de chaque domaine.

#4 Levée de fonds pour Sqreen

La start-up française Sqreen réalise une levée de fonds de série A de 14 millions de dollars menée par Greylock Partners. Basée à Paris et incubée à San Francisco, Sqreen souhaite s’imposer dans le milieu de la cybersécurité des applications Web et infrastructures cloud. En effet, leur solution Application Security Management (ASM), qui utilise les micro-agents intégrés dans les applications pour identifier les failles de sécurité et protéger automatiquement contre les menaces en temps réel.

Cette plateforme vise à permettre aux équipes de cybersécurité et de développeurs d’étendre leur sécurité sans impact sur la performance de leurs applications. Aussi, il est à souligner que cette solution ne requiert aucune modification dans le code ni d’installation de firewall. La société cofondée par l’ancien directeur du département de la sécurité d’Apple a notamment pour clients Le Monde, Algolia ou encore Y Combinator.

#5 DeepAugment

Les performances des modèles de Deep Learning sont énormément dépendants des données à leur disposition. Un modèle entraîné sur trop peu de données généralisera mal ses résultats et donnera des résultats bancals. Pour pallier à ce problème sans avoir recours à une campagne de collecte de données, qui peut s’avérer onéreuse, une solution consiste à faire appel à la Data Augmentation. Ce procédé repose sur la transformation des données existantes pour en créer de nouvelles, par exemple en effectuant des rotations ou des changements de couleurs sur des images. La difficulté réside dans le fait de trouver la façon optimale d‘augmenter nos données.

Une première méthode, AutoAugment, a été proposée en 2018 par Google en se basant sur du reinforcement learning. Cependant, en plus de demander une puissance de calcul considérable, il n’est pas possible d’appliquer cet algorithme à ses propres jeux de données. Plus récemment, une autre solution autoML d’augmentation de données a vu le jour ; DeepAugment. Cette dernière permet de corriger les défauts d’AutoAugment à l’aide d’optimisations bayésiennes. DeepAugment affiche des performances nettement meilleures qu’AutoAugment que ce soit en vitesse d’execution ou en précision.

Rédigé par Simon Coulet, Consultant Data Driven Business

Thanks to Nicolas Risi and Clément Moutard.

Notes
[1] Image tirée du livre Deep Learning, par S. Varna et S. Das