Nous vivons aujourd’hui l’âge d’or de la Data. Chaque e-mail reçu, chaque application téléchargée, chaque clic pour vérifier la météo créé une quantité de données. Cependant, comme le dit l’expression célèbre dans le milieu de l’informatique : Garbage In, Garbage Out. Les informations qu’une entreprise peut tirer des données ne sont bonnes que si les données le sont elles-mêmes. Des données de mauvaise qualité peuvent entraîner des difficultés dans l’extraction d’information, et en fin de compte, une mauvaise prise de décision dans l’entreprise.
De plus, des données de mauvaise qualité peuvent avoir des impacts importants sur l’organisation d’une entreprise. Par exemple : Un pourcentage important d’adresses email incorrects dans une base de données pourra fausser le résultat d’une campagne marketing, un système de mesures incorrect entraînera de mauvaises prédictions de vente.
C’est pourquoi, il est important, pour toutes les personnes amenées à créer, manipuler ou exploiter des données, de s’assurer de la qualité de ces dernières. Voici une liste non exhaustive des erreurs pouvant entraîner un problème de qualité de données :
1- Mal appréhender l’environnement de données
Avoir une méconnaissance de la nature des données en notre possession, ou des définitions des variables présentes dans le jeu de données peut entraîner une mauvaise analyse de ces dernières, ou pire le partage d’une interprétation inexacte/approximative.
La première chose à faire avant d’explorer un jeu de données est de s’intéresser aux métadatas c’est à dire aux informations que l’on a sur les données:
Quelle est la source de ces données ? Comment ces données ont-elles été collectées ?
Quels types de fichiers a-t-on ? De quelle taille ?
Quelles sont les caractéristiques présentes ?
Un ensemble de données partagé par le gouvernement et contenant plusieurs giga octets de données collectées pendant des années, n’est pas la même chose qu’un jeu de données obtenu après enquête auprès d’un échantillon de la population.
Bien connaître ses données est un moyen d’éviter beaucoup d’erreurs.
2 - Informations incomplètes
Les valeurs manquantes sont un sujet très récurrent en data science.
En statistiques, les données manquantes ou les valeurs manquantes apparaissent lorsqu’aucune valeur n’est représentée pour une variable pour une observation donnée.
Voici certaines raisons de présence de données manquantes dans un jeu de données :
- L’utilisateur a oublié de remplir un champ.
- Des données ont été perdues lors d’un transfert manuel à partir d’une ancienne base de données.
- Il y a eu une erreur de programmation.
- L’utilisateur a choisi de ne pas remplir un champ lié à ses convictions sur la façon dont les résultats seraient utilisés ou interprétés.
Parfois, il s’agit simplement d’erreurs aléatoires ; d’autres fois il s’agit d’un problème systématique.
Les valeurs manquantes sont courantes et peuvent avoir un effet significatif sur l’analyse, la performance de prédictions, ou toute utilisation des données qui en contiennent.
La bonne gestion des données manquante est donc fondamentale pour la bonne réalisation d’une étude.
Pour éviter les problèmes, il faut en premier lieu savoir quelles sont les valeurs qui doivent être considérées comme manquantes. Par exemple, certaines variables contiennent des espaces ou caractères spéciaux (‘?’, ‘\’, ..) qui correspondent à des valeurs manquantes mais ne seront pas forcément reconnus comme telles.
Par la suite, le remplacement des valeurs manquantes, ou la suppression des lignes/colonnes concernées doit se faire de manière intelligente.
Inutile de supprimer une colonne qui contient 5 valeurs manquantes sur 200000, mais une ligne comportant 60% de données manquantes pourrait faire plus de mal que de bien à un modèle d’apprentissage automatique.
3 - Erreurs typographiques et données inexactes
Les données inexactes sont toutes les données présentant un problème de conformité ou de véracité : Un nom mal orthographié, une adresse incomplète, une valeur qui n’a rien à voir avec la variable qui la contient. Tout une série d’erreurs qui peuvent dans la plupart des cas être corrigées, mais encore faut-il pouvoir les reconnaître.
Aujourd’hui, nombres d’entreprises sont challengées par les données inexactes, mais encore plus par leur capacité à les identifier.
Comment savoir si les résultats d’une requête sont faux ? Surtout si la réponse paraît correcte?
Si lors d’une enquête interne, un analyste recherche le chiffre d’affaires mensuel de sa société au cours des 2 dernières années, et tombe sur un résultat de 100€, il aura forcément un doute sur la véracité de l’information. Et il aura raison, la valeur sera très probablement inexacte.
Mais si un des chiffres d’affaires est affiché à 200 000€, au lieu de 236 000€, l’analyste ne le remettra sans doute pas en question.
La donnée inexacte est utilisée et participe à créer de nouvelles données et analyses de mauvaise qualité, qui peuvent conduire potentiellement à une mauvaise prise de mauvaises décisions.
C’est pourquoi, il est important de veiller et vérifier, dès que l’on collecte ou crée des données, à ce qu’elles soient exactes et ne contiennent pas d’erreurs qui pourraient causer des ennuis par la suite.
4 - Format Inconsistant / Problèmes de types
Si les données sont stockées dans des formats incohérents, les systèmes utilisés pour analyser ou stocker les informations risquent de ne pas les interpréter correctement.
Par exemple, si une organisation tient à jour la base de données de ses consommateurs, le format de stockage des informations de base doit être prédéterminé. Le nom ( prénom, nom de famille ou l’inverse), la date de naissance (style américain/européen) ou le numéro de téléphone (avec ou sans code pays) doivent être enregistrés exactement dans le même format.
Il peut s’avérer très long par la suite pour les personnes amenées à manipuler ces données, de démêler simplement les nombreux formats des données présentes.
De même, le type des variables doit être prédéfini. Par exemple, une variable représentant une date, dont certaines valeurs sont au format datetime, tandis que d’autres sont au format texte causera inévitablement des problèmes à celui qui l’utilisera.
Prenez soin de toujours définir le format et le type des variables que vous créez, ou assurez-vous que ces derniers soient uniformes et cohérents lorsque vous récupérez des données.
5 - Doublons
La présence de données redondantes est un problème très fréquent dans la plupart des organisations.
Les doublons peuvent provenir d’une collecte d’informations identiques provenant de différentes sources, d’erreurs humaines, ou encore de données ajoutées au lieu d’être mises à jour.
Les doublons peuvent fausser tout type d’analyse de données, voire entraîner indirectement de mauvaises prises de décision.
De plus, les mêmes données dupliquées dans plusieurs systèmes auront un cycle de vie différent. Elles finiront par évoluer et n’auront plus la même valeur, même si identifiées comme similaires. Ce qui entraînera une prise de risque éventuelle dans le choix de la version à utiliser d’une donnée dupliquée pour prendre une décision commerciale critique.
Les données redondantes peuvent également coûter très cher à l’entreprise si elles sont nombreuses. Heureusement, il existe sur Python, par exemple, des fonctions ( comme drop_duplicates de Pandas) permettant de se débarrasser de doublons très facilement.
6 - Unités de mesures ou langages multiples
Un autre problème récurrent est l’utilisation de différents langages, différentes types de code ou encore différentes unités de mesure.
En effet, avant d’assembler des données provenant de différentes sources, il convient de s’assurer qu’elles soient compatibles, ou penser à les convertir.
Il existe de nombreux exemples d’erreurs désastreuses commises parce que ces questions n’ont pas été prises en compte au bon moment, comme ce satellite de la NASA sur Mars, qui a coûté plusieurs millions de dollars et qui s’est écrasé parce que son logiciel de navigation était programmé en unités de mesure anglo-saxonnes et non selon le système métrique.
De même, le traitement de données stockées avec plusieurs langages peut également créer des difficultés si les outils d’analyse ne les reconnaissent pas ou ne savent pas comment les traduire. Même les caractères spéciaux tels que les trémas et les accents peuvent faire des ravages si un système n’est pas configuré pour eux. Vous devez donc tenir compte de ces problèmes potentiels si vous avez affaire à des données internationales, et programmer vos algorithmes en conséquence.
7 - Les valeurs aberrantes (Outliers)
En statistiques, une valeur aberrante est une valeur qui diffère grandement de la distribution d’une variable. Il s’agit d’une observation anormale, qui s’écarte de données par ailleurs bien structurées.
La détection des valeurs aberrantes ou des anomalies est l’un des problèmes fondamentaux de l’exploration des données. L’expansion émergente et continue des données nous fait repenser la façon dont nous abordons les anomalies et les cas d’utilisation qui peuvent être construits en examinant ces anomalies.
Les cas d’utilisation et les solutions élaborées grâce à la détection des anomalies sont illimités.
Nous disposons désormais, par exemple, de montres et de bracelets intelligents qui peuvent détecter nos battements de cœur toutes les quelques minutes.
La détection d’anomalies dans les données relatives à la fréquence cardiaque peut aider à prédire les maladies cardiaques.
En Data Science, les valeurs aberrantes peuvent affecter certains paramètres statistiques, comme la moyenne. Si les Outliers ne sont pas détectés, cela peut fausser notre compréhension d’un jeu de données et nous conduire à émettre des hypothèses erronées sur ce dernier.
Une autre raison pour laquelle il est important de s’intéresser aux valeurs aberrantes est qu’une majorité des algorithmes de Machine Learning sont très sensibles aux données sur lesquelles ils sont entraînés, ainsi qu’à leurs distributions.
Avoir des Outliers dans le jeu d’entraînement d’un modèle de Machine Learning peut rendre la phase d’entraînement plus longue et potentiellement biaisée.
Par conséquent, le modèle de prédiction produit sera moins performant ou moins précis.
Il est facile d’identifier un Outlier lorsque les observations forment un ensemble unidimensionnel de valeurs numériques. Par exemple, vous pouvez clairement identifier l’observation aberrante dans la liste suivante : [7, 2, 38600, 8, 4].
Mais lorsque l’on dispose de milliers d’observations ou de multi-dimensions, la détection de valeurs aberrantes exige l’utilisation de certains outils statistiques (comme l’écart type), graphiques (comme le Boxplot) ou encore de certains algorithmes comme le clustering avec DBSCAN.
8 - Erreurs de transformation
En Data Science, avant la modélisation de données, il est courant d’avoir recours à certaines transformations mathématiques, comme la normalisation des valeurs d’une variable, le passage d’une variable catégorielle à une variable continue ou indicatrice.
Ces transformations sont souvent liées à des hypothèses faites sur les données ou proviennent de contraintes de l’algorithme que l’on souhaite utiliser.
Dans tous les cas, il est important de vérifier que les calculs que l’on fait sont corrects et cohérents. Il se peut, parfois, que les résultats obtenus ne correspondent pas aux besoins que l’on avait, et causent des erreurs et mauvaises interprétations par la suite.
9 -Problèmes de définition
Il est important de toujours pouvoir décrire avec rigueur les variables contenues dans un jeu de données. Si nécessaire, il faudra se renseigner, dans le cas où la définition d’une variable n’est pas assez précise.
Parfois, une variable peut avoir plusieurs sens ou plusieurs méthodes de calcul pour différentes organisations, différents pays ou continents.
Si vous faites une analyse sur le taux de chômage, par exemple, il ne faut pas oublier que d’un pays à l’autre, le taux de chômage n’est pas calculé de la même façon. Et même en France, le taux de chômage pour l’INSEE et Pôle Emploi n’est pas le même.
Attention donc à ne pas comparer ces deux indicateurs, ni à fusionner deux tableaux sans prendre en compte ces différences.
10 - Questions de conformité (compliance)
Enfin, cela peut paraître évident pour certains, mais lorsque l’on manipule des données, il convient de s’assurer que l’entreprise, ses dirigeants et ses salariés respectent les normes juridiques et éthiques qui leur sont applicables. Ainsi, on permet à son entreprise d’éviter des risques financiers, juridiques et réputationnels qu’encourt l’organisation lorsqu’elle ne respecte pas les lois, la réglementation, des conventions, ou tout simplement une certaine éthique ou déontologie.
Au delà des étapes classiques de nettoyage et de transformation des données en vue d’une analyse ou modélisation, respecter les conseils mentionnés ci-dessus vous fera gagner un temps précieux et éviter de nombreuses erreurs parfois coûteuses à réparer.
Comme mentionné plus haut, les pires erreurs sont celles que l’on ignore jusqu’à l’étape de la prise de décision, et qui peuvent s’avérer critiques pour une entreprise.
Pour optimiser au maximum la qualité des données sur lesquelles vous travaillez, nous avons développé un cursus qui vous permettra de mettre en pratique ces conseils avec Python.