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 automatique. 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 le jeu de données sans nouveau point de données.
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 ».
Imputation des valeurs nulles lors du prétraitement automatique
Dans Qlik AutoML, le prétraitement automatique des données utilise l'imputation des valeurs nulles pour préparer votre jeu de données à l'apprentissage. 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 manquantes dans les caractéristiques catégoriques sont imputées via la valeur « Autre » et les valeurs manquantes dans les caractéristiques numériques sont imputées via la moyenne.
Des considérations supplémentaires s'appliquent aux caractéristiques auto-conçues et à l'apprentissage temporel.
Pour plus d'informations sur le prétraitement, consultez Préparation et transformation automatiques des données.
Caractéristiques auto-conçues
Grâce à l'ingénierie automatique des caractéristiques, AutoML crée de nouvelles caractéristiques à partir de caractéristiques parentes existantes. Pour les caractéristiques auto-conçues, l'imputation des valeurs nulles s'effectue comme suit :
-
Si vous incluez des caractéristiques de date auto-conçues dans l'apprentissage, le processus d'imputation des valeurs nulles pour ces caractéristiques est le même que celui appliqué aux caractéristiques numériques.
-
Si, au lieu de cela, vous utilisez les caractéristiques de date parentes, le processus d'imputation des valeurs nulles est le même que celui appliqué aux caractéristiques catégoriques.
-
Pour les caractéristiques catégoriques traitées comme du texte libre, l'imputation des valeurs nulles est la même que celle appliquée aux caractéristiques catégoriques.
Apprentissage temporel
Si l'apprentissage temporel est activé, l'imputation des valeurs nulles s'effectue comme suit :
-
Toutes les lignes du jeu de données d'apprentissage qui comportent une valeur nulle pour l'index de date sélectionné sont abandonnées lors du prétraitement. Ces lignes ne sont pas utilisées pour effectuer l'apprentissage des modèles.
-
Pour les caractéristiques numériques, l'imputation des valeurs nulles est réalisée via une interpolation linéaire. L'interpolation linéaire est également utilisée pour les caractéristiques de date auto-conçues.
-
Pour les caractéristiques catégoriques, le processus d'imputation des valeurs nulles est le même que lorsque vous n'utilisez pas d'apprentissage temporel.
-
Si vous utilisez des caractéristiques de date sans ingénierie automatique des caractéristiques, le processus d'imputation des valeurs nulles est le même que celui appliqué aux caractéristiques catégoriques.
-
Pour les caractéristiques catégoriques traitées comme du texte libre, l'imputation des valeurs nulles est la même que celle appliquée aux caractéristiques catégoriques.
Pour plus d'informations sur l'apprentissage temporel, consultez Création de modèles temporels.
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 au jeu 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.
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.
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.
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.
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-jeu 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.