Datos de serie temporal - Amazon SageMaker

Datos de serie temporal

Los datos de series temporales se refieren a los datos que se pueden cargar en un marco de datos tridimensional. En el marco, en cada marca de tiempo, cada fila representa un registro objetivo, y cada registro objetivo tiene una o más columnas relacionadas. Los valores de cada celda del marco de datos pueden ser de tipo numérico, categórico o de texto.

Requisitos previos del conjunto de datos de series temporales

Antes del análisis, complete los pasos de preprocesamiento necesarios para preparar los datos, como la limpieza de datos o la ingeniería de características. Puede proporcionar uno o varios conjuntos de datos. Si proporciona varios conjuntos de datos, utilice uno de los métodos siguientes para suministrárselos al trabajo de procesamiento de SageMaker Clarify:

  • Utilice una ProcessingInput denominada dataset o la configuración de análisis dataset_uri para especificar el conjunto de datos principal. Para obtener más información sobre dataset_uri, consulte la lista de parámetros en Archivos de configuración del análisis.

  • Utilice el parámetro baseline proporcionado en el archivo de configuración del análisis. El conjunto de datos de referencia es necesario para static_covariates, si está presente. Para obtener más información sobre el archivo de configuración del análisis, incluidos ejemplos, consulte Archivos de configuración del análisis.

En la siguiente tabla se enumeran los formatos de datos compatibles, sus extensiones de archivo y los tipos MIME.

Formato de los datos Extensión de archivo Tipo MIME

item_records

json

application/json

timestamp_records

json

application/json

columns

json

application/json

JSON es un formato flexible que puede representar cualquier nivel de complejidad en sus datos estructurados. Como se muestra en la tabla, SageMaker Clarify admite los formatos item_records, timestamp_records y columns.

Ejemplos de configuración de conjuntos de datos de series temporales

Esta sección le muestra cómo establecer una configuración de análisis utilizando time_series_data_config para los datos de series temporales en formato JSON. Suponga que tiene un conjunto de datos con dos elementos, cada uno con una marca de tiempo (t), una serie temporal objetivo (x), dos series temporales relacionadas (r) y dos covariables estáticas (u), de la siguiente manera:

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

Puede codificar el conjunto de datos con time_series_data_config de tres maneras diferentes, según dataset_format. En las secciones siguientes se describe cada método.

Configuración de datos de series temporales cuando dataset_format es columns

En el ejemplo siguiente se utiliza el valor columns para dataset_format. El siguiente archivo JSON representa el conjunto de datos anterior.

{ "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 }

Tenga en cuenta que los ID de los elementos se repiten en el campo ids. A continuación, se muestra la implementación correcta de time_series_data_config:

"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" }

Configuración de datos de series temporales cuando dataset_format es item_records

En el ejemplo siguiente se utiliza el valor item_records para dataset_format. El siguiente archivo JSON representa el conjunto de datos.

[ { "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} ] } ]

Cada elemento se representa como una entrada independiente en el JSON. En el siguiente fragmento, se muestra el time_series_data_config correspondiente (que utiliza 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" }

Configuración de datos de series temporales cuando dataset_format es timestamp_record

En el ejemplo siguiente se utiliza el valor timestamp_record para dataset_format. El siguiente archivo JSON representa el conjunto de datos anterior.

[ {"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}, ]

Cada entrada del JSON representa una marca de tiempo única y corresponde a un único elemento. A continuación, se muestra la implementación de time_series_data_config:

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