Gestion des valeurs manquantes - Amazon Forecast

Amazon Forecast n'est plus disponible pour les nouveaux clients. Les clients existants d'Amazon Forecast peuvent continuer à utiliser le service normalement. En savoir plus »

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des valeurs manquantes

Un problème courant dans les données de prévision chronologiques est la présence de valeurs manquantes. Vos données peuvent contenir des valeurs manquantes pour un certain nombre de raisons, notamment des échecs de mesure, des problèmes de formatage, des erreurs humaines ou un manque d'informations à enregistrer. Par exemple, si vous prévoyez la demande d'un produit pour un magasin de vente au détail et qu'un article est épuisé ou indisponible, il n'y aura pas de données de vente à enregistrer tant que cet article sera en rupture de stock. Si elles sont suffisamment importantes, les valeurs manquantes peuvent avoir un impact significatif sur la précision d'un modèle.

Amazon Forecast propose un certain nombre de méthodes de remplissage pour gérer les valeurs manquantes dans vos séries chronologiques cibles et les ensembles de données de séries chronologiques associés. Le remplissage consiste à ajouter des valeurs normalisées aux entrées manquantes dans votre ensemble de données.

Forecast prend en charge les méthodes de remplissage suivantes :

  • Remplissage intermédiaire : remplit toutes les valeurs manquantes entre la date de début et la date de fin de l'élément d'un ensemble de données.

  • Remplissage inverse : remplit toutes les valeurs manquantes entre le dernier point de données enregistré et la date de fin globale d'un ensemble de données.

  • Remplissage futur (séries chronologiques associées uniquement) : remplit toutes les valeurs manquantes entre la date de fin globale et la fin de l'horizon de prévision.

L'image suivante fournit une représentation visuelle des différentes méthodes de remplissage.

Timeline showing three items with varying durations and fill methods between global start and end dates.

Choix de la logique de remplissage

Lorsque vous choisissez une logique de remplissage, vous devez prendre en considération la manière dont la logique sera interprétée par votre modèle. Par exemple, dans un scénario de vente au détail, l'enregistrement de 0 vente d'un article disponible est différent de l’enregistrement de 0 vente d'un article non disponible, car ce dernier n'implique pas un manque d'intérêt du client pour l'article. De ce fait, le 0 remplissage de la série chronologique cible peut entraîner un sous-biais du prédicteur dans ses prévisions, tandis que le NaN remplissage peut ignorer les occurrences réelles de vente de 0 article disponible et provoquer un biais excessif du prédicteur.

Les graphiques de séries chronologiques suivants illustrent la manière dont un mauvais choix de valeur de remplissage peut affecter de manière significative la précision de votre modèle. Les graphiques A et B montrent la demande partielle pour un article out-of-stock, les lignes noires représentant les données de vente réelles. Les valeurs manquantes dans A1 sont complétées par 0, ce qui conduit à des prédictions relativement sous-estimées (représentées par les lignes pointillées) dans A2. De même, les valeurs manquantes dans B1 sont complétées par NaN, ce qui conduit à des prévisions plus précises dans B2.

Time-series graphs comparing item demand predictions with different filling values for missing data.

Pour obtenir la liste des logiques de remplissage prises en charge, reportez-vous à la section suivante.

Logique de remplissage de série chronologique cible et de série chronologique associée

Vous pouvez procéder au remplissage sur des ensembles de données de série chronologique cible et de série chronologique associée. Chaque type d’ensemble de données a des instructions et des restrictions de remplissage différentes.

Instructions de remplissage
Type d'ensemble de données Remplissage par défaut ? Méthodes de remplissage prises en charge Logique de remplissage par défaut Logique de remplissage acceptée
Séries chronologiques cibles Oui Remplissage intermédiaire et en amont 0
  • zero - 0 remplissage.

  • value - Nombre entier ou valeur flottante.

  • nan - N’est pas un nombre.

  • mean - Valeur moyenne de la série de données.

  • median - Valeur médiane de la série de données.

  • min : valeur minimale de la série de données.

  • max - Valeur maximale de la série de données.

Séries chronologiques associées Non Remplissage intermédiaire, en amont et en aval Pas de valeur par défaut
  • zero - 0 remplissage.

  • value - Nombre entier ou valeur flottante.

  • mean - Valeur moyenne de la série de données.

  • median - Valeur médiane de la série de données.

  • min : valeur minimale de la série de données.

  • max - Valeur maximale de la série de données.

Important

Pour les ensembles de données cibles et les séries chronologiques connexes,mean,median,min, et max sont calculés sur la base d'une fenêtre déroulante des 64 entrées de données les plus récentes avant les valeurs manquantes.

Syntaxe des valeurs manquantes

Pour effectuer le remplissage des valeurs manquantes, spécifiez les types de remplissage à implémenter lorsque vous appelez l'CreatePredictoropération. La logique de remplissage est spécifiée dans FeaturizationMethodles objets.

L'extrait suivant présente un objet FeaturizationMethod correctement mis en forme pour un attribut de série chronologique cible et un attribut de série chronologique associée (respectivement target_value et price).

Pour attribuer une valeur spécifique à une méthode de remplissage, définissez le paramètre de remplissage sur value et définissez la valeur dans un _value paramètre correspondant. Comme indiqué ci-dessous, le remblayage pour les séries chronologiques associées est défini sur une valeur de 2 avec les valeurs suivantes : "backfill": "value" et"backfill_value":"2".

[ { "AttributeName": "target_value", "FeaturizationPipeline": [ { "FeaturizationMethodName": "filling", "FeaturizationMethodParameters": { "aggregation": "sum", "middlefill": "zero", "backfill": "zero" } } ] }, { "AttributeName": "price", "FeaturizationPipeline": [ { "FeaturizationMethodName": "filling", "FeaturizationMethodParameters": { "middlefill": "median", "backfill": "value", "backfill_value": "2", "futurefill": "max" } } ] } ]