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.
S’applique à :
SQL Server 2019 et versions antérieures d’Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Important
L’exploration de données a été déconseillée dans SQL Server 2017 Analysis Services et a maintenant été abandonnée dans SQL Server 2022 Analysis Services. La documentation n’est pas mise à jour pour les fonctionnalités déconseillées et abandonnées. Pour en savoir plus, consultez la compatibilité descendante des Analysis Services.
La gestion correcte des valeurs manquantes est importante pour la modélisation efficace. Cette section explique les valeurs manquantes et explique comment utiliser SQL Server Analysis Services fonctionnalités pour les gérer lors de la création de structures 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. Le champ n’était peut-être pas applicable, l’événement n’a pas eu lieu ou les données n’ont pas été 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’en souciait pas si un champ n’était pas renseigné.
Les valeurs manquantes fournissent des informations importantes dans de nombreux scénarios d’exploration de données. 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, SQL Server Analysis Services traite les valeurs manquantes comme informatives et ajuste les probabilités d’incorporer les valeurs manquantes dans ses calculs. Ce faisant, vous pouvez vous assurer que les modèles sont équilibrés et qu’ils ne pèsent pas trop lourdement sur les cas.
SQL Server Analysis Services fournit deux mécanismes pour gérer les valeurs manquantes. La première méthode définit la gestion des valeurs Null dans la structure d’exploration de données. Chaque algorithme implémente la deuxième méthode différemment pour traiter et compter les valeurs manquantes dans les modèles qui autorisent les valeurs Null.
Spécification de la gestion des valeurs nulles
Votre source de données peut représenter des valeurs manquantes sous forme de valeurs null, de cellules N/A de feuille de calcul vides ou d’un autre code, ou d’une valeur artificielle comme 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. Divers outils sont à votre disposition pour déduire et fournir les valeurs adéquates, notamment la transformation de recherche et la tâche du profileur de données dans SQL Server Integration Services, ou bien l’outil Remplir à partir de l’exemple fourni dans les compléments d’exploration de données pour Excel.
Si la tâche que vous modélisez n’autorise pas les valeurs manquantes dans une colonne, appliquez l’indicateur de modélisation NOT_NULL 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
Les algorithmes d’exploration de données traitent les valeurs manquantes comme informatives. Dans les tableaux de cas, Missing est un état valide. Un modèle d’exploration de données peut utiliser d’autres valeurs pour prédire si une valeur est manquante. Par conséquent, une valeur manquante n’est pas une erreur.
Lorsque vous créez un modèle d’exploration de données, un état manquant est automatiquement ajouté au modèle pour toutes les colonnes discrètes. Par exemple, si la colonne d’entrée [Gender] contient les valeurs Male et Female, le modèle ajoute une troisième valeur, Missing. L’histogramme de la colonne comprend le nombre de cas dans l’état Manquant. Si la colonne Gender n'a pas de valeurs manquantes, l'histogramme indique que la valeur manquante est trouvée dans 0 cas.
La justification de l’inclusion de l’état manquant 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, SQL Server 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 | Incidents |
|---|---|
| 0 | 9296 |
| 1 | 9098 |
| Manquant | 0 |
La distribution montre qu’environ la moitié des clients achètent un vélo et la moitié ne le font pas. Chaque cas dans ce jeu de données a une valeur dans la colonne [Bike Buyer], donc le nombre de valeurs manquantes est égal à zéro. Si un cas contient une valeur Null dans le champ [Bike Buyer], SQL Server Analysis Services compte cette ligne comme cas avec une valeur manquante.
Si l’entrée est une colonne continue, le modèle remplit deux états possibles pour l’attribut : Existant et Manquant. 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 vales manquantes 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.
Note
Pour les attributs d’une table imbriquée, les valeurs manquantes ne sont pas informatives. Par exemple, si un client n’achète pas de produit, la table Products imbriquée n’a aucune ligne pour ce produit et le modèle d’exploration de données ne crée pas d’attribut pour celui-ci. Pour identifier les clients sans achat de certains produits, utilisez une instruction NOT EXISTS dans le filtre de modèle pour filtrer les produits qui n’existent pas dans la table imbriquée. 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, SQL Server Analysis Services calcule la probabilité de n’importe quelle valeur dans le jeu de données. Le même calcul s’applique à la valeur manquante . Par exemple, le tableau suivant présente les probabilités des cas dans l’exemple précédent :
| Valeur | Incidents | Probabilité |
|---|---|---|
| 0 | 9296 | 50,55% |
| 1 | 9098 | 49,42% |
| Manquant | 0 | 0,03% |
Il peut sembler étrange que la probabilité de la valeur manquante soit 0,03%, lorsque le nombre de cas est de 0. 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. Pour tenir compte des cas manquants , l’algorithme ajoute 1 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.
La petite valeur manquante ne modifie pas la prédiction, mais elle améliore la modélisation lorsque les données historiques n’incluent pas tous les résultats possibles.
Note
Les fournisseurs d’exploration de données gèrent les valeurs manquantes différemment. Par exemple, certains fournisseurs traitent les données manquantes dans une colonne imbriquée comme une représentation éparse et les données manquantes dans une colonne non délimitée comme manquantes au hasard.
Si vos données définissent tous les résultats possibles, définissez l’indicateur de modélisation NOT_NULL sur la colonne de la structure d’exploration de données afin d’empêcher les ajustements de probabilité.
Note
Chaque algorithme, y compris un algorithme personnalisé 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 de valeur manquante différemment des autres algorithmes. Au lieu d’en ajouter un au nombre total de cas, l’algorithme utilise une formule différente pour ajuster l’état manquant .
Dans un modèle d’arbre de décision, utilisez la formule suivante pour calculer la probabilité de l’état manquant :
StateProbability = (NodePriorProbability) * (StateSupport + 1) / (NodeSupport + TotalStates)
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 exclure de nombreux états pendant l’entraînement.
Dans SQL Server 2017, si un état est présent pendant l’entraînement, mais qu’il a une prise en charge nulle dans un certain nœud, l’algorithme effectue l’ajustement standard. 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 manquant , mais également à d’autres états qui existent dans les données d’apprentissage, mais qui ont une prise en charge nulle suite au filtrage du modèle.
Cet ajustement supplémentaire entraîne la formule suivante :
StateProbability = 0.0 si cet état n’a aucun soutien dans le jeu d’entraînement
ELSE StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStatesWithNonZeroSupport)
L’effet net de cet ajustement est de maintenir la stabilité de l’arbre.
Tâches associées
Ces ressources expliquent comment gérer les valeurs manquantes.
| Tasks | Links |
|---|---|
| Ajouter des indicateurs à des colonnes de modèle individuelles pour contrôler la façon dont le modèle gère les valeurs manquantes | Afficher ou modifier des indicateurs de modélisation (exploration de données) |
| Définir les propriétés du modèle d’exploration de données pour contrôler la façon dont le modèle gère les valeurs manquantes | Modifier les propriétés d’un modèle d’exploration de données |
| 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)