Importation de jeux de données - Amazon Forecast

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.

Importation de jeux de données

Les ensembles de données contiennent les données utilisées pour former un prédicteur. Vous créez un ou plusieurs ensembles de données Amazon Forecast et vous y importez vos données d'entraînement. Un groupe de jeux de données est un ensemble d'ensembles de données complémentaires qui détaillent un ensemble de paramètres changeants au fil du temps. Après avoir créé un groupe d'ensembles de données, vous l'utilisez pour former un prédicteur.

Chaque groupe d'ensembles de données peut avoir jusqu'à trois ensembles de données, un de chaque type d' ensemble de données : TARGET_TIME_SERIES, RELATED_TIME_SERIES et ITEM_METADATA.

Pour créer et gérer des ensembles de données Forecast et des groupes de jeux de données, vous pouvez utiliser la console Forecast, AWS Command Line Interface (AWS CLI) ou le AWS SDK.

Par exemple, les ensembles de données Forecast, consultez le GitHubréférentiel Amazon Forecast Sample.

Jeux de données

Pour créer et gérer des ensembles de données Forecast, vous pouvez utiliser les API Forecast, y compris les DescribeDataset opérations CreateDataset et. Pour une liste complète des API Forecast, consultezRéférence d’API.

Lorsque vous créez un ensemble de données, vous devez fournir des informations telles que :

  • Fréquence/intervalle d’enregistrement vos données. Par exemple, vous pouvez regrouper et enregistrer les ventes d'articles au détail chaque semaine. Dans l'exercice Démarrer, vous utilisez la consommation moyenne d'électricité par heure.

  • Format de prédiction (le domaine) et type d'ensemble de données (au sein du domaine). Un domaine de jeu de données indique le type de prévision que vous souhaitez effectuer, tandis qu'un type de jeu de données vous permet d'organiser vos données d'entraînement dans des catégories adaptées aux prévisions.

  • Schéma d'ensemble de données Un schéma mappe les en-têtes de colonne de votre ensemble de données. Par exemple, lors de la surveillance de la demande, vous pouvez avoir collecté des données horaires sur les ventes d'un article dans plusieurs magasins. Dans ce cas, votre schéma définit l'ordre, de gauche à droite, dans lequel l'horodatage, l'emplacement et les ventes horaires apparaissent dans votre fichier de données de formation. Les schémas définissent également le type de données de chaque colonne, comme string ou integer.

  • Informations sur la géolocalisation et le fuseau horaire. L'attribut de géolocalisation est défini dans le schéma avec le type d'attribut. geolocation Les informations de fuseau horaire sont définies avec l' CreateDatasetImportJobopération. Les données de géolocalisation et de fuseau horaire doivent être incluses pour activer l'indice météo.

Chaque colonne de votre jeu de données Forecast représente une dimension ou une entité de prévision. Les dimensions de prévision décrivent les aspects dans vos données qui ne changent pas au fil du temps, comme store ou location. Les fonctions de prévision incluent tous les paramètres dans vos données qui varient au fil du temps, comme price ou promotion. Certaines dimensions, comme timestamp ou itemId, sont obligatoires dans les ensembles de données TARGET_TIME_SERIES et RELATED_TIME_SERIES.

Domaines d'ensemble de données et types d'ensemble de données

Lorsque vous créez un jeu de données Forecast, vous choisissez un domaine et un type de jeu de données. Forecast fournit des domaines pour un certain nombre de cas d'utilisation, tels que la prévision de la demande de détail ou du trafic Web. Vous pouvez également créer un domaine personnalisé. Pour une liste complète des domaines Forecast, consultezDomaines et types d'ensembles de données prédéfinis.

Dans chaque domaine, les utilisateurs de Forecast peuvent spécifier les types de jeux de données suivants :

  • Ensemble de données de séries chronologiques cible (obligatoire) : utilisez ce type de jeu de données lorsque vos données d'entraînement sont des séries chronologiques et qu'elles incluent le champ pour lequel vous souhaitez générer une prévision. Ce champ est appelé le champ cible.

  • Ensemble de données chronologiques associé (facultatif) : choisissez ce type de jeu de données lorsque vos données d'entraînement sont des séries chronologiques, mais qu'elles n'incluent pas le champ cible. Par exemple, si vous prévoyez la demande pour un article, un ensemble de données RELATED_TIME_SERIES peut avoir price comme champ, mais pas demand.

  • Ensemble de données de métadonnées d'éléments (facultatif) : choisissez ce type de jeu de données lorsque vos données d'entraînement ne sont pas des séries chronologiques, mais incluent des informations de métadonnées sur les éléments de la série chronologique cible ou des ensembles de données de séries chronologiques connexes. Par exemple, si vous prévoyez la demande d'articles, un jeu de métadonnées d'articles peut avoir color ou avoir brand des dimensions.

    Forecast prend uniquement en compte les données fournies par un type de jeu de métadonnées d'articles lorsque vous utilisez l'algorithme CNN-QR ou DeepAr+.

    Les métadonnées d'élément sont particulièrement utiles dans des scénarios de prévision de démarrage à froid, dans lesquels vous disposez de peu de données d’historique directes permettant de faire des prédictions, alors que vous disposez de données d’historique sur des éléments ayant des attributs de métadonnées similaires. Lorsque vous incluez des métadonnées d'article, Forecast crée des prévisions de démarrage à froid basées sur des séries chronologiques similaires, ce qui permet de créer des prévisions plus précises.

En fonction des informations contenues dans vos données de formation et de ce que vous souhaitez prévoir, vous pouvez créer plusieurs ensembles de données.

For exemple, supposons que vous souhaitiez générer une prévision pour la demande d'articles au détail, tels que des chaussures et des chaussettes. Vous pouvez créer les ensembles de données suivants dans le domaine RETAIL :

  • Ensemble de données de séries chronologiques cibles : inclut les données historiques de demande de séries chronologiques pour les articles vendus au détail (item_idtimestamp,, et le champ cibledemand). Comme celui-ci désigne le champ cible que vous souhaitez prévoir, vous devez avoir au moins un ensemble de données TARGET_TIME_SERIES dans un groupe d'ensembles de données.

    Vous pouvez également ajouter jusqu'à dix autres dimensions à un ensemble de données TARGET_TIME_SERIES. Si vous incluez uniquement un ensemble de données TARGET_TIME_SERIES dans votre groupe d'ensembles de données, vous pouvez créer des prévisions au niveau de granularité de l'élément ou de la dimension de prévision uniquement. Pour plus d’informations, consultez CreatePredictor.

  • Jeu de données de séries chronologiques associé : inclut des données de séries chronologiques historiques autres que le champ cible, telles que price ourevenue. Étant donné que les données de séries chronologiques associées doivent être mappables aux données de séries chronologiques cibles, chaque jeu de données de séries chronologiques associé doit contenir les mêmes champs d'identification. Dans le domaine RETAIL, il s'agirait de item_id et timestamp.

    Un ensemble de données de série chronologique associé peut contenir des données qui affinent les prévisions établies à partir de votre ensemble de données de série chronologique cible. Par exemple, vous pouvez inclure des données price dans votre ensemble de données RELATED_TIME_SERIES sur les dates futures pour lesquelles vous souhaitez générer une prévision. De cette façon, Forecast peut faire des prédictions avec une dimension contextuelle supplémentaire. Pour plus d’informations, consultez Utilisation d'ensembles de données RELATED_TIME_SERIES.

  • Ensemble de données de métadonnées d'articles : inclut les métadonnées pour les articles vendus au détail. Voici d'autres exemples de métadonnées : brand, category,color et genre.

Exemple d'ensemble de données avec une dimension de prévision

Dans la continuité de l'exemple précédent, imaginons que vous souhaitiez prévoir la demande de chaussures et de chaussettes en fonction des ventes précédentes d'une boutique. Dans l'ensemble de données TARGET_TIME_SERIES suivant, store est une dimension de prévision de série chronologique, tandis que demand est le champ cible. Les chaussettes sont vendues dans deux magasins (NYC et SFO), et les chaussures sont vendues uniquement dans ORD.

Les trois premières lignes de ce tableau contiennent les premières données de vente disponibles pour les magasins NYC, SFO et ORD. Les trois dernières lignes contiennent les dernières données de vente enregistrées pour chaque magasin. La ligne ... représente toutes les données de vente d'articles enregistrées entre les première et la dernière entrées.

timestamp item_id store demand
2019-01-01 socks NYC 25
2019-01-05 socks SFO 45
2019-02-01 shoes ORD 10
...
2019-06-01 socks NYC 100
2019-06-05 socks SFO 5
2019-07-01 shoes ORD 50

Schéma d'ensemble de données

Chaque ensemble de données a besoin d'un schéma, un mappage JSON fourni par l'utilisateur des champs de vos données de formation. C'est là que vous répertoriez les dimensions et fonctions obligatoires et facultatives que vous souhaitez inclure dans votre ensemble de données.

Si votre jeu de données inclut un attribut de géolocalisation, définissez l'attribut dans le schéma avec le type d'attribut. geolocation Pour plus d'informations, consultez la section Ajouter des informations de géolocalisation. Pour appliquer l'indice météo, vous devez inclure un attribut de géolocalisation dans votre série chronologique cible et dans tous les ensembles de données de séries chronologiques connexes.

Certains domaines ont des dimensions facultatives que nous vous recommandons d'inclure. Les dimensions facultatives sont répertoriées dans les descriptions de chaque domaine plus loin dans ce guide. Pour obtenir un exemple, consultez Domaine RETAIL. Toutes les dimensions facultatives utilisent le type de données string.

Un schéma est requis pour chaque ensemble de données. Voici le schéma d'accompagnement de l'exemple d’ensemble de données de série chronologique cible ci-dessus.

{ "attributes": [ { "AttributeName": "timestamp", "AttributeType": "timestamp" }, { "AttributeName": "item_id", "AttributeType": "string" }, { "AttributeName": "store", "AttributeType": "string" }, { "AttributeName": "demand", "AttributeType": "float" } ] }

Lorsque vous téléchargez vos données d'entraînement dans le jeu de données qui utilise ce schéma, Forecast suppose que le timestamp champ est la colonne 1, le item_id champ est la colonne 2, le store champ est la colonne 3 et le demand champ, le champ cible, est la colonne 4.

Pour le type d'ensemble de données RELATED_TIME_SERIES, toutes les fonctions associées doivent avoir un type d'attribut à virgule flottante ou nombre entier. Pour le type d'ensemble de données ITEM_METADATA, toutes les fonctions doivent avoir un type d'attribut de chaîne. Pour plus d’informations, consultez SchemaAttribute.

Note

Une attributeType paire attributeName et est requise pour chaque colonne de l'ensemble de données. Forecast réserve un certain nombre de noms qui ne peuvent pas être utilisés comme nom d'attribut de schéma. Pour obtenir la liste des noms réservés, consultez Noms de champs réservés.

Groupes d'ensembles de données

Un groupe d'ensembles de données est un ensemble composé d'un à trois ensembles de données complémentaires, un de chaque type d'ensemble de données. Vous importez des ensembles de données dans un groupe d'ensembles de données, puis vous utilisez le groupe d'ensembles de données pour former un prédicteur.

Forecast inclut les opérations suivantes pour créer des groupes de jeux de données et y ajouter des ensembles de données :

Résolution des conflits de la fréquence de collecte de données

Forecast peut entraîner des prédicteurs avec des données qui ne correspondent pas à la fréquence des données que vous spécifiez dans l'CreateDatasetopération. Par exemple, vous pouvez importer des données enregistrées à intervalles d'une heure, même si certaines données ne sont pas horodatées en début d'heure (02:20, 02:45). Forecast utilise la fréquence des données que vous spécifiez pour en savoir plus sur vos données. Forecast agrège ensuite les données lors de l'entraînement des prédicteurs. Pour plus d’informations, consultez Agrégation de données pour différentes fréquences de prévision.