Les jeux de données du monde réel contiennent presque toujours des valeurs manquantes. Dans la plupart des cas, on ne sait pas à l'avance pourquoi elles manquent.
LE RAPPEL
Les trois raisons possibles

Il peut y avoir plusieurs raisons à ces valeurs manquantes. On en a déjà parlé en détail dans un shot précédent, voici donc un petit rappel :
Missing Completely at Random (MCAR) : la valeur manque complètement au hasard, sans aucun lien avec elle-même ni avec une autre observation.

Missing at Random (MAR) : la valeur manque à cause d'une autre variable observée. Par exemple, on peut constater que le pourcentage de valeurs manquantes varie nettement selon d'autres variables.

Missing NOT at Random (MNAR) : le cas le plus délicat. L'absence dépend de la valeur manquante elle-même (par exemple, les plus hauts revenus qui ne déclarent pas leur salaire) ou d'une variable qu'on n'a pas observée.

Pour plus de détails, lis ce shot : Missing data : ne saute JAMAIS cette étape avant l'imputation
Identifier la raison des valeurs manquantes peut être extrêmement utile pour la suite : analyse, imputation et modélisation.
Aujourd'hui, voyons comment enrichir ton analyse des valeurs manquantes avec des heatmaps.
LE PROBLÈME
Le tableau de fréquences ne dit pas tout
Imagine un jeu de données de ventes quotidiennes d'un magasin, avec ces informations :

Jour et date
Heures d'ouverture et de fermeture du magasin
Nombre de clients
Ventes totales
Solde du compte à l'ouverture et à la fermeture
On voit bien qu'il manque des valeurs, mais on ne sait pas pourquoi.
En EDA, beaucoup de monde calcule la fréquence des valeurs manquantes par colonne, comme ceci :

Ce tableau indique simplement le nombre de valeurs manquantes dans chaque colonne. Plus précisément, on apprend que :
Deux colonnes ont nettement plus de valeurs manquantes que les autres.
Les colonnes de l'heure d'ouverture et de l'heure de fermeture ont exactement le même nombre de valeurs manquantes (53).
C'est tout ce que ce tableau nous apprend.
Le problème de cette approche, c'est qu'elle cache plusieurs détails importants sur les valeurs manquantes :
Leur emplacement précis dans le jeu de données.
Leur périodicité éventuelle.
La corrélation entre les valeurs manquantes de plusieurs colonnes, etc.
…des informations qui peuvent être très utiles pour comprendre la raison des valeurs manquantes.
Autrement dit, ce tableau ressemble plus à des statistiques résumées, qui montrent rarement la vraie image.
Pourquoi ?
On en a déjà parlé dans cette newsletter, par exemple avec les pièges de la corrélation ou ceux des boîtes à moustaches.
LA SOLUTION
La heatmap des valeurs manquantes
Voici comment j'enrichis souvent mon analyse des valeurs manquantes avec des heatmaps.
Compare le tableau de valeurs manquantes vu plus haut avec cette heatmap :

Les lignes verticales blanches indiquent l'emplacement des valeurs manquantes dans une colonne donnée. On voit tout de suite que :
Les valeurs manquent de façon périodique dans les colonnes de l'heure d'ouverture et de l'heure de fermeture.
Les valeurs manquantes sont corrélées entre ces deux colonnes.
Les valeurs manquantes des autres colonnes semblent (sans certitude) manquer complètement au hasard.
En creusant l'heure d'ouverture, on découvre que le magasin est toujours fermé le dimanche :

On sait maintenant pourquoi les heures d'ouverture et de fermeture manquent dans notre jeu de données. Cette information est précieuse au moment de l'imputation.
Cette situation précise est un cas de « Missing at Random (MAR) ». Comme on l'a vu, l'absence dépend de la valeur d'une autre colonne observée. Maintenant qu'on connaît la raison, on peut utiliser des techniques d'imputation adaptées si besoin.
Pour le MAR en particulier, des techniques comme l'imputation kNN, MissForest, etc. sont très efficaces. On les a vues dans ces shots :
N'est-ce pas bien plus utile qu'une simple analyse de la fréquence des valeurs manquantes ?
À retenir : un tableau de fréquences se contente de compter les valeurs manquantes, alors qu'une heatmap montre où elles se trouvent, leur périodicité et leurs corrélations.
Envie d'aller plus loin ? DataXp t'attend : formations et parcours pour progresser en data science, machine learning et IA.
👉 Et maintenant, à toi de jouer : Quelles autres méthodes connais-tu pour améliorer l'analyse des valeurs manquantes ?



