Mécanismes des données manquantes

Gérer les données manquantes avec des imputations en R

Michal Oleszak

Machine Learning Engineer

Mécanismes des données manquantes : aperçu

Les problèmes de données manquantes se répartissent en trois catégories. Les distinguer est essentiel, car chacune exige une solution différente.

  • Missing Completely at Random (MCAR).
  • Missing at Random (MAR).
  • Missing not at Random (MNAR).
Gérer les données manquantes avec des imputations en R

Missing Completely at Random (MCAR)

Les emplacements des valeurs manquantes dans le jeu de données sont purement aléatoires, sans dépendre d'autres données.

Exemple :

Un capteur météo mesure la température et envoie les données à une base. Certaines entrées manquent quand le capteur est tombé en panne.

Gérer les données manquantes avec des imputations en R

Missing at Random (MAR)

Les emplacements des valeurs manquantes dépendent d'autres données observées.

Exemple :

Des températures manquent lorsque le capteur a été éteint pour maintenance. Comme l'équipe n'intervient jamais le week-end, les valeurs manquantes dépendent du jour de la semaine.

Gérer les données manquantes avec des imputations en R

Missing not at Random (MNAR)

Les emplacements des valeurs manquantes dépendent des valeurs manquantes elles-mêmes.

Exemple :

Par grand froid, le capteur gèle et s'arrête. Il n'enregistre donc pas les très basses températures. Ainsi, les valeurs manquantes de la variable température dépendent des valeurs de cette variable.

Gérer les données manquantes avec des imputations en R

Gérer les mécanismes

Et si l'on supprime simplement les observations incomplètes ?

  • Si les données sont MCAR, on perd de l'information.
  • Si les données sont MAR ou MNAR, on introduit un biais dans les modèles construits dessus.
  • Dans ce cas, il faut imputer les valeurs manquantes.
  • Beaucoup de méthodes d'imputation supposent MAR : il est donc important de le détecter.
Gérer les données manquantes avec des imputations en R

Tests statistiques

Exemple : test t de différence de moyennes

  1. Formuler une hypothèse (nulle) : les moyennes sont égales.
  2. Calculer la statistique de test à partir des données.
  3. Calculer la valeur p : quelle est la probabilité d'obtenir cette statistique en supposant l'hypothèse nulle vraie ?

petite valeur p → rejeter l'hypothèse nulle → moyennes différentes


grande valeur p → ne pas rejeter l'hypothèse nulle → moyennes égales

Gérer les données manquantes avec des imputations en R

Tester MAR

Objectif : tester si le pourcentage de valeurs manquantes d'une variable diffère selon les valeurs d'une autre.

Exemple : le pourcentage de valeurs manquantes dans PhysActive diffère-t-il entre hommes et femmes ?

Procédure de test :

  1. Créer une variable indicatrice signalant si PhysActive est manquante.
  2. Utiliser un test t pour vérifier si la moyenne de cet indicateur diffère entre hommes et femmes.
  3. Si la valeur p est petite (p. ex. < 0,05), les moyennes diffèrent : les données sont MAR.
Gérer les données manquantes avec des imputations en R

Tester en pratique

nhanes <- nhanes %>% 
  mutate(missing_phys_active = is.na(PhysActive))
missing_phys_active_male <- nhanes %>% 
  filter(Gender == "male") %>% 
  pull(missing_phys_active)

missing_phys_active_female <- nhanes %>% 
  filter(Gender == "female") %>% 
  pull(missing_phys_active)
Gérer les données manquantes avec des imputations en R

Interpréter les résultats

t.test(missing_phys_active_female, missing_phys_active_male)
    Welch Two Sample t-test

data:  missing_phys_active_female and missing_phys_active_male
t = -1.7192, df = 781.18, p-value = 0.08597
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.044414688  0.002940477
sample estimates:
 mean of x  mean of y 
0.02083333 0.04157044
Gérer les données manquantes avec des imputations en R

Passons à la pratique !

Gérer les données manquantes avec des imputations en R

Preparing Video For Download...