Le Wall Street Journal a récemment publié un joli document graphique interactif intitulé « Combattre les maladies infectieuses au XXe siècle : l'impact des vaccins », qui contient une série de graphiques montrant l'incidence de certaines maladies infectieuses par État et par année. Voici celui sur la rougeole.
Ma première impression a été : « Waouh, on dirait que le pays a eu la rougeole et que le vaccin a éliminé la maladie. » Dans la mesure où une visualisation doit communiquer un message, celle-ci réussit à montrer l'impact général du vaccin. Cependant, après y avoir regardé de plus près, quelques détails m'ont dérangé.
- Il faut beaucoup de détails pour faire valoir un seul point (mauvais rapport données/encre).
- La palette de couleurs de type arc-en-ciel rend difficile la comparaison rapide des valeurs. En effet, il n'existe aucun ordre perceptuel du bleu, du vert et du jaune.
- Le dégradé de couleurs va jusqu'à 4000, mais les données ne vont que jusqu'à 3000.
- La moitié des noms des États manquent.
- Les États sont classés par codes postaux mais affichés avec des abréviations standard, c'est pourquoi l'Alaska est avant l'Alabama, par exemple.
- Les données s'arrêtent à 2002, avant la reprise actuelle qui place les vaccinations au premier plan de l'actualité.
Robert Allison (« Comment améliorer l'apparence des maladies infectieuses ») et Andy Kirk (« Est-ce la visualisation ou les données que nous aimons ? ») ont également examiné de manière critique cette visualisation. J'étais plus intéressé par l'obtention des données et par l'essai d'autres façons de les visualiser dans JMP.
Obtenir les données
J'ai téléchargé des fichiers CSV à partir de Project Tycho , ce qui m'a posé plus de problèmes que prévu. Apparemment, il existe un téléchargement groupé plus simple, mais je ne l'ai pas trouvé. Plus de 100 téléchargements manuels plus tard, j'avais les fichiers de données brutes. Après avoir obtenu les données, j'ai eu deux surprises :
- Les données sont hebdomadaires au lieu d’annuelles.
- Il manque des données partout, et pas seulement là où le graphique du WSJ l'indique.
J'aime faire quelques graphiques rapides et exploratoires pour m'assurer que les données semblent raisonnables. Voici l'un de tous les taux d'incidence hebdomadaires. Même si j'ai réduit la transparence, cela ne suffit toujours pas à dire que la plupart des données sont inférieures à 10 cas par semaine pour 100 000 personnes. Vous pouvez cependant voir les valeurs aberrantes, et j'en ai étiqueté quelques-unes. Je ne connais pas suffisamment le sujet pour savoir si ces valeurs aberrantes sont suspectes ou non.

Gestion des données manquantes
Avant de pouvoir commencer à créer de vrais graphiques, j'avais besoin d'un plan pour gérer les données manquantes. Le graphique du WSJ traite essentiellement toutes les valeurs manquantes comme 0, à moins que l'année entière ne soit manquante - dans ce cas, l'année est affichée avec une couleur légèrement différente (blanc au lieu de bleu clair). J'ai décidé d'adopter une approche différente mais toujours artificielle. J'ai pensé que les données manquantes des premières années sont probablement inconnues, mais dans les années ultérieures, il semble plus probable que les données soient vraiment 0 et ne soient tout simplement pas signalées car la maladie était si rare à cette époque. Je maintiens donc les données manquantes jusqu'à une certaine année (1975) et traite les valeurs manquantes comme 0 après cette date. Cela évitera au moins les taches sur le côté droit du graphique.
Recréer l'original
Avant d'aller trop loin dans l'exploration, j'ai décidé d'essayer de reproduire le graphique du WSJ tel qu'il est dans JMP. J'ai dû :
- Résumez les données en années.
- Joignez les données avec une autre table de données d’abréviations d’état.
- Créez un thème de couleur personnalisé.
- Créez une carte thermique dans Graph Builder.
- Ajouter une ligne de référence pour la date d’introduction de la vaccination.

Le résultat est assez proche. L'ordre des états est légèrement différent car je n'ai pas pris la peine de trier les états par code postal au lieu de l'abréviation affichée. Les couleurs peuvent différer car je n'ai pas copié les couleurs avec soin. Et bien sûr, le traitement des données manquantes modifie certaines années manquantes à 0.
Après avoir recréé le thème de couleurs, j'ai pu voir une partie de sa logique. Les thèmes de couleurs arc-en-ciel sont généralement mauvais pour les valeurs continues, car les différentes teintes sont perçues de manière catégorique plutôt que continue. Le schéma de couleurs du WSJ comprend essentiellement trois schémas différents :
- Un schéma continu jaune-orange-rouge pour les niveaux « élevés ».
- Un vert uni pour les niveaux « modérés ».
- Un schéma blanc-bleu continu pour les niveaux « faibles ».
Je pense que les verts sont ce qui dérange le plus ma perception, alors j'ai pensé que j'essaierais la même idée sans le vert.

Il nous reste encore à choisir une limite arbitraire, mais je préfère le vert car il y a moins de catégories à trier. Cette coloration limite également la plage à 3 000.
Changer les couleurs
Que diriez-vous d'un thème de couleurs vraiment continu ? Robert Allison utilise un schéma allant du blanc au rouge, ce qui semble raisonnable. Le problème avec une seule plage continue est que les données sont biaisées, donc une application de couleurs linéaire ne mettrait en évidence les différences qu'à une extrémité de l'échelle. Nous pouvons contourner ce problème en utilisant une échelle linéaire par morceaux et en personnalisant le thème de couleurs.

Étrangement, étant donné la gamme réduite de couleurs, la baisse à l’échelle nationale en 1945 est plus facile à voir.
Nous pourrions également essayer de classer les États par incidence moyenne plutôt que par ordre alphabétique. Cela permet de voir plus facilement que les États ne sont pas affectés de manière aussi uniforme qu'il y paraît.
Jusqu'à présent, j'ai montré les taux d'incidence annuels, comme dans l'original du WSJ. Cependant, étant donné la quantité de données manquantes, il est logique d'afficher les moyennes hebdomadaires comme le fait Allison afin de ne faire la moyenne que des données dont nous disposons. Afficher les taux annuels revient à traiter les valeurs des semaines manquantes comme 0. Voici le même graphique des taux hebdomadaires :

Les différences sont subtiles. Prenons l'exemple de la Géorgie en 1934, où seules 27 semaines étaient couvertes par des données, et les valeurs de ces semaines étaient assez élevées. Dans l'original, la Géorgie en 1934 ne semblait que moyenne car elle était diluée par toutes les valeurs manquantes qui étaient traitées comme des zéros, mais ici, elle semble élevée. La vérité se situe probablement entre les deux : il est peu probable que les valeurs manquantes soient égales à 0 ou aussi élevées que les valeurs non manquantes.
L'approche stricte du « manquant-est-manquant » n'est pas sans ses propres pièges. À titre de comparaison, voici la version d'Allison montrant les moyennes hebdomadaires. Notez le pic apparent de rougeole dans le Vermont en 1997. Il ne s'agit en fait que d'une semaine de données. Toutes les autres semaines sont manquantes. Cela ressemble donc à une mauvaise année, mais peut-être n'était-ce qu'une mauvaise semaine.

Je ne connais pas la meilleure façon de traiter la quantité variable de données manquantes. J'ai essayé de faire rétrécir les carrés lorsque leurs données manquaient. C'est une représentation plus fidèle, mais je ne suis pas sûr que la complexité supplémentaire en vaille la peine. De plus, on peut à peine voir la différence de taille la plupart du temps.

Explorer d'autres points de vue
Mon idée initiale était de créer un graphique à barres à l'échelle nationale au fil du temps. Cela s'est avéré plus compliqué que je ne le pensais, car j'avais besoin des valeurs démographiques annuelles pour regrouper correctement les taux d'incidence des États. Les données brutes ne comprennent que les décomptes et les taux pour 100 000. J'ai pensé que je pouvais estimer la population des États à partir du décompte divisé par le taux (méthode 1), mais cela échoue lorsque le taux est de 0 ou très faible. Mon autre approche (méthode 2) a consisté à interpoler à partir de quelques valeurs démographiques historiques que j'ai trouvées sur le site du Bureau du recensement. Après avoir essayé les deux, je les ai comparées à l'aide d'un graphique :
Cette ligne horizontale à 10 (millions) correspond aux années avec un décompte de 1 et un taux de 0,01. Les taux ne sont fournis qu'à deux décimales. Des problèmes similaires sont à l'origine de la valeur aberrante à 70 : cette année-là, le Texas contenait plusieurs semaines avec un décompte de 1 et un taux de 0,00. J'ai fini par utiliser une formule qui mélangeait les deux estimations, en ne considérant que le ratio calculé, le taux n'était alors pas très faible.
Voici le graphique à barres du taux d'incidence national, qui illustre assez bien le point initial et permet de voir plus facilement la variation d'une année sur l'autre, y compris l'année calme de 1945.

Je n'aime pas les graphiques à lignes pointues, mais en voici un pour donner un contexte au graphique suivant. Chaque ligne représente un état. 
Je préfère la philosophie du « moins c'est plus » que proposent les lisseurs. Dans ce cas, vous perdez la plage, mais vous obtenez une meilleure idée de la tendance générale et de quelques états aberrants.

Réflexions finales
Pour cette étude, je partage des scripts de toutes les étapes de traitement et de création de graphiques que j'ai effectuées, dans un esprit de recherche reproductible . Measles Study.ZIP est joint à ma version originale de cet article sur The Plot Thicks dans la communauté des utilisateurs JMP. Le fait d'avoir les scripts a également facilité l'essai de différentes stratégies de valeurs manquantes. Le fichier ZIP contient les fichiers CSV sources ainsi que mes scripts JSL et la table de données JMP finale, qui contient elle-même des scripts pour les graphiques. Exécutez le script appelé "Measles Study" pour recréer les fichiers. Vous pouvez modifier la variable "Missing is zero after" en une autre année que 1975 pour essayer une autre valeur manquante, ou aucune valeur manquante du tout.
Bien qu'il ait fallu un peu de travail pour arriver jusqu'ici, je vois qu'il reste encore du travail à faire pour une meilleure analyse. Par exemple, il existe un modèle saisonnier dans les cas qui pourrait être utilisé pour imputer certaines des valeurs manquantes. Il pourrait être intéressant de rechercher des groupes d'États ou des modèles d'épidémie. Visuellement, peut-être que des bandes de plage seraient meilleures que des lignes. J'aimerais explorer l'idée d'Andy Kirk d'essayer les schémas de couleurs sur des données sans une baisse aussi brutale. Que diriez-vous d'utiliser des données nationales après 2002 ? ...
Je dois cependant m'arrêter quelque part. D'ailleurs, avec toutes les données ci-jointes, peut-être, cher lecteur, continuerez-vous l'exploration.