Unité 2 / 11

Nettoyage et préparation des données : données manquantes, valeurs aberrantes et codage

Gains :

  • Capacité à reconnaître les types de données manquantes (MCAR/MAR/MNAR), les valeurs aberrantes et les erreurs de codage et à utiliser l'IA avec les données correctes pour produire du code de nettoyage et des diagnostics.
  • Possibilité de voir comment chaque étape de nettoyage (suppression, affectation, transformation) suggérée par l'intelligence artificielle affectera le résultat de l'analyse et d'établir un flux de travail réversible et documenté
  • Maintenir que les décisions de nettoyage reposent sur la connaissance du processus qui génère les données et que l'intelligence artificielle est un assistant supervisé et non un automate aveugle

Tout analyste expérimenté connaît une vérité : la plupart du temps d'un projet empirique n'est pas consacré à la modélisation, mais au nettoyage des données (le travail consistant à corriger les erreurs, les omissions et les incohérences dans les données et à les préparer pour l'analyse). En règle générale, environ 70 à 80 % du temps est consacré à la compréhension, au nettoyage et à la transformation des données ; il ne reste que 20 à 30 % pour l’analyse proprement dite. Dans cette unité, nous verrons étape par étape comment l'intelligence artificielle (IA) allège ce lourd fardeau, mais quelles décisions doivent encore vous appartenir et pourquoi.

Commençons par deux faits fondamentaux. Premièrement, les décisions de nettoyage reposent sur votre connaissance du processus qui produit les données : vous seul savez pourquoi une valeur manque, pourquoi un nombre est trop grand. L’IA ne voit pas les données, ne connaît pas le contexte ; Écrit du code, ne prend pas de décisions. Deuxièmement, chaque étape de nettoyage peut modifier le résultat de l’analyse. La suppression d'une valeur aberrante peut inverser le coefficient ; Combler les valeurs manquantes avec la moyenne peut réduire artificiellement la variance. Le nettoyage doit donc être réversible et documenté : ne touchez jamais aux données brutes, effectuez chaque étape dans le code, enregistrez l'impact de chaque étape.

Flux de travail de nettoyage étape par étape

1. Connaître les données. Voir d'abord la structure : nombre de lignes (observations) et de colonnes (variables), type de chaque variable (numérique, catégorielle, date), statistiques récapitulatives, nombre de manquants. Vous pouvez demander à l'IA ce code « profil de données » ; Mais vous lisez le résultat et posez des questions telles que « pourquoi cette variable est-elle présentée sous forme de texte ? »

2. Comprendre et classer les données manquantes. Les données manquantes sont divisées en trois types. MCAR (Missing Completely At Random) : la disparition n'est due à rien, par exemple un capteur est tombé en panne de manière aléatoire. MAR (Missing At Random) : les absences dépendent d'autres variables observées, par exemple les personnes âgées laissent plus souvent une question vide, mais vous connaissez l'âge. MNAR (Missing Not At Random) : le caractère manquant dépend de la valeur non observée elle-même, par exemple les hauts revenus ne déclarent pas leurs revenus. Cette distinction est essentielle car elle détermine la méthode de résolution et l’IA ne peut pas en décider à votre place.

3. Gérez la carence. Options : suppression par liste, imputation moyenne/médiane, imputation multiple basée sur un modèle. La suppression dans MCAR est relativement sûre mais réduit la taille de l’échantillon. L'affectation multiple est plus appropriée en MAR. Aucune méthode simple ne garantit l’impartialité du MNAR ; Le mécanisme de la déficience doit être modélisé ou au moins une analyse de sensibilité doit être réalisée. Le remplissage des moyennes est facile mais dangereux : cela réduit la variance, affaiblit les relations et cache l’incertitude.

4. Examinez les valeurs aberrantes. Une valeur aberrante est une observation très éloignée des autres. Séparez les deux questions : est-ce une erreur (l'âge 999 a été inscrit dans la saisie) ou est-ce une valeur réelle mais aberrante (revenu d'un milliardaire) ? Corriger les bugs ; Ne supprimez pas les vraies valeurs aberrantes, car elles représentent des données. Supprimer la valeur aberrante « parce que cela vous dérange » fausse les données vers le résultat.

5. Codage et cohérence. Standardisez les catégories ("Homme", "Homme", "E" dans un seul code), regroupez les dates dans un seul format, les unités dans une seule échelle, détectez les lignes en double. Il s’agit de la phase la moins risquée où l’IA est la plus utile.

6. Documentez et congelez. Enregistrez chaque étape avec du code et une ligne de commentaire, en séparant les données brutes et nettoyées. Ainsi, lorsqu'un arbitre demande « pourquoi ces observations ont-elles été abandonnées ? » vous avez votre réponse prête.

Attention : Ne prenez pas de décisions de nettoyage en fonction des résultats. Supprimer une ligne disant « Lorsque vous supprimez cette ligne, le coefficient devient significatif » est la forme la plus insidieuse de p-hacking, que nous verrons dans l'unité suivante.

Tableau comparatif : méthodes de données manquantes

Méthode

Quand est-ce approprié ?

risque

Rôle de l'IA

Supprimer une ligne

MCAR, faible taux de manquants

L'échantillon devient plus petit, biais dans MAR/MNAR

Écrit le code ; tu décides

Affectation moyenne/médiane

Analyse préliminaire rapide

Réduit la variance, masque la relation

C'est facile mais je ne le recommande pas ; devrait avertir

Affectation multiple (MI)

MAR, variables importantes

S'il n'est pas installé correctement, cela sera trompeur

Recommande le code et le package (souris)

Modélisation des mécanismes

MNAR

Complexe, exigeant beaucoup d'hypothèses

Brouillon uniquement ; un expert est requis

Quatre invites copiables

1. Profilage des données :

Votre rôle : assistant au nettoyage des données. Je ne partage pas les données, je veux le code R. J'ai un data.frame appelé « chiffre » ; variables : identifiant, âge (numérique), revenu (numérique), éducation (catégorique), région (catégorique), date (date). Tâche : écrire du code qui produit le type, le nombre manquant et le taux pour chaque variable, des statistiques récapitulatives pour les variables numériques et un tableau de fréquence pour les variables catégorielles. Ajouter une ligne de commentaire.

2. Diagnostic des données manquantes :

Écrivez du code qui examine le modèle manquant pour les données « chiffres » ci-dessus : - le taux manquant de chaque variable, - un simple tableau/graphique montrant la relation entre les éléments manquants et d'autres variables. Je vais regarder la sortie du code et faire la distinction MCAR/MAR/MNAR ; Vous produisez simplement l'outil de diagnostic, NE décidez PAS de la méthode d'affectation.

3. Inspection des valeurs aberrantes (pas de suppression) :

Écrivez du code pour la variable « revenu » qui examine les valeurs aberrantes SANS SUPPRIMER : un boxplot, des limites basées sur l'IQR et un tableau répertoriant les observations et les valeurs aberrantes. Je vais voir si ce sont des erreurs ou si c'est réel. Ajoutez la suppression automatique.

4. Normalisation du codage :

Dans la variable 'éducation', les valeurs s'écrivent mixtes : "École primaire", "école primaire", "PRIMAIRE", "Lycée", "lycée", "Université", "univ". Écrivez du code R qui les reccode en catégories cohérentes ; Montrez clairement le tableau de mappage afin que je puisse confirmer chaque conversion. Définissez la valeur que vous ne reconnaissez pas sur "INCONNU".

Invite faible/Invite forte

Invite faible :

Nettoyez les données, comblez les lacunes, éliminez les valeurs aberrantes.

Cette exigence est dangereuse : elle donne une autorité aveugle à l’IA. Quel type de manque, quel type de remplissage, quelle vérité contradictoire - rien de tout cela n'est clair. Le résultat peut être un ensemble de données secrètement biaisé.

Invite puissante :

Votre rôle : aide-ménagère, vous n'êtes pas décideur. Allez-y étape par étape et écrivez du code qui rapporte l'impact de CHAQUE étape : 1) affichez le modèle manquant (NE PAS supprimer/remplir), 2) répertorier les candidats aberrants (NE PAS supprimer), 3) corriger les incohérences de catégorie avec la table de mappage. Imprimez le nombre de lignes et les statistiques récapitulatives après chaque étape afin que je puisse voir et confirmer le changement. Insertion automatique d’affectation/suppression.

La différence est nette : une forte volonté positionne l’IA comme un assistant supervisé, produisant des étapes réversibles et documentées.

trois mini-cases

Cas 1 — Piège d’affectation moyenne. Les données sur les revenus d'un analyste pour 5 000 personnes manquaient 18 %. Il a demandé à Amnesty International de « combler les lacunes » ; L’IA les a tous calculés en moyenne. Résultat : la variance des revenus a diminué de 22 %, et le coefficient de la relation scolarité-revenu s'est avéré plus faible qu'il ne l'était. Manière correcte : le déficit était MAR (en raison de l'éducation) et devait être comblé par des tâches multiples (souris). Leçon : la méthode de remplissage dépend du mécanisme.

Cas 2 — Le nettoyage des valeurs aberrantes annule le résultat. Il y avait 3 très grandes entreprises (0,6 % de l’observation totale) dans une seule donnée d’entreprise. Ceux-ci ont été supprimés par la suggestion de « nettoyage » de l'IA ; Le coefficient des économies d’échelle est passé de positif à négatif. Cependant, ces 3 entreprises étaient réelles et constituaient une partie importante de l’industrie. La bonne méthode consistait à produire un rapport avec une estimation à la fois complète et robuste au lieu de supprimer. Leçon : les véritables valeurs aberrantes sont des données, pas du bruit.

Cas 3 — Erreur de codage silencieux. Dans un panneau, la variable de date se présentait sous deux formats différents ("2020-03-01" et "01/03/2020"). Lorsque le code combiné produit par l’IA les a confondus avec des valeurs différentes, 1 400 observations ne correspondaient pas et les taux de croissance sont devenus ridicules. Cela n'aurait pas d'importance si l'analyste ne vérifiait pas le nombre de lignes. Leçon : les décomptes d’observations et les contrôles d’intégrité après chaque étape sont indispensables.

Erreurs courantes

  • Combler aveuglément l'écart avec la moyenne. Cela réduit la variance, masque l'incertitude et crée un biais dans MAR/MNAR. Classez d’abord le mécanisme.
  • Supprimer la valeur aberrante "parce que ça dérange". Les vraies valeurs aberrantes représentent les données ; supprimer, c'est plier le résultat. Corrigez ce qui ne va pas, gardez ce qui est réel.
  • Exploiter les données brutes. Ne modifiez jamais les données brutes ; Effectuez tout le nettoyage avec le code dans une copie séparée afin de pouvoir y revenir.
  • Ne pas mesurer l’impact des mesures. Si le nombre de lignes et les statistiques récapitulatives ne sont pas vérifiés après chaque étape, des erreurs silencieuses s'accumuleront.
  • Nettoyage en conséquence. La logique de « Lorsque vous ajoutez cette ligne, le résultat devient meilleur » est du p-hacking ; Le nettoyage doit être planifié avant et indépendamment du résultat de l’analyse.
Astuce : Conservez un tableau « avant/après » qui met côte à côte les mêmes statistiques de base (moyenne, médiane, nombre d'observations, quelques corrélations) avant et après le nettoyage. Un saut inattendu est le meilleur signe avant-coureur d’une erreur cachée.

En résumé

Le nettoyage des données est la phase la plus longue et la plus décisionnelle du travail empirique. L'IA est un puissant générateur de code dans ce domaine, mais elle ne peut pas prendre les devants : vous classez le type de données manquantes (MCAR/MAR/MNAR), déterminez si la valeur aberrante est une erreur ou réelle, gardez chaque étape réversible et documentée. Au lieu de donner à l’IA une autorité « claire » aveugle, établissez un flux de travail étape par étape dont l’impact est mesuré et validé. Vérifier le nombre d’observations et les statistiques récapitulatives après chaque étape est le meilleur antidote aux erreurs silencieuses.

Tâche de candidature

Sélectionnez au moins deux variables contenant des valeurs manquantes et aberrantes dans un ensemble de données (vos propres données ou un ensemble d'échantillons). Demandez un code de diagnostic à l'IA via l'invite « étape par étape, ne pas supprimer/remplir » ci-dessus et exécutez-le. Classez la lacune comme MCAR/MAR/MNAR et écrivez votre justification en une phrase. Examinez les candidats contradictoires un par un et décidez lequel est une erreur et lequel est réel. Enfin, réalisez un tableau « avant-après » avant/après nettoyage et signalez tout changement inattendu.

liste de contrôle

  • [ ] J'ai nettoyé les données brutes dans une copie séparée sans les modifier.
  • [ ] J'ai classé la déficience comme MCAR/MAR/MNAR et j'ai choisi la méthode en conséquence.
  • [ ] J'ai examiné les valeurs aberrantes une par une, si elles étaient des erreurs ou réelles ; Je ne l'ai pas supprimé aveuglément.
  • [ ] J'ai vérifié le nombre d'observations et les statistiques récapitulatives après chaque étape de nettoyage.
  • [ ] J'ai documenté toutes les étapes avec du code et une ligne de commentaire ; réversible.
  • [ ] J'ai basé le nettoyage sur la connaissance du processus qui produit les données, et non sur le résultat de l'analyse.