Corriger les valeurs manquantes et les valeurs aberrantes d'un dataset

Le problème exposé dans ce sujet a été résolu.

Bonsoir,

Pour un projet, j’ai besoin de corriger les valeurs abérrantes de mon dataset.

La première question serait de savoir comment corriger une valeur abérrantes

exemple :

  • Produit : Pâte
  • Contenance en sel : 300%

Sachant qu’on ne veut pas faire du cas par cas, comment faire ?

et quand une valeur est manquante, comment faire de l’imputation ? KNN ?

Merci :)

C’est au client de dire ce qu’on doit faire.
Sachant que GIGO : Garbage In, Garbage Out.
Se référer au contrat, je ne pense pas qu’il prévoie que le prestataire devrait corriger le dataset.

+0 -1

Bonjour,

Si tu te contentes de remplacer les mauvaises valeurs, tu as toutes les chances de fausser les résultats des analyses. Certains algorithmes sont connus pour être très sensibles aux données abérantes. Pour t’en convaincre, regarde ce qui se passe avec différentes choses, l’exemple classique étant la moyenne vs. la médiane

Tu n’as donc pas 36000 solutions:

  • Soit tu ignores/supprimes purement et simplement les mauvaises données
  • Soit tu les gardes, en restant conscient des biais que ça peut impliquer sur les résultats

Maintenant, comment décider si tu dois supprimer ou bien si tu peux gérer, c’est une question délicate: ça dépend !

  • A quel point les données sont abérantes ? (tu peux peut-être tolérer 103% ou même 130%, mais pas 300%)
  • Quelle précision est souhaitée/attendue et quelle marge d’erreur est acceptable ? (ça peut beaucoup dépendre du domaine d’application)
  • Quelle est la taille de l’échantillon ? (ce n’est pas pareil d’ignorer une donnée parmi 100 ou parmi 100000, ça aura aussi un impact sur la fiabilité des résultats).

C’est un compromis à trouver. ET s’il y a trop de valeurs abérantes, c’est peut-être les mesures qui sont mauvaises ? Savoir quelles données récolter et comment est déjà un problème en soi.

+1 -0

Bonjour,

Répond-on à notre ami Rayandfz ?

Pour un projet, j’ai besoin de corriger les valeurs abérrantes de mon dataset.

rayandfz

En regardant les valeurs de tes échantillons, tu peux peut-être faire des extrapolations :

  • Si valeur supérieure à 200% (erreur de frappe) -> Les diviser par 10.
  • Si valeur négative -> les multipliers par -1

et quand une valeur est manquante, comment faire de l’imputation ?

rayandfz

Une solution pourrait être de remplacer cette valeur par une valeur correspondante d’un échantillon proche.

Enfin c’est une idée, "c’est vous qui voyez".

Cordialement

+0 -0

Différentes pistes, pour corriger les données, et pas seulement les supprimer.

  • tu isoles les informations visiblement fausses, tu en sélectionnes quelques unes, et tu essaies de voir quelle est l’erreur. Exemple, une erreur fréquente, c’est que la valeur est multipliée par 100. Du coup, pour chaque valeur aberrante, tu testes si en la divisant par 100, elle entre dans le moule.

  • tu peux aussi visualiser toutes les données sur une courbe ( combien de produits ont 1% de sel, 2%, 3% etc etc) Si la courbe a un aspect de courbe en cloche, c’est normal.

Si la courbe a un aspect de dos de chameau : une cloche majoritaire, et une cloche secondaire … avec un peu de chance, tu vas constater que la cloche secondaire correspond à des valeurs 100 fois plus grandes que les valeurs attendues (… ou 4.14 fois plus grandes, quand les données sont mesurées en Joule et non en Calories), du coup, on voit quel ratio il faut appliquer pour corriger les données.

Ce qu’il faut, c’est appliquer un coefficient, et savoir expliquer pourquoi c’est ce coefficient qu’on a choisi. Diviser par 4.14, ça n’a aucuns sens, sauf si on parle d’énergie, et qu’on pense qu’il y a eu confusion entre Joules et Calories)

J’ai eu à traiter des milliards de données issues de saisie manuelle, on constate que certaines erreurs sont plus fréquentes que d’autres : inversion de 2 chiffres, chiffre oublié, chiffre dupliqué à tort. Et donc on pouvait implémenter des corrections du type 1225 devient 125.

Pour de la saisie manuelle, c’est une direction à suivre.

Si le processus de collecte est différent, les erreurs ne sont plus de même nature, il faut adapter.

Et enfin, il faut préciser l’objectif. Souvent, on sait corriger un certain nombre d’erreurs, mais il reste des données plus que suspectes, où on ne sait vraiment pas quoi décider. Et là, il faut en discuter avec l’utilisateur. Doit-on supprimer ces données, les remplacer par la valeur moyenne de tous les produits etc etc

La source des données change aussi beaucoup de choses : si c’est des saisies manuelles tu peux essayer de corriger les erreurs de saisie comme dit ci-dessus, si c’est de la donnée issue de capteurs, tes valeurs aberrantes sont probablement des erreurs de mesure impossibles à corriger d’une quelconque manière.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte