時間序列資料 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

時間序列資料

時間序列資料是指可以載入到三維資料框架的資料。在影格中,在每個時間戳記中,每一列都代表目標記錄,而且每個目標記錄都有一或多個相關資料欄。每個資料框儲存格內的值可以是數值、分類或文字資料類型。

時間序列資料集先決條件

在分析之前,請完成必要的預先處理步驟以準備資料,例如資料清理或特徵工程。您可以提供一或多個資料集。如果您提供多個資料集,請使用下列其中一種方法來將其提供給 SageMaker Clarify 處理任務:

  • 使用ProcessingInput具名dataset或分析組態dataset_uri來指定主資料集。如需 的詳細資訊dataset_uri,請參閱 中的參數清單分析組態檔案

  • 使用分析組態檔案中提供的 baseline 參數。如果存在 static_covariates,則需要基準資料集。如需分析組態檔案的詳細資訊,包括範例,請參閱 分析組態檔案

下表列出支援的資料格式、其副檔名和MIME類型。

資料格式 副檔名 MIME 類型

item_records

json

application/json

timestamp_records

json

application/json

columns

json

application/json

JSON 是彈性格式,可代表結構化資料中的任何複雜程度。如 資料表所示, SageMaker Clarify 支援格式 item_recordstimestamp_recordscolumns

時間序列資料集組態範例

本節說明如何使用 JSON 格式time_series_data_config的時間序列資料設定分析組態。假設您有一個包含兩個項目的資料集,每個項目都有時間戳記 (t)、目標時間序列 (x)、兩個相關的時間序列 (r) 和兩個靜態共變數 (u),如下所示:

t1 = 【0,1,2】,t2 = 【2,3】

x1 = 【5,6,4】,x2 = 【0,4】

r1 = 【0,1,0】,r 21 = 【1,1】

r 12 = 【0,0,0】,r 22 = 【1,0】

u 11 = -1,u 21 = 0

u 12 = 1,u 22 = 2

視 而定,您可以使用time_series_data_config三種不同方式來編碼資料集dataset_format。下列各節說明每種方法。

dataset_format 設為 時的時間序列資料組態 columns

下列範例使用 columns的值dataset_format。下列JSON檔案代表上述資料集。

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

請注意,項目 ID 會在 ids 欄位中重複。的正確實作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" }

dataset_format 設為 時的時間序列資料組態 item_records

下列範例使用 item_records的值dataset_format。下列JSON檔案代表資料集。

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

每個項目都會在 中以個別項目表示JSON。下列程式碼片段會顯示對應的 time_series_data_config(使用 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" }

dataset_format 設為 時的時間序列資料組態 timestamp_record

下列範例使用 timestamp_record的值dataset_format。下列JSON檔案代表上述資料集。

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

的每個項目都JSON代表單一時間戳記,並對應至單一項目。實作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" }