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álisisdataset_uri
para especificar el conjunto de datos principal. Para obtener más información sobredataset_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 parastatic_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 |
---|---|---|
|
json |
|
|
json |
|
|
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" }