Quand on repère des valeurs manquantes dans un dataset, la plupart des gens se lancent directement dans leur imputation.
Mais aussi contre-intuitif que ça puisse paraître, la première étape vers l'imputation des données manquantes ne doit JAMAIS être l'imputation.
La vraie première étape, c'est de comprendre la raison derrière cette absence de données. Pourquoi ? Parce que la stratégie d'imputation dépend en grande partie du POURQUOI ces données manquent.

Plus précisément, l'absence de données peut être de trois types :
Missing completely at random (MCAR).
Missing at random (MAR).
Missing not at random (MNAR).
C'est seulement une fois qu'on a identifié la raison qu'on peut passer aux bonnes techniques d'imputation.
C'est quoi le MCAR, le MAR et le MNAR ? On décortique tout ça aujourd'hui.
1) Missing completely at random (MCAR)
Le MCAR, c'est une situation où les données manquent vraiment au hasard, sans aucun lien avec une variable observée ou non observée.
Autrement dit, les points de données manquants ne suivent aucun schéma identifiable.

Par exemple, dans des réponses à un sondage avec des valeurs manquantes, supposer le MCAR reviendrait à dire que certains participants ont, sans le faire exprès, sauté au hasard telle ou telle question.
Cela dit, d'après mon expérience, le MCAR est le plus souvent une hypothèse peu réaliste. Autrement dit, dans la grande majorité des datasets réels avec des valeurs manquantes, les données ne sont généralement pas MCAR.
Pourquoi ? Parce que dans des scénarios réels, l'apparition de données manquantes est souvent influencée par un facteur, observé ou non.
Le comportement humain, la manière dont le sondage a été administré, ou n'importe quel événement externe peuvent être à l'origine de valeurs manquantes dans un dataset.
Par exemple, des participants peuvent choisir volontairement de ne pas répondre à des questions sensibles, ou certains groupes peuvent être plus enclins à ne pas répondre du tout, ce qui crée des données manquantes.
C'est pour ça que supposer le MCAR n'est une hypothèse raisonnable que si tu connais le processus de collecte de données de bout en bout et/ou que tu as une expertise métier sur le sujet.
C'est là qu'il devient essentiel, pour un data scientist, d'échanger avec les data engineers et de comprendre le processus de collecte des données. D'ailleurs, ça ne concerne pas que le MCAR, ça s'applique aussi aux deux autres situations qu'on va voir juste après.

Comprendre le processus de collecte de données ne fera JAMAIS de mal.
Cela dit, rien ne nous empêche de supposer que les valeurs manquantes sont MCAR, si ça semble être une hypothèse raisonnable au vu de l'analyse, et/ou des retours d'experts métier, et/ou après avoir compris le mécanisme de collecte des données.
Tu peux alors utiliser les techniques d'imputation univariée les plus simples.
2) Missing at random (MAR)
Le MAR, c'est une situation où l'absence de valeurs pour une feature peut s'expliquer par d'autres features observées dans le dataset.

Contrairement au MCAR, le MAR est bien plus fréquent en pratique.
Dans ce cas, l'absence de données peut être expliquée avec une précision raisonnable grâce à des méthodes statistiques adaptées.
Ainsi, même si la donnée est manquante, son apparition peut (dans une certaine mesure) être estimée à partir des informations déjà disponibles dans le dataset.
Une façon courante d'identifier le MAR consiste à conditionner sur une autre feature observée, et à observer si la probabilité de valeur manquante augmente.

Par exemple, dans une enquête sur la performance scolaire, les étudiants avec de meilleures notes seraient peut-être moins enclins à révéler le nombre d'heures qu'ils passent à étudier (par esprit de compétition, sans doute).
C'est là que des techniques comme l'imputation par kNN, Miss Forest, etc., se montrent particulièrement efficaces. Elles utilisent d'autres features observées pour imputer la feature manquante.
Si tu veux creuser le sujet, on en a déjà parlé ici :
Le shot data sur l'imputation par kNN. Voici comment ça fonctionne :

Le shot data sur l'imputation par Miss Forest. Voici comment ça fonctionne :

3) Missing not at random (MNAR)
Le MNAR est la situation la plus compliquée des trois.
Dans le MNAR, l'absence de données est due soit à la valeur manquante elle-même, soit aux features pour lesquelles on n'a pas collecté de données.

Autrement dit, dans le MNAR, il existe un schéma bien défini dans les variables manquantes. Sauf que ce schéma n'a aucun lien avec les features observées.
C'est différent du MCAR, où il n'y a justement aucun schéma défini.
Par exemple, dans une enquête de santé, des participants avec un niveau de stress très élevé pourraient choisir consciemment de ne pas révéler ce niveau de stress, par peur du jugement ou de la stigmatisation.
Résultat : l'absence de données sur le niveau de stress n'a rien d'aléatoire. Elle est directement influencée par le niveau de stress lui-même.
En quelque sorte, plus le niveau de stress est élevé, moins la personne est susceptible de le révéler, et plus la valeur a de chances de manquer dans le dataset collecté.
L'absence de données dépend donc directement de la variable qui manque elle-même.
C'est piégeux, non ?
Il n'y a pas grand-chose à faire pour régler ça, à part collecter plus de données ou de features. Et l'expertise métier devient alors extrêmement précieuse pour gérer intelligemment le MNAR et améliorer le processus de collecte.
Parfois, j'ai aussi préféré utiliser les techniques d'imputation classiques (celles employées pour le MCAR et le MAR), tout simplement parce que collecter plus de données n'est pas toujours faisable.
Mais comme on l'a vu plus haut, il existe un schéma d'absence de données bien défini dans le MNAR, et il peut être important. Or, une imputation directe fera disparaître cette information.
Une façon de conserver ce schéma est d'ajouter une feature binaire, qui indique si la valeur a été imputée ou non.

Ainsi, l'algorithme de ML peut quand même accéder à ces schémas de données manquantes, et les apprendre.
👉 À toi de jouer : quels autres points aimerais-tu ajouter sur le MCAR, le MAR et le MNAR ?
Envie d'aller plus loin ? DataXp t'attend : formations et parcours pour progresser en data science, machine learning et IA.

