時間序列資料 - Amazon SageMaker

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

時間序列資料

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

時間序列資料集必備

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

  • 使用具ProcessingInputdataset或分析配置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 澄清」支援格式item_recordstimestamp_records、和columns

時間序列資料集設定範例

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

1 = [0,1,2], t 2 = [2,3]

x 1 = [5,6,4], x 2 = [0,4]

r 1 = [0,1,0], R 2 1 = [1,1]

r 1 2 = [0,0,0], r 2 2 = [1,0]

u 1 1 = -1,u 2 1 = 0

u 1 2 = 1,U 2 2 = 2

您可以使time_series_data_config用三種不同的方式對資料集進行編碼,具體取決於dataset_format。以下各節將說明每種方法。

時間序列資料設定何dataset_formatcolumns

下列範例使用的columnsdataset_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_formatitem_records

下列範例使用的item_recordsdataset_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_formattimestamp_record

下列範例使用的timestamp_recorddataset_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" }