Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La gestion correcte des valeurs manquantes est une partie importante de la modélisation efficace. Cette section explique les valeurs manquantes et décrit les fonctionnalités fournies dans Analysis Services pour travailler avec des valeurs manquantes lors de la création de structures d’exploration de données et de modèles d’exploration de données.
Définition des valeurs manquantes dans l’exploration de données
Une valeur manquante peut signifier un certain nombre de choses différentes. Peut-être que le champ n’était pas applicable, l’événement n’était pas arrivé ou les données n’étaient pas disponibles. Il peut s’agir que la personne qui a entré les données ne connaissait pas la valeur appropriée, ou qu’elle ne s’occupait pas si un champ n’était pas renseigné.
Toutefois, il existe de nombreux scénarios d’exploration de données dans lesquels des valeurs manquantes fournissent des informations importantes. La signification des valeurs manquantes dépend en grande partie du contexte. Par exemple, une valeur manquante pour la date dans une liste de factures a une signification sensiblement différente de l’absence de date dans la colonne qui indique une date d’embauche d’employé. En règle générale, Analysis Services traite les valeurs manquantes comme informatives et ajuste les probabilités d’incorporer les valeurs manquantes dans ses calculs. En procédant ainsi, vous pouvez vous assurer que les modèles sont équilibrés et ne pondèrent pas excessivement les cas existants.
Par conséquent, Analysis Services fournit deux mécanismes distincts pour la gestion et le calcul des valeurs manquantes. La première méthode contrôle la gestion des valeurs nulles au niveau de la structure de mining de données. La deuxième méthode diffère en implémentation pour chaque algorithme, mais définit généralement la façon dont les valeurs manquantes sont traitées et comptées dans les modèles qui autorisent les valeurs Null.
Spécification du traitement des valeurs nulles
Dans votre source de données, les valeurs manquantes peuvent être représentées de plusieurs façons : comme des valeurs Null, comme des cellules vides dans une feuille de calcul, comme la valeur N/A ou un autre code, ou comme une valeur artificielle telle que 9999. Toutefois, à des fins d’exploration de données, seules les valeurs Null sont considérées comme des valeurs manquantes. Si vos données contiennent des valeurs d’espace réservé au lieu de null, elles peuvent affecter les résultats du modèle. Vous devez donc les remplacer par des valeurs null ou déduire des valeurs correctes si possible. Il existe différents outils que vous pouvez utiliser pour déduire et remplir les valeurs appropriées, parmi lesquels la transformation de recherche ou la tâche de profileur de données dans SQL Server Integration Services, ou l’outil Fill By Example fourni dans le module d’exploration de données Add-Ins pour Excel.
Si la tâche que vous modélisez spécifie qu’une colonne ne doit jamais avoir de valeurs manquantes, vous devez appliquer l’indicateur NOT_NULL de modélisation à la colonne lorsque vous définissez la structure d’exploration de données. Cet indicateur indique que le traitement doit échouer si un cas n’a pas de valeur appropriée. Si cette erreur se produit lors du traitement d’un modèle, vous pouvez consigner l’erreur et prendre des mesures pour corriger les données fournies au modèle.
Calcul de l’état manquant
Pour l’algorithme d’exploration de données, les valeurs manquantes sont informatives. Dans les tableaux, Missing est un état valide comme n'importe quel autre. En outre, un modèle d’exploration de données peut utiliser d’autres valeurs pour prédire si une valeur est manquante. En d’autres termes, le fait qu’une valeur est manquante n’est pas une erreur.
Lorsque vous créez un modèle d’exploration de données, un Missing état est automatiquement ajouté au modèle pour toutes les colonnes discrètes. Par exemple, si la colonne d’entrée [Gender] contient deux valeurs possibles, Male et Female, une troisième valeur est automatiquement ajoutée pour représenter la Missing valeur, et l’histogramme qui montre la distribution de toutes les valeurs de la colonne inclut toujours un nombre de cas avec Missing des valeurs. Si la colonne Gender ne contient aucune valeur manquante, l’histogramme indique que la valeur manquante est trouvée dans 0 cas.
La justification de l’inclusion de l’état Missing par défaut devient claire lorsque vous pensez que vos données n’ont peut-être pas d’exemples de toutes les valeurs possibles et que vous ne souhaitez pas que le modèle exclut la possibilité simplement parce qu’il n’y avait aucun exemple dans les données. Par exemple, si les données de vente d’un magasin ont montré que tous les clients qui ont acheté un certain produit sont des femmes, vous ne voudriez pas créer un modèle qui prédit que seules les femmes pouvaient acheter le produit. Au lieu de cela, Analysis Services ajoute un espace réservé pour la valeur inconnue supplémentaire, appelée Missing, comme moyen d’adapter d’autres états possibles.
Par exemple, le tableau suivant montre la distribution des valeurs pour le nœud (Tout) dans le modèle d’arbre de décision créé pour le didacticiel Bike Buyer. Dans l’exemple de scénario, la colonne [Bike Buyer] est l’attribut prédictible, où 1 indique « Oui » et 0 indique « Non ».
| Valeur | Instance |
|---|---|
| 0 | 9296 |
| 1 | 9098 |
| Manquant | 0 |
Cette distribution montre qu’environ la moitié des clients ont acheté un vélo, et que la moitié n’ont pas. Ce jeu de données particulier est très propre ; par conséquent, chaque cas a une valeur dans la colonne [Bike Buyer] et le nombre de Missing valeurs est égal à 0. Toutefois, si un cas a une valeur Null dans le champ [Bike Buyer], Analysis Services compte cette ligne comme cas avec une Missing valeur.
Si l’entrée est une colonne continue, le modèle tabule deux états possibles pour l’attribut : Existing et Missing. En d’autres termes, la colonne contient une valeur de type de données numérique, ou elle ne contient aucune valeur. Pour les cas qui ont une valeur, le modèle calcule la moyenne, l’écart type et d’autres statistiques significatives. Dans les cas qui n’ont aucune valeur, le modèle fournit un nombre de Missing vales et ajuste les prédictions en conséquence. La méthode d’ajustement de la prédiction diffère selon l’algorithme et est décrite dans la section suivante.
Remarque
Pour les attributs d’une table imbriquée, les valeurs manquantes ne sont pas informatives. Par exemple, si un client n’a pas acheté de produit, la table Products imbriquée n’aurait pas de ligne correspondant à ce produit et le modèle d’exploration de données ne créerait pas d’attribut pour le produit manquant. Toutefois, si vous êtes intéressé par les clients qui n’ont pas acheté certains produits, vous pouvez créer un modèle filtré sur l’absence d’existence des produits dans la table imbriquée, à l’aide d’une instruction NOT EXISTS dans le filtre de modèle. Pour plus d’informations, consultez Appliquer un filtre à un modèle d’exploration de données.
Ajustement de la probabilité pour les États manquants
En plus de compter les valeurs, Analysis Services calcule la probabilité de n’importe quelle valeur dans le jeu de données. Il en va de même pour la Missing valeur. Par exemple, le tableau suivant présente les probabilités des cas dans l’exemple précédent :
| Valeur | Instance | Probabilité |
|---|---|---|
| 0 | 9296 | 50,55% |
| 1 | 9098 | 49,42% |
| Manquant | 0 | 0,03% |
Il peut sembler étrange que la probabilité de la Missing valeur soit calculée comme 0,03%, lorsque le nombre de cas est de 0. En fait, ce comportement est par conception et représente un ajustement qui permet au modèle de gérer correctement les valeurs inconnues.
En général, la probabilité est calculée comme les cas favorables divisés par tous les cas possibles. Dans cet exemple, l’algorithme calcule la somme des cas qui répondent à une condition particulière ([Bike Buyer] = 1, ou [Bike Buyer] = 0), et divise ce nombre par le nombre total de lignes. Toutefois, pour tenir compte des Missing cas, 1 est ajouté au nombre de tous les cas possibles. Par conséquent, la probabilité pour le cas inconnu n’est plus zéro, mais un très petit nombre, indiquant que l’État est simplement improbable, pas impossible.
L’ajout de la petite Missing valeur ne modifie pas le résultat du prédicteur. Toutefois, il permet une meilleure modélisation dans les scénarios où les données historiques n’incluent pas tous les résultats possibles.
Remarque
Les fournisseurs d’exploration de données diffèrent de la façon dont ils gèrent les valeurs manquantes. Par exemple, certains fournisseurs supposent que les données manquantes dans une colonne imbriquée sont une représentation éparse, mais que les données manquantes dans une colonne non imbriquée sont manquantes au hasard.
Si vous êtes certain que tous les résultats sont spécifiés dans vos données et que vous souhaitez empêcher l’ajustement des probabilités, vous devez définir l’indicateur de modélisation NOT_NULL sur la colonne de la structure d’exploration de données.
Remarque
Chaque algorithme, y compris les algorithmes personnalisés que vous avez peut-être obtenus à partir d’un plug-in tiers, peut gérer les valeurs manquantes différemment.
Gestion spéciale des valeurs manquantes dans les modèles d’arbre de décision
L’algorithme Microsoft Decision Trees calcule les probabilités des valeurs manquantes différemment des autres algorithmes. Au lieu d’ajouter simplement 1 au nombre total de cas, l’algorithme d’arbre de décision s’ajuste pour l’état Missing à l’aide d’une formule légèrement différente.
Dans un modèle d’arbre de décision, la probabilité de l’état Missing est calculée comme suit :
ProbabilitéÉtat = (ProbabilitéPréalableNoeud) * (SoutienÉtat + 1) / (SoutienNoeud + ÉtatsTotaux)
De plus, dans SQL Server 2014 Analysis Services (SSAS), l’algorithme Decision Trees fournit un ajustement supplémentaire qui permet à l’algorithme de compenser la présence de filtres sur le modèle, ce qui peut entraîner l’exclusion de nombreux états pendant l’entraînement.
Dans SQL Server 2014, si un état est présent pendant l’entraînement, mais qu’il se produit simplement qu’il n’y a aucune prise en charge dans un certain nœud, l’ajustement standard est effectué. Toutefois, si un état n’est jamais rencontré lors de l’entraînement, l’algorithme définit la probabilité sur exactement zéro. Cet ajustement s’applique non seulement à l’état Missing , mais également à d’autres états qui existent dans les données d’apprentissage, mais qui ont une prise en charge nulle suite au filtrage de modèle.
Cet ajustement supplémentaire entraîne la formule suivante :
StateProbability = 0.0 si cet état a un soutien nul dans l'ensemble de données d'entraînement
SINON ProbabilitéÉtat = (PrioritéNœud) * (SupportÉtat + 1) / (SupportNœud + TotalÉtatsAvecSupportNonNul)
L’effet net de cet ajustement est de maintenir la stabilité de l’arbre.
Tâches associées
Les rubriques suivantes fournissent plus d’informations sur la gestion des valeurs manquantes.
| Tâches | Liens |
|---|---|
| Ajouter des indicateurs à des colonnes de modèle individuelles pour contrôler la gestion des valeurs manquantes | Afficher ou modifier des indicateurs de modélisation (exploration de données) |
| Définir des propriétés sur un modèle d’exploration de données pour contrôler la gestion des valeurs manquantes | Modifier les propriétés d’un modèle d’exploration de données |
| Découvrez comment spécifier des indicateurs de modélisation dans DMX | Indicateurs de modélisation (DMX) |
| Modifier la façon dont la structure d’exploration de données gère les valeurs manquantes | Modifier les propriétés d'une structure minière |
Voir aussi
Contenu du modèle d’exploration de données (Analysis Services - Exploration de données)
Indicateurs de modélisation (exploration de données)