Lorsqu’ils apprennent , la plupart des data scientists et des passionnés essaient de traiter des jeux de données célèbres tels que MNIST , ImageNet , …. qui sont complets, propres et bien formatés. Cependant, les problèmes et les jeux de données du monde réel sont malheureusement loin de cette utopie académique. En d’autres termes , ils ne sont pas parfaits du tout , ils incluent du bruit , ils contiennent beaucoup de données manquantes et parfois ils ne sont pas non plus bien structurés ou formatés .
Dans ce post , nous allons parler d’un de ces problèmes fastidieux qui va surgir souvent , et sans plus attendre comme mentionné dans le titre , nous allons aborder le problème des « données manquantes » d’un point de vue large et statistique
D’abord , qu’est-ce que nous entendons concrètement par « données manquantes » ?
Les données manquantes signifient qu’une ou plusieurs variables ( caractéristiques ) valeurs sont manquantes généralement codées par -999 , nan , null . . il se produit souvent lors de la collecte des données d’une mauvaise manière , un manque de données ( Ex : évaluation des utilisateurs ) , ou des erreurs lors de la saisie des données ( faute de frappe ) , et cela pourrait conduire à des résultats et des conclusions drastiques qui pourraient affecter négativement les décisions !
La figure suivante illustre l’exemple frappant des « systèmes de recommandation » lorsque le problème des « données manquantes » se produit fréquemment parce qu’une partie de nos données dépend des commentaires des utilisateurs .
elle cause également beaucoup de difficultés aux chercheurs lors de l’analyse et de l’interprétation des résultats de leurs recherches pour tirer des conclusions .
Il existe trois types de données manquantes :
1) Complètement manquantes et aléatoires – (MCAR).
2) Manquantes au hasard – (MAR).
3) Manquantes non aléatoires – (MNAR).
Type I : Missing Completely at Random (MCAR)
Il n’y a aucune relation entre le fait qu’un point de données soit manquant et toute valeur de l’ensemble de données (manquante ou observée).Les données manquantes sont juste un sous-ensemble aléatoire des données . Les données manquantes ne sont qu’un sous-ensemble aléatoire des données. L’absence de données n’a rien à voir avec une autre variable. En passant, les données sont rarement MCAR.
l’exemple suivant dépeindra ce genre de problème :
Il est relativement facile de vérifier l’hypothèse selon laquelle, dans notre exemple, les données manquent complètement au hasard. Si vous pouvez prédire une raison quelconque pour les données manquantes (par ex, en utilisant le bon sens, la régression ou une autre méthode) que ce soit sur la base de la variable complète Âge ou de la variable manquante Score de QI , alors les données ne sont pas MCAR !
TLDR : non affectées par ni les données observées ni les données manquantes => Complètement au hasard
Type II : Manquantes au hasard (MAR)
Les données manquantes ici sont affectées uniquement par les variables complètes (observées ) et non par les caractéristiques des données manquantes elles-mêmes. en d’autres termes , pour un point de données , être manquant n’est pas lié à la donnée manquante , mais il est lié à certaines ( ou toutes ) les données observées , l’exemple suivant dépeindra la situation et la rendra plus claire :
Nous pourrions facilement remarquer que le score de QI est manquant pour les jeunes ( âge < 44 ans ) , et donc les données manquantes dépendent des données observées , cependant il n’y a pas de dépendance avec les valeurs de la colonne manquante elle-même .
TLDR : non causé par la donnée manquante elle-même mais affecté par les données observées =>Au hasard
Type III : Missing Not at Random (MNAR)
Ce n’est ni le type I ni le type II , et les données seront manquantes en fonction de la colonne manquante elle-même , par exemple l’exemple suivant souligne le fait que les données sont manquantes sur le score de QI avec seulement les personnes ayant un faible score .
Comme vous pouvez le constater, il est impossible de détecter les cas de MNAR sans connaître les valeurs manquantes !
TLDR : causé par les données manquantes elles-mêmes => Not At Random
Voici une liste non exhaustive pour faire face et traiter les problèmes de données manquantes :
Méthode 1 : Suppression
elle relève de deux techniques différentes :
- La suppression par liste : Dans cette méthode, un enregistrement entier est exclu de l’analyse si une seule valeur est manquante , et donc nous avons le même N (nombre d’enregistrements) pour toutes les analyses .
- Suppression par paires : lors de notre analyse, le nombre d’enregistrements pris en considération dénoté « N » variera en fonction de la variable étudiée (colonne) , et par exemple nous pourrions calculer la moyenne pour 2 caractéristiques (Complet VS manquant) et tout en divisant par le nombre d’échantillons , nous finissons par diviser par différents N , l’un est le nombre total de lignes et l’autre est le nombre total sur les valeurs complètes sur la caractéristique manquante .
Méthode 2 : Méthodes d’imputation unique
- Imputation à valeur unique : remplacement de la valeur manquante par une valeur unique en utilisant une stratégie telle que : Moyenne, Médiane, Plus Fréquente, Personne Moyenne, … de la caractéristique correspondante .
- Similitude : essayer de trouver la ou les lignes les plus proches ( top-N plus proches ) de la ligne contenant notre valeur manquante , et fixer une stratégie parmi elles pour attribuer une valeur à notre valeur manquante .
- Imputation par régression : Dans l’imputation par régression simple, la valeur imputée est prédite à partir d’une équation de régression , nous supposons que les valeurs manquantes sont dans une ligne de régression avec une pente non nulle avec l’une des caractéristiques complètes ( prédicteurs )
Méthode 3 : Méthodes d’imputation multiple
- Algorithme d’espérance-maximisation : un algorithme qui pourrait être utilisé à la fois pour l’imputation de données manquantes et pour la tâche de clustering en apprentissage machine (en considérant la cible comme une caractéristique manquante) , il est basé sur deux étapes :
– Première : Expectation de la valeur manquante
– Deuxième : Maximisation de la vraisemblance
Je recommande fortement Andrew NG stanford notes pour le comprendre très bien , ce n’est pas un algorithme difficile , n’ayez pas peur de ses formules ! http://cs229.stanford.edu/notes/cs229-notes8.pdf
- Méthodes MI : C’est une méthode attractive pour traiter les données manquantes dans l’analyse multivariée. L’idée de l’imputation multiple pour les données manquantes a été proposée pour la première fois par Rubin , elle consiste à faire la moyenne des résultats sur plusieurs ensembles de données imputées pour en tenir compte. Toutes les méthodes d’imputation multiple suivent trois étapes :
- Imputation – Comme pour l’imputation simple, les valeurs manquantes sont imputées. Cependant, les valeurs imputées sont tirées m fois d’une distribution plutôt qu’une seule fois. À la fin de cette étape, il devrait y avoir m ensembles de données complétés.
- Analyse – Chacun des m ensembles de données est analysé. A la fin de cette étape, il devrait y avoir m analyses.
- Pooling – Les m résultats sont consolidés en un seul résultat en calculant la moyenne, la variance et l’intervalle de confiance de la variable concernée.
Merci pour votre temps et votre attention , Keep Learning !
Si vous voulez me joindre sur Linkedin, je vous en serais très reconnaissant
.