Le nettoyage des données

Intégrité et nettoyage des données

Un brin de ménage, ça vous tente ?

Le nettoyage des données (data cleaning) occupe souvent l’essentiel de l’emploi du temps d’un analyste. Car bien souvent, les données sont « sales », ce qui peut empêcher l’exécution de traitements. Il suffit d’une lettre dans une colonne d’un million de nombres pour que leur total ne puisse être calculé. Mais ce n’est pas le plus grave car on corrige très vite ce genre de désagrément. Le principal souci est la production d’informations fausses due à des données incorrectes non détectées.

Précisons que si cette étape peut sembler ingrate au premier abord, elle permet à l’analyste d’en apprendre beaucoup sur les données qu’il doit traiter. De plus, les coûts cachés dus à des données mal nettoyées peuvent être colossaux, d’une part en terme de temps perdu par les analystes, d’autre part en raison de mauvaises décisions fondées sur des informations faussées.

 

Données sales

Les données sales peuvent être :

  • Inexactes : fautes d’orthographe, erreurs de saisie, données obsolètes...

  • Incohérentes : erreurs de format, doublons, incohérence entre plusieurs champs, valeur située dans un mauvais champ...

  • Incomplètes : données perdues, certains champs non renseignés ou seulement en partie (par exemple le numéro du département au lieu du code postal)

pub pour propreté

 

Intégrité

L’intégrité des données est leur exhaustivité et leur « exactitude » tout au long de leur cycle de vie ; entendons par là le fait qu’aucune valeur n’a été involontairement modifiée.

Elle peut être menacée par des erreurs humaines, par exemple l’effacement d’un enregistrement qui n’avait pas lieu d’être.

Les réplications sont risquées car, s’il est tout à fait légitime de sauvegarder un jeu de données en plusieurs lieux pour des raisons de sécurité ou de travail, le risque existe que l’un d’eux soit modifié et pas les autres.

Les malwares, les problèmes de matériel et de transfert sont d’autres dangers qui guettent l’intégrité des données.

L’intégrité exige des données propres. De plus, des mesures de prévention pouvant être conduites à la suite des enseignements d’un nettoyage peuvent se traduire par une intégrité améliorée.

 

Données inexactes

Les données inexactes sont les plus difficiles à traiter. Ainsi le correcteur d’orthographe d’un tableur ne peut pas vérifier les noms propres.

Elles ont souvent pour origine la saisie manuelle. Si le nom d’un client est bien orthographié lors d’une commande puis mal lors de la commande suivante, une lecture rapide des données conduirait à considérer deux clients différents.

Autre exemple : un prix est noté 1000 au lieu de 10,00. La moyenne de tous les prix sera fausse mais cette erreur n’est pas toujours détectée facilement.

Plus une erreur est légère plus sa détection est difficile. Pourtant, elle peut entraîner des répercussions importantes. Si une adresse comporte une erreur d’un seul chiffre, un courrier risque de ne jamais arriver au destinataire. Supposons que celui-ci soit un patient qui attend les résultats d’analyses médicales…

Il est indispensable de détecter les valeurs numériques qui paraissent aberrantes, trop petites ou trop élevées grâce aux tris. Ceux-ci mettent aussi en évidence des chaînes de texte qui commencent par un blanc ou des numéros de téléphone fantaisistes (que des zéros, par exemple).

Les filtres sont un autre outil intéressant, quoique pour une détection d’inexactitude le tri est souvent plus efficace. Si les données doivent respecter une certaine limite, par exemple si les entrées antérieures à l'année \(n – 3\) sont considérées comme obsolètes, alors le filtrage est une bonne solution.

Les opérations de tri et de filtrage sont des manipulations de données assez simples, tant avec tableur que SQL.

Enfin, les graphiques s'avèrent être aussi des outils précieux pour détecter les valeurs aberrantes.

 

Incohérences

Le nettoyage s’attache aux contraintes de plages de valeurs (par exemple un pourcentage de proportion ne peut pas être supérieur à 100), aux formats de données, à l’élimination des doublons…

Un doublon est un même enregistrement qui apparaît plusieurs fois dans une base de données. Vous supposez son existence lorsque vous recevez deux fois la même offre commerciale dans votre boîte mail ! Lorsque les lignes sont parfaitement identiques le nettoyage n’est pas une opération difficile. Mais il suffit d’une légère différence pour qu’un traitement automatisé soit inopérant.

Certains jeux de données suggèrent des vérifications de cohérence entre les champs (par exemple une somme de pourcentages qui doit être égale à 100).

Dans une base de données relationnelle, des tables comportent une clé primaire, par exemple un matricule. Il faut veiller à ce que deux enregistrements n’aient pas la même. L’intégrité des clés étrangères doit aussi être vérifiée.

Une cause récurrente d’incohérence est la multiplicité des formats, due à une fusion de bases de données ou à une saisie manuelle insuffisamment normée.

 

Données incomplètes

Une donnée incomplète peut être tout simplement un enregistrement manquant. Il arrive que des enregistrements disparaissent lors d’un problème de transfert, par exemple. Des vérifications sont possibles en comparant leur nombre ou la taille des fichiers à la source et juste avant le nettoyage. Mais il faut aussi veiller à ce que les champs (du moins ceux qui doivent être obligatoirement renseignés) ne soient pas à blanc pour tout ou partie des enregistrements.

Les données incomplètes sont mises en évidence par les opérations de filtrage.

Toutefois veillez à bien faire la différence entre un champ à blanc (NULL) et un champ qui a pour valeur zéro.

Une valeur manquante est soit exclue, soit remplacée, soit gérée comme manquante.

 

Nettoyage en pratique

Selon la provenance des données, le nettoyage est plus ou moins long et plus ou moins imparfait. Si un SIRH fournit des données souvent très fiables, une base dont les saisies ont été manuelles peut causer de nombreux cauchemars. À cet égard, les listes déroulantes sont un élément préventif du nettoyage. Ils participent à la validation des données.

Nous ne pouvons pas présenter toutes les opérations de nettoyage possibles ni tous les outils logiciels pour vous aider dans cette tâche. Certaines pages de ce site devraient cependant vous être utiles (chaînes de texte avec tableur, filtres avec Excel, mise en forme conditionnelle...).

Possibilités avec Excel : https://support.microsoft.com/en-us/office/top-ten-ways-to-clean-your-data-2844b620-677c-47a7-ac3e-c2e157d1db19

 

Pratiques préventives

Une bonne pratique est de documenter les corrections d'erreurs. D’une part, elle fait gagner du temps lors des prochains nettoyages, en particulier si c’est un autre analyste qui prend le relais, d’autre part elle facilite les traitements complexes en permettant de revenir en arrière le cas échéant. Vous pouvez vous appuyer sur une table à deux colonnes : les points de contrôle et pour chacun d'eux la technique de nettoyage privilégiée.

Si une erreur apparaît trop souvent, peut-être faut-il trouver sa cause et remédier au problème à la racine. Il est essentiel que les personnes qui saisissent les données aient toute facilité pour le faire mais aussi qu’elles soient sensibilisées à l’importance de cette tâche pour ne pas la bâcler.