Tout savoir sur les Valeurs Aberrantes (Outliers)

By | 22 novembre 2017
0 Flares Twitter 0 LinkedIn 0 Reddit 0 Google+ 0 Filament.io 0 Flares ×

En Data Science, les jeux de données comportent souvent des irrégularités et des erreurs. Cela peut être des données manquantes ou des données aberrantes. Savoir traiter ces données permettra de produire un modèle prédictif accru et efficace.

Dans cet article, on se focalisera sur les données aberrantes. Ainsi, on verra :

  • Ce que c’est une valeur aberrante (Outlier en anglais)
  • Pourquoi il est important de détecter les outliers
  • Comment détecter les valeurs aberrantes
  • Comment réagir face aux valeurs aberrantes

C’est parti !

 

Qu’est ce qu’une valeur aberrante ?

Une valeur aberrante est une valeur extrême, anormalement différente de la distribution d’une variable. En d’autres termes, la valeur de cette observation diffère grandement des autres valeurs de la même variable.

Par exemple, si on prend la variable Salaire de la population française, l’ensemble des valeurs constituent une distribution de la variable Salaire. Imaginons qu’en général, pour cette distribution, les salaires varient entre 1600€ et 3000 €. Si on observe un individu avec un salaire à 10 000€, c’est une valeur extrême. On dira qu’il s’agit d’un outlier.

Dans le même sens, imaginons qu’une personne touche 200 € seulement, c’est un salaire anormalement bas. Il s’agit également d’une valeur aberrante.

Pourquoi il est important de détecter un Outlier ?

Plusieurs algorithmes de Machine Learning sont sensibles aux données d’entrainement ainsi qu’ à leurs distributions. Avoir des Outliers dans Training Set d’un algorithme de Machine Learning peut rendre la phase d’entrainement plus longue. Sans mentionner que l’apprentissage sera biaisé. Par conséquent, le modèle prédictif produit ne sera pas performant, ou du moins, loin d’être optimal.

Bien avant la phase d’apprentissage, les valeurs aberrantes influencent certains paramètres statistiques, comme la moyenne. Cela peut fausser notre compréhension du jeu de données et nous conduire à émettre des hypothèses erronées sur ce dernier. Détecter ses Outliers nous permettra de faire des suppositions plus aguerries.

Comment détecter les Outliers ?

La détection des outliers peut se faire à l’aide de méthodes de visualisation. Notamment les Box Plot et les Scatter Plot.

Détection univariée des outliers avec les Box Plot

Il s’agit de la méthode la plus simple. Les Box Plot (Boîtes à Moustaches) permettent de visualiser la distribution d’une seule variable. Ces graphiques se basent sur la mediane, ainsi que les quartiles inférieur et superieur Q_{1} et Q_{3} respectivement.

box plot outlier

Un outlier est toute valeur extrême, supérieure ou inférieure à I fois l’écart interquartile IQR. Généralement I vaut I= 1,5.

Détection multivariée des outliers avec les Scatter plot

Parfois, on peut être amené à vouloir détecter des valeurs aberrantes en fonction de plusieurs données. Il s’agit alors de détecter les outliers dans une relation entre variables. Cela peut être intéressant pour mettre en évidence une corrélation entre deux features.

scatter plot outliers

Dans cet exemple on remarque une relation linéaire entre X et Y. Toutefois, on a un couple (375, 13) qui est complètement loin qui représente une valeur aberrante. On dit que cette observation est aberrante pour la corrélation observée entre les features X et Y.

 

Comment réagir face aux valeurs aberrantes ?

Les valeurs aberrantes sont des observations extrêmes indiquant une situation extraordinaire. Dans ce sens, un outlier n’est pas forcement une valeur impertinente. Pour donner un sens à un outlier, il faut comprendre le contexte métier de la donnée.

Par conséquent, il ne faut pas les supprimer systématiquement avant d’avoir compris leur sens d’apparition dans le jeu de données.

Avant de se décider de supprimer ou garder une observation aberrante, posez- vous les questions suivantes:

  • Est-ce une valeur due à une erreur de mesure ou de collecte d’information ?
  • Est-ce d’un point de vue métier cette valeur est possible ?
  • Si je garde cette observation, sera-t-elle bénéfique pour mon modèle prédictif ?

Valeur aberrante due à une erreur de collecte d’information

Si en regardant l’information portée par cette valeur aberrante on se rend compte que d’un point de vue sémantique, ce n’est plausible ou logique, il faudra supprimer cette valeur.

Comme exemple, prenons un jeu de données contenant des prises de températures d’eau. Si on trouve une valeur de température à 150°C, on se dira que cela est impossible. En effet, l’eau s’évapore à 100°C. Cette valeur à 150°C est donc vide de sens et faudra supprimer cette observation.

Par ailleurs, le fait de trouver dans le jeu de données, une observation de température d’eau à 150°C peut être dû à une erreur de saisie de la valeur ou une défaillance du capteur (thermomètre).

Valeur extrême mais sémantiquement plausible

Dans ce cas de figure, on se retrouve avec une donnée extrême et rare, mais plausible. Se décider de garder l’observation ou non, est plus délicat. En effet, il faut savoir dans quel contexte cette information sera utilisée (paragraphe suivant).

Comprendre le sens métier d’une variable aidera à savoir s’il faut la garder ou non

Prenons comme exemple, le salaire des citoyens américains, on aura un certain intervalle de valeurs qui nous paraîtra censé (entre 1500 et 5000 dollars par exemple). Les salaires de Bill Gates, ou Donald Trump seront forcément beaucoup plus élevés que le reste de la distribution. D’un point de vue sémantique cela est plausible bien que c’est rare. pour confirmer la rareté des salaires des gens très riches, voici un article ludique pour le prouver 🙂

Dans ce cas, le salaire des gens riches n’est pas vide de sens pour la distribution de la variable Salaire. Il indique tout simplement une observation anormalement différente mais qui est sémantiquement correcte.

Garder ou non un Outlier ?

C’est la question à 1 million d’euros ! Pourtant la réponse relève du bon sens bien qu’elle ne soit pas systématique.

Pour vous simplifier la décision, retenez ceci :

Si votre modèle prédictif est sensible aux outliers, et que vous souhaitez découvrir une pattern ou une fonction de prédiction, garder les données aberrantes biaisera votre modèle. La conséquence c’est que vous n’aurez pas un modèle optimal.

Dans ce cas, sans hésiter, supprimez ces valeurs !

Par ailleurs, si vous devez détecter des comportements anormaux comme des mouvements bancaires frauduleux ou douteux, ces outliers vous seront utiles. En effet, pour qu’un algorithme apprenne la notion de comportement anormal, il faudra qu’il les observent !

Dans ce casde figure, vous pouvez garder ces valeurs aberrantes !

En complément, lire cette article sur l’Anomaly Detection (Outliers Detection)

 

Conclusion

Approcher les données aberrantes n’est pas toujours évident. Il n’y a pas d’approche systématique pour les gérer. Il faut comprendre le contexte métier dans lequel elles se présentent. Cette compréhension du contexte métier est toujours souhaitable pour tout Data Scientist qui se respecte.

 

Si vous avez des questions concernant les outliers, n’hésitez pas à les poser en commentaire. 🙂

Inscrivez-vous à la Newsletter
Rejoignez la communauté Mr mint, le blog Français dédié à la Data Science et recevez des contenus exclusifs et d'autres goodies !
Nous détestons les spams. Votre adresse e-mail ne sera pas vendue ou partagée avec quelqu'un d'autre.
0 Flares Twitter 0 LinkedIn 0 Reddit 0 Google+ 0 Filament.io 0 Flares ×

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *