Données de séries temporelles - Amazon SageMaker AI

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.

Données de séries temporelles

Les données de séries temporelles font référence à des données qui peuvent être chargées dans un dataframe tridimensionnel. Dans ce dataframe, dans chaque horodatage, chaque ligne représente un enregistrement cible et chaque enregistrement cible a une ou plusieurs colonnes associées. Les valeurs de chaque cellule du bloc de données peuvent être de type numérique, catégoriel ou texte.

Conditions préalables relatives aux jeux de données de séries temporelles

Avant l’analyse, effectuez les étapes de prétraitement nécessaires à la préparation de vos données, telles que le nettoyage des données ou l’ingénierie des caractéristiques. Vous pouvez fournir un ou plusieurs jeux de données. Si vous fournissez plusieurs ensembles de données, utilisez l'une des méthodes suivantes pour les fournir à la tâche de traitement SageMaker Clarify :

  • Utilisez une configuration ProcessingInputnommée dataset ou la configuration d'analyse dataset_uri pour spécifier le jeu de données principal. Pour plus d’informations sur dataset_uri, reportez-vous à la liste des paramètres dans Fichiers de configuration d’analyse.

  • Utilisez le paramètre baseline fourni dans le fichier de configuration d’analyse. Le jeu de données de référence est requis pour static_covariates, s’il est présent. Pour plus d’informations sur le fichier de configuration d’analyse, y compris des exemples, consultez Fichiers de configuration d’analyse.

Le tableau suivant répertorie les formats de données pris en charge, leurs extensions de fichier et les types MIME.

Format de données Extension de fichier Type MIME

item_records

json

application/json

timestamp_records

json

application/json

columns

json

application/json

JSON est un format flexible qui peut représenter un niveau quelconque de complexité dans vos données structurées. Comme indiqué dans le tableau, SageMaker Clarify prend en charge item_records les formatstimestamp_records, etcolumns.

Exemples de configuration de jeux de données de séries temporelles

Cette section vous montre comment définir une configuration d’analyse utilisant time_series_data_config pour des données de séries temporelles au format JSON. Supposons que vous disposez d’un jeu de données comportant deux éléments, chacun doté d’un horodatage (t), d’une série temporelle cible (x), de deux séries temporelles connexes (r) et de deux covariables statiques (u), comme suit :

t1 = [0,1,2], t2 = [2,3]

x1 = [5,6,4], x2 = [0,4]

r1 = [0,1,0], r21 = [1,1]

r12 = [0,0,0], r22 = [1,0]

u11 = -1, u21 = 0

u12 = 1, u22 = 2

Vous pouvez encoder le jeu de données en utilisant time_series_data_config de trois manières différentes, selon dataset_format. Les sections suivantes décrivent chaque méthode.

Configuration des données de séries temporelles quand dataset_format a pour valeur columns

L’exemple suivant utilise la valeur columns pour dataset_format. Le fichier JSON suivant représente le jeu de données précédent.

{ "ids": [1, 1, 1, 2, 2], "timestamps": [0, 1, 2, 2, 3], # t "target_ts": [5, 6, 4, 0, 4], # x "rts1": [0, 1, 0, 1, 1], # r1 "rts2": [0, 0, 0, 1, 0], # r2 "scv1": [-1, -1, -1, 0, 0], # u1 "scv2": [1, 1, 1, 2, 2], # u2 }

Notez que les identifiants des éléments sont répétés dans le champ ids. L’implémentation correcte de time_series_data_config est illustrée comme suit :

"time_series_data_config": { "item_id": "ids", "timestamp": "timestamps", "target_time_series": "target_ts", "related_time_series": ["rts1", "rts2"], "static_covariates": ["scv1", "scv2"], "dataset_format": "columns" }

Configuration des données de séries temporelles quand dataset_format a pour valeur item_records

L’exemple suivant utilise la valeur item_records pour dataset_format. Le fichier JSON suivant représente le jeu de données.

[ { "id": 1, "scv1": -1, "scv2": 1, "timeseries": [ {"timestamp": 0, "target_ts": 5, "rts1": 0, "rts2": 0}, {"timestamp": 1, "target_ts": 6, "rts1": 1, "rts2": 0}, {"timestamp": 2, "target_ts": 4, "rts1": 0, "rts2": 0} ] }, { "id": 2, "scv1": 0, "scv2": 2, "timeseries": [ {"timestamp": 2, "target_ts": 0, "rts1": 1, "rts2": 1}, {"timestamp": 3, "target_ts": 4, "rts1": 1, "rts2": 0} ] } ]

Chaque élément est représenté sous la forme d’une entrée distincte dans le code JSON. L'extrait suivant montre le correspondant time_series_data_config (qui utilise JMESPath).

"time_series_data_config": { "item_id": "[*].id", "timestamp": "[*].timeseries[].timestamp", "target_time_series": "[*].timeseries[].target_ts", "related_time_series": ["[*].timeseries[].rts1", "[*].timeseries[].rts2"], "static_covariates": ["[*].scv1", "[*].scv2"], "dataset_format": "item_records" }

Configuration des données de séries temporelles quand dataset_format a pour valeur timestamp_record

L’exemple suivant utilise la valeur timestamp_record pour dataset_format. Le fichier JSON suivant représente le jeu de données précédent.

[ {"id": 1, "timestamp": 0, "target_ts": 5, "rts1": 0, "rts2": 0, "svc1": -1, "svc2": 1}, {"id": 1, "timestamp": 1, "target_ts": 6, "rts1": 1, "rts2": 0, "svc1": -1, "svc2": 1}, {"id": 1, "timestamp": 2, "target_ts": 4, "rts1": 0, "rts2": 0, "svc1": -1, "svc2": 1}, {"id": 2, "timestamp": 2, "target_ts": 0, "rts1": 1, "rts2": 1, "svc1": 0, "svc2": 2}, {"id": 2, "timestamp": 3, "target_ts": 4, "rts1": 1, "rts2": 0, "svc1": 0, "svc2": 2}, ]

Chaque entrée du code JSON représente un horodatage unique et correspond à un élément unique. L’implémentation time_series_data_config est illustrée comme suit :

{ "item_id": "[*].id", "timestamp": "[*].timestamp", "target_time_series": "[*].target_ts", "related_time_series": ["[*].rts1"], "static_covariates": ["[*].scv1"], "dataset_format": "timestamp_records" }