Regarder les données avant de modéliser
Ce que ce chapitre apporte
- Décrire un jeu de données par ses dimensions, ses types et ses statistiques de base.
- Lire une distribution et reconnaître une asymétrie, une queue lourde, une troncature.
- Repérer une valeur sentinelle qui se fait passer pour une mesure.
- Détecter doublons, libellés incohérents et valeurs manquantes.
- Lire une matrice de corrélation, et savoir ce qu'elle ne montre pas.
- Comparer une cible entre sous-groupes pour trouver les variables qui portent l'information.
- Mesurer le déséquilibre d'une cible et en tirer les conséquences.
Le premier regard
Les types. Ce que la bibliothèque a deviné pour chaque colonne. Une colonne numérique lue comme du texte signale presque toujours une valeur parasite.
Les statistiques. Minimum, maximum, quartiles, moyenne. C'est là qu'un minimum à zéro ou un maximum suspicieusement rond se remarquent.
Quelques lignes. Les regarder vraiment, en entier. Un tableau se comprend mieux sur dix lignes lues que sur mille agrégées.
Le jeu de données ci-dessous accompagnera tout le module : des relevés d'exploitation sur un parc de serveurs. Il est fabriqué, mais ses défauts sont ceux qu'on rencontre.
La température minimale vaut 0. Aucun serveur ne fonctionne à 0 °C. Ce n'est pas une mesure, c'est un code : le capteur était absent ou en panne, et quelqu'un a écrit zéro plutôt que de laisser vide.
L'âge maximal vaut exactement 120. Un maximum parfaitement rond est presque toujours une troncature : le relevé s'arrête là, et toutes les machines plus anciennes ont été ramenées à cette valeur.
La mémoire a une moyenne bien supérieure à sa médiane, 14,4 contre 11,1, avec un maximum à 103. La distribution est asymétrique à droite : quelques serveurs très dotés tirent la moyenne.
Un zéro déguisé en mesure ne se voit pas. Il entre dans la moyenne, il abaisse les corrélations, il déplace les frontières apprises par un modèle, et rien ne le signale.
Les sentinelles classiques sont
0, -1, -999, 9999, et les dates du 1er janvier 1900 ou 1970. Le réflexe est de regarder les valeurs extrêmes de chaque colonne et de se demander si elles sont physiquement possibles.
Les distributions
Les accumulations anormales : un pic isolé sur une valeur ronde, une barre à zéro. Ce sont les sentinelles et les troncatures.
L'étendue réelle des valeurs, et si elle est physiquement plausible.
Deux jeux de données peuvent avoir la même moyenne et le même écart-type sans se ressembler du tout, ce que le quatuor d'Anscombe montre au chapitre 4 du module Sciences fondamentales. La statistique résume, l'histogramme montre.
Les conséquences sont réelles. Toute moyenne d'âge est sous-estimée. Toute relation entre l'âge et une autre variable est aplatie au-delà du seuil. Et un modèle apprendra que rien ne se passe après dix ans, alors qu'il n'a simplement rien vu.
Ce qu'il faut en faire relève du chapitre 3. Ce qu'il faut faire ici, c'est le savoir.
Voici la forme dont il faut savoir qu'elle appelle un traitement particulier : une distribution à queue lourde, où quelques valeurs très grandes écrasent toutes les autres.
Les relations entre variables
Pour chaque paire de variables quantitatives, le coefficient de corrélation linéaire mesure à quel point leurs valeurs varient ensemble de façon proportionnelle. Il vaut entre et .
Une carte de chaleur affiche toute la matrice d'un coup, ce qui permet de repérer en un regard les paires liées.
Elle ne dit rien des causes. Le chapitre précédent l'a montré avec un parc de machines où la marque n'était que le témoin de la température.
Elle ignore les variables qualitatives. La salle est ici la variable la plus explicative du jeu, et elle n'apparaît dans aucune matrice de corrélation, parce que ce n'est pas un nombre. Comparer les moyennes par groupe est le geste qui la révèle.
Les moyennes par groupe sont éloquentes. La salle C tourne à près de 29 °C contre 22 et 23 ailleurs, et son taux de panne est le triple de celui de la salle B. La variable la plus explicative du jeu est qualitative, donc invisible dans la matrice.
Un quatrième libellé apparaît. Une salle nommée « a » compte douze serveurs. Ce n'est pas une quatrième salle, c'est la salle A écrite en minuscule, et aucun traitement ne les regroupera tant qu'on ne l'aura pas corrigé.
La cible est déséquilibrée. Seize pour cent de pannes signifie qu'un modèle qui répondrait toujours « pas de panne » aurait 84 % de bonnes réponses tout en étant parfaitement inutile. Le chapitre 9 en tire toutes les conséquences.
Le réflexe est de compter les valeurs distinctes de chaque colonne qualitative et de les lire. Une colonne qui devrait avoir trois modalités et en affiche quatre pose un problème visible en une seconde, et invisible dans n'importe quelle statistique agrégée.
Ce qu'il faut avoir vérifié avant de sortir de l'exploration
- Dimensions et types : le tableau a-t-il la taille attendue, chaque colonne le type attendu.
- Doublons : combien de lignes strictement identiques, et pourquoi.
- Manquants : combien par colonne, et est-ce concentré sur certaines lignes.
- Valeurs impossibles : minimums et maximums physiquement plausibles.
- Sentinelles : pics sur 0, -1, -999, ou toute valeur ronde.
- Troncatures : accumulation à une borne.
- Modalités : valeurs distinctes de chaque colonne qualitative, lues une par une.
- Distributions : forme de chaque variable numérique.
- Relations : corrélations entre numériques, moyennes par groupe pour les qualitatives.
- Cible : son équilibre, et ce qu'un modèle trivial obtiendrait.
Une coïncidence légitime : deux serveurs identiques dans la même salle peuvent parfaitement avoir les mêmes relevés. Les supprimer serait perdre de l'information.
Les distinguer demande un identifiant. S'il n'y en a pas dans le jeu, c'est la première chose à réclamer, avant tout traitement.
Exercices type
Une colonne « salaire » a un minimum de 0 et un maximum de 999999. Que vérifier ?
Les deux bornes sont suspectes, et pour des raisons différentes.
Le 0 est très probablement une sentinelle : salaire inconnu, non renseigné, ou salarié non payé sur la période. Il faut compter combien de lignes le portent : quelques-unes, c'est un cas particulier ; deux cents, c'est un code.
Le 999999 est une valeur plafond, la plus grande qui tienne dans six chiffres. C'est soit une troncature du système source, soit une autre sentinelle.
Dans les deux cas, la vérification est la même : compter les occurrences exactes de ces valeurs. Une valeur qui revient des dizaines de fois à l'identique dans une variable continue n'est pas une mesure.
Un histogramme montre deux bosses nettement séparées. Qu'en conclure ?
Que le jeu de données mélange probablement deux populations qu'une variable non identifiée sépare.
Sur une température de serveurs, cela peut être deux salles, deux générations de matériel, deux périodes de l'année. Sur une durée, deux protocoles de mesure.
Le geste qui suit est de chercher la variable qui sépare les bosses, en traçant l'histogramme séparément pour chaque modalité des colonnes qualitatives. Si l'une d'elles produit deux distributions bien séparées, elle est la variable cherchée.
Si aucune colonne existante ne l'explique, c'est qu'il manque une colonne, et le chapitre 1 a dit ce qu'il en coûte.
La matrice de corrélation ne montre rien de fort. Le jeu est-il sans structure ?
Non, et la conclusion serait grave. Trois raisons possibles.
La structure est qualitative. C'est le cas ici : la salle explique presque tout et n'apparaît dans aucune corrélation. Comparer les moyennes par groupe la révèle.
La structure est non linéaire. Une relation en cloche ou en marches donne une corrélation proche de zéro tout en étant parfaitement déterministe.
La structure est masquée par du bruit ou des sentinelles. Vingt-huit températures à zéro suffisent à écraser une corrélation réelle.
Une matrice de corrélation pauvre est donc une invitation à regarder ailleurs, jamais une conclusion.
Une cible binaire vaut 1 dans 2 % des cas. Quelles conséquences immédiates ?
Un modèle trivial atteint 98 % de bonnes réponses en répondant toujours 0. Toute annonce de performance en pourcentage de bonnes réponses devient donc sans valeur, et il faudra les métriques du chapitre 9.
L'échantillonnage doit être stratifié. En découpant au hasard un jeu d'entraînement et un jeu de test, un tirage malheureux peut mettre presque tous les cas positifs du même côté. La découpe doit conserver la proportion dans chaque part.
Le nombre absolu compte plus que le taux. Deux pour cent de dix mille lignes font deux cents cas positifs, ce qui est peu mais exploitable. Deux pour cent de trois cents lignes en font six, et aucun modèle sérieux ne s'apprend sur six exemples.
Faut-il supprimer les quinze lignes en double du jeu de données du chapitre ?
Ici, oui, parce qu'elles ont été créées artificiellement en recopiant des lignes existantes : ce sont des doublons techniques, et les garder donnerait deux fois plus de poids à quinze serveurs choisis au hasard.
En général, cela dépend, et la question à poser est : existe-t-il un identifiant unique par individu ?
Avec identifiant, deux lignes de même identifiant sont un doublon technique, à supprimer.
Sans identifiant, deux lignes identiques peuvent être deux individus réellement semblables. Les supprimer perdrait de l'information, et le fait de ne pas pouvoir trancher est en soi un défaut du jeu de données, qu'il faut signaler à qui l'a fourni.
1.Une colonne « température » a un minimum de 0 dans un parc de serveurs. Que faut-il en penser ?
2.Dix-neuf pour cent des valeurs d'une variable continue tombent exactement sur le maximum. Pourquoi ?
3.La matrice de corrélation d'un jeu ne montre aucune valeur forte. Que conclure ?
4.Une colonne « salle » attendue avec trois modalités en affiche quatre. Que s'est-il passé ?
5.Une cible binaire vaut 1 dans 16 % des cas. Qu'obtient un modèle qui répond toujours 0 ?
6.L'analyse exploratoire sert à…
La méthode
- Regarder les dimensions et les types avant toute chose.
- Lire les minimums et les maximums de chaque colonne numérique, et se demander s'ils sont possibles.
- Compter les occurrences exactes de toute valeur suspecte : une mesure ne se répète pas à l'identique.
- Tracer un histogramme par variable numérique, sans exception.
- Lire les modalités de chaque colonne qualitative, une par une.
- Compter doublons et manquants, et chercher d'où ils viennent.
- Comparer la cible par groupe pour les variables qualitatives, qu'aucune corrélation ne montre.
- Mesurer l'équilibre de la cible et calculer ce qu'obtiendrait un modèle trivial.
- Ne rien corriger à ce stade : l'exploration constate, le chapitre suivant traite.
Synthèse
- L'exploration ne produit aucun modèle : elle découvre ce que la documentation ne dit pas.
- Une valeur sentinelle se fait passer pour une mesure et fausse tout sans se signaler.
- Une accumulation sur une valeur ronde signale une troncature, qui aplatit toute relation au-delà.
- Moyenne nettement supérieure à médiane signale une queue lourde, que le chapitre 3 redresse.
- Deux bosses dans un histogramme signalent deux populations mélangées.
- Une corrélation ne voit que le linéaire, ne dit rien des causes, et ignore les variables qualitatives.
- La variable la plus explicative peut être qualitative, donc absente de toute matrice de corrélation.
- Des libellés incohérents créent des modalités fantômes, invisibles dans les agrégats.
- Une cible déséquilibrée rend le taux de bonnes réponses inutilisable.
- Un doublon est technique ou légitime, et sans identifiant on ne peut pas trancher.