Accéder au contenu principal Passer au contenu complémentaire

Imputation des valeurs nulles

Un trop grand nombre de valeurs manquantes peut avoir un impact négatif sur la qualité de votre modèle d'apprentissage machine. Une imputation consiste à renseigner les valeurs manquantes, connues sous le nom de valeurs nulles. Il peut exister de nombreuses raisons pour lesquelles il manque des données, par exemple, une erreur dans la base de données, un utilisateur qui omet de renseigner une partie d'un formulaire, ou encore la collecte de nouvelles données et d'anciens enregistrements dans l'ensemble de données sans nouveau point de données.

Lors du pré-traitement automatique des données, les valeurs nulles sont traitées en excluant les colonnes auxquelles il manque plus de 50 % des valeurs et en imputant des valeurs manquantes. Les valeurs catégoriques sont imputées avec le mode et les valeurs numériques avec la moyenne.

Il est important de comprendre les effets éventuels de cette imputation sur les données. L'imputation conserve la puissance prédictive de la ligne ou de la colonne, mais elle peut également créer des patterns qui n'existaient pas auparavant ou ajouter des parasites à un pattern qui existait. Cela réduit la validité des données.

Il est conseillé d'examiner les pratiques de collecte de données pour s'assurer de l'exhaustivité des données et pour mettre en œuvre de nouveaux processus, si nécessaire. Si vous souhaitez conserver la représentation d'une valeur vide, vous pouvez renseigner les valeurs nulles par une valeur telle que « autre » ou « inconnu ».

Fonctionnement de l'imputation

Les méthodes suivantes sont des pratiques courantes en matière d'imputation de valeurs nulles.

Valeurs numériques

Une bonne méthode par défaut consiste à imputer la valeur moyenne. Si les valeurs manquantes sont normalement distribuées, cela revient à ajouter du poids au centre d'une bascule : cela n'a aucun effet sur le poids de part et d'autre. Cependant, ne perdez jamais de vue ce que le valeur tente de représenter. Par exemple, si certaines des valeurs du prix de vente sont nulles dans vos données de ventes, est-ce dû à une erreur dans la base de données ou cela signifie-t-il que l'acheteur a utilisé un coupon comme mode de paiement ? Une valeur 0 ou une autre valeur que la moyenne aurait-elle plus de sens ?

Valeurs catégoriques

Pour les valeurs catégoriques, une bonne méthode par défaut consiste à ajouter une autre catégorie et à l'appeler « Autre », « Inconnu » ou « Manquant ». Cette catégorie peut contenir la variance supplémentaire si les valeurs manquantes sont distribuées de manière aléatoire, ou devenir plus caractéristique s'il existe une relation significative entre l'absence de cette valeur et la valeur cible.

Un repli consiste à imputer la moyenne sous forme de mode. En ce qui concerne les valeurs numériques, il est toujours important de tenir compte tant de ce que la valeur tente effectivement de représenter que de la raison pour laquelle la valeur est peut-être manquante. Si vous savez que la plupart des valeurs manquantes correspondent probablement au mode, vous pouvez les imputer avec le mode. Si vous ne le savez pas, ou si vous n'en êtes pas certain, vous pouvez imputer la valeur catégorique avec un texte de remplissage correspondant à une nouvelle valeur unique par rapport à l'ensemble de données.

Effets de l'imputation de valeurs numériques

L'imputation numérique n° 1 montre un nuage de points avec une « line of best fit » (droite de meilleur ajustement). Nous avons une valeur numérique le long de l'axe de la catégorie (x) et une valeur cible le long de l'axe de la valeur (y). Cela semble bien adapté, mais ne tient compte que des points de données pour lesquels x est connu.

Imputation numérique n° 1 : Tracé de valeurs connues avec une « line of best fit » (droite de meilleur ajustement)

Graphique avec une « line of best fit » (droite de meilleur ajustement) linéaire.

Dans l'imputation numérique n° 2, nous avons imputé la valeur moyenne. Cependant, les valeurs manquantes ne semblent pas aléatoires. Cela fausse la « line of best fit » (droite de meilleur ajustement) et ajoute des parasites, réduisant ainsi l'exactitude générale du modèle.

Imputation numérique n° 2 : Tracé de valeurs connues et valeurs moyennes imputées. Les valeurs imputées ne sont pas distribuées de manière aléatoire et une nouvelle « line of best fit » (droite de meilleur ajustement) apparaît.

Graphique avec des valeurs imputées qui faussent la « line of best fit » (droite de meilleur ajustement).

Le graphique de l'imputation numérique n° 3 montre ce à quoi cela ressemblerait si nous imputions la moyenne lorsque les valeurs manquantes sont distribuées de manière aléatoire. En d'autres termes, en l'absence de connaissances supplémentaires à acquérir si l'on sait si la valeur était présente ou manquante. Lorsque les valeurs manquantes sont distribuées de manière aléatoire, cela ne modifie pas la « line of best fit » (droite de meilleur ajustement). Si nous avions imputé 0 au lieu de la valeur moyenne, cela aurait modifié la « line of best fit » (droite de meilleur ajustement) de la même manière que dans l'imputation numérique n° 2.

Imputation numérique n° 3 : Tracé de valeurs connues et valeurs imputées distribuées de manière aléatoire. La « line of best fit » (droite de meilleur ajustement) n'a pas changé.

Graphique avec des valeurs imputées qui ne faussent pas la « line of best fit » (droite de meilleur ajustement).

Exemple : Éligibilité à un prêt

En voici un exemple concret : si x est le revenu annuel et y le montant auquel une personne peut prétendre pour un prêt. On peut supposer qu'il existe une relation entre le fait que plus on gagne de l'argent, plus on peut en emprunter. Le pattern serait similaire à l'imputation numérique n° 1 ci-dessus.

Imaginez que les personnes qui gagnent moins d'argent soient moins susceptibles de soumettre leur revenu annuel. Dans ce cas, la valeur x est manquante pour un motif spécifique. L'imputation de la moyenne pour ces valeurs fausserait les résultats du modèle. Le résultat ressemblerait à celui de l'imputation numérique n° 2.

À présent, imaginons que certains enregistrements de la base de données aient été supprimés de manière aléatoire. Les enregistrements contenaient des données sur la somme d'argent gagnée par certaines personnes, mais pas l'enregistrement de cette personne. Par conséquent, la valeur x est nulle de manière aléatoire. Cet effet est illustré dans l'imputation numérique n° 3 et correspond à un cas dans lequel il est possible d'imputer en toute sécurité la valeur manquante.

Autre point à prendre en compte : et si la valeur 0 était imputée au lieu de la moyenne ? Dans l'exemple d'éligibilité à un prêt, il n'est probablement pas exact de dire qu'une personne gagne 0 dollar par an. Cela fausserait le modèle de la même manière que dans l'imputation numérique n° 2.

Effets de l'imputation de valeurs catégoriques

Dans le cas numérique ci-dessus, nous avons utilisé la moyenne pour imputer les valeurs manquantes. Pour les valeurs catégoriques, une méthode simple consiste à prendre le mode, qui est la valeur que l'on retrouve le plus souvent. Certaines des difficultés liées à l'imputation du mode sont les mêmes que celles liées à l'imputation de la moyenne pour une valeur numérique.

Sur le graphique ci-dessous, il existe un pattern dans les valeurs manquantes de la colonne Missing_1 par rapport à la cible, tandis que la colonne Missing_2 est distribuée de manière aléatoire. Nous le constatons, parce que la colonne Missing_2 correspond à la valeur cible moyenne générale. La colonne Missing_1 est similaire à l'imputation numérique n° 2 et la colonne Missing_2 à l'imputation numérique n° 3.

Imputation catégorique : Les colonnes Missing_1 et Missing_2 sont des exemples de valeurs manquantes avec et sans pattern.

Graphique montrant la distribution des classes A, B et C avec la moyenne générale et l'imputation catégorique des valeurs manquantes.

La différence par rapport à l'exemple numérique réside dans le fait que, dans ce cas, les colonnes Missing_1 et Missing_2 faussent toutes les deux la reconnaissance de pattern. Seul un sous-ensemble de données, la catégorie B, est faussé, ce qui correspondrait à la valeur imputée en cas d'imputation avec le mode, car il s'agit de la catégorie la plus volumineuse.

Le fait de fausser la relation entre une valeur unique et la valeur cible ne constitue pas le seul risque de l'imputation, mais fait partie des risques les plus courants et faciles à évaluer. Les autres risques ont simplement tendance à ajouter des parasites et à réduire l'exactitude. Heureusement, le risque de fausser les valeurs peut être largement atténué par l'abandon des dimensions relativement parsemées. Les niveaux d'éparpillement à autoriser dans une colonne ou une ligne font souvent l'objet d'âpres discussions. Mais on parle beaucoup moins du risque de déformation des données, suite à l'imputation de valeurs, au point qu'elles ne soient plus représentatives de ce qu'elles sont supposé représenter.

En savoir plus

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !