Dados de séries temporais
Os dados de séries temporais são dados que podem ser carregados em um quadro de dados tridimensional. No quadro, em cada “timestamp”, cada linha representa um registro de destino e, cada registro de destino, tem uma ou mais colunas. Os valores em cada célula do quadro de dados podem ser de tipos de dados numéricos, categóricos ou de texto.
Pré-requisitos do conjunto de dados de séries temporais
Antes da análise, conclua as etapas de pré-processamento necessárias para preparar seus dados, como limpeza de dados ou engenharia de atributos. Você pode fornecer um ou vários conjuntos de dados. Se você fornecer vários conjuntos de dados, use um dos seguintes métodos para enviá-los para o trabalho de processamento do SageMaker Clarify:
-
Use um ProcessingInput chamado
dataset
ou a configuração de análisedataset_uri
para especificar o conjunto de dados principal. Para obter mais informações sobredataset_uri
, consulte a lista de parâmetros em Arquivos de configuração de análise. -
Use o parâmetro
baseline
fornecido no arquivo de configuração da análise. O conjunto de dados de linha de base é necessário parastatic_covariates
, se estiver presente. Para obter mais informações sobre o arquivo de configuração de análise, incluindo exemplos, consulte Arquivos de configuração de análise.
A tabela a seguir lista os formatos de dados compatíveis, suas extensões de arquivo e tipos de MIME.
Formato de dados | Extensão do arquivo | Tipo MIME |
---|---|---|
|
json |
|
|
json |
|
|
json |
|
O JSON é um formato flexível que pode representar qualquer nível de complexidade em seus dados estruturados. Conforme mostrado na tabela, o SageMaker Clarify oferece apoio aos formatos item_records
, timestamp_records
e columns
.
Exemplos de configuração de conjuntos de dados de séries temporais
Esta seção mostra como definir uma configuração de análise usando time_series_data_config
para dados de séries temporais no formato JSON. Suponha que você tenha um conjunto de dados com dois itens, cada um com um carimbo de data/hora (t), uma série temporal de destino (x), duas séries temporais relacionadas (r) e duas covariáveis estáticas (u), da seguinte forma:
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
Você pode codificar o conjunto de dados usando time_series_data_config
de três maneiras diferentes, dependendo do dataset_format
. As seções a seguir descrevem cada método.
Configuração de dados de séries temporais quando dataset_format
for columns
O exemplo a seguir usa o valor columns
para dataset_format
. O arquivo JSON a seguir representa o conjunto de dados 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 }
Observe que os IDs dos itens são repetidos no campo ids
. A implementação correta do time_series_data_config
é mostrada a seguir:
"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" }
Configuração de dados de séries temporais quando dataset_format
for item_records
O exemplo a seguir usa o valor item_records
para dataset_format
. O arquivo JSON a seguir representa o conjunto de dados.
[ { "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 item é representado como uma entrada separada no JSON. O trecho a seguir mostra o time_series_data_config
correspondente (que usa 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" }
Configuração de dados de séries temporais quando dataset_format
for timestamp_record
O exemplo a seguir usa o valor timestamp_record
para dataset_format
. O arquivo JSON a seguir representa o conjunto de dados 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 do JSON representa um único registro de data/hora e corresponde a um único item. A implementação de time_series_data_config
é mostrada da seguinte forma:
{ "item_id": "[*].id", "timestamp": "[*].timestamp", "target_time_series": "[*].target_ts", "related_time_series": ["[*].rts1"], "static_covariates": ["[*].scv1"], "dataset_format": "timestamp_records" }