Mécanismes des données manquantes

Traitement des données manquantes par imputation dans 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.

  • Données manquantes complètement au hasard (MCAR).
  • Données manquantes au hasard (MAR).
  • Données manquantes non au hasard (MNAR).
Traitement des données manquantes par imputation dans R

Données manquantes complètement au hasard (MCAR)

L'emplacement des valeurs manquantes dans l'ensemble de données est purement aléatoire et ne dépend d'aucune autre donnée.

Exemple :

Un capteur météo mesure la température et envoie les données à une base. Certaines entrées manquent pendant les pannes du capteur.

Traitement des données manquantes par imputation dans R

Données manquantes au hasard (MAR)

L'emplacement des valeurs manquantes dépend d'autres données observées.

Exemple :

Des températures manquent quand le capteur est éteint pour l'entretien. Comme l'équipe d'entretien ne travaille jamais la fin de semaine, l'emplacement des valeurs manquantes dépend du jour de la semaine.

Traitement des données manquantes par imputation dans R

Données manquantes non au hasard (MNAR)

L'emplacement des valeurs manquantes dépend des valeurs manquantes elles‑mêmes.

Exemple :

Par grand froid, le capteur gèle et cesse de fonctionner. Il n'enregistre donc pas les très basses températures. Ainsi, l'emplacement des valeurs manquantes pour la température dépend des valeurs de cette même variable.

Traitement des données manquantes par imputation dans R

Traiter les mécanismes

Que se passe‑t‑il si l'on supprime les observations incomplètes ?

  • Si les données sont MCAR, les supprimer entraîne une perte d'information.
  • Si les données sont MAR ou MNAR, les supprimer introduit un biais dans les modèles construits sur ces données.
  • 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.
Traitement des données manquantes par imputation dans R

Vérification statistique

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 de vos données.
  3. Calculer la valeur p : quelle est la probabilité d'obtenir votre statistique de test, 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

Traitement des données manquantes par imputation dans R

Tester la présence de MAR

But : vérifier 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 cette indicatrice 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.
Traitement des données manquantes par imputation dans R

Mise en pratique du test

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)
Traitement des données manquantes par imputation dans 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
Traitement des données manquantes par imputation dans R

Passons à la pratique !

Traitement des données manquantes par imputation dans R

Preparing Video For Download...