Zeitreihendaten
Zeitreihendaten beziehen sich auf Daten, die in einen dreidimensionalen Datenrahmen geladen werden können. In diesem Frame repräsentiert jede Zeile in jedem Zeitstempel einen Zieldatensatz, und jeder Zieldatensatz verfügt über eine oder mehrere zugehörige Spalten. Bei den Werten in jeder Zelle des Datenrahmens kann es sich um numerische, kategoriale oder Textdatentypen handeln.
Voraussetzungen für einen Zeitreihendatensatz
Führen Sie vor der Analyse die erforderlichen Vorverarbeitungsschritte zur Vorbereitung Ihrer Daten durch, z. B. Datenbereinigung oder Feature-Engineering. Sie können einen oder mehrere Datensätze bereitstellen. Wenn Sie mehrere Datensätze bereitstellen, verwenden Sie eine der folgenden Methoden, um sie für den Verarbeitungsauftrag von SageMaker Clarify zu identifizieren.
-
Verwenden Sie entweder einen ProcessingInput Namen
datasetoder die Analysekonfiguration,dataset_urium den Hauptdatensatz anzugeben. Weitere Informationen überdataset_urifinden Sie in der Parameterliste unter Analyse-Konfigurationsdateien. -
Verwenden Sie den in der Analysekonfigurationsdatei bereitgestellten
baselineParameter. Der Basisdatensatz ist erforderlich fürstatic_covariates, falls vorhanden. Weitere Informationen zur Analysekonfigurationsdatei, einschließlich Beispielen, finden Sie unter Analyse-Konfigurationsdateien.
In der folgenden Tabelle sind die unterstützten Datenformate, ihre Dateierweiterungen und MIME-Typen aufgeführt.
| Data format (Datenformat) | Dateierweiterung | MIME-Typ |
|---|---|---|
|
|
json |
|
|
|
json |
|
|
|
json |
|
JSON ist ein flexibles Format, das jede Komplexität Ihrer strukturierten Daten darstellen kann. Wie in der Tabelle gezeigt, unterstützt SageMaker Clarify die Formate item_recordstimestamp_records, und. columns
Beispiele für die Konfiguration von Zeitreihen-Datensätzen
In diesem Abschnitt wird erläutert, wie Sie eine Analysekonfiguration mit time_series_data_config für Zeitreihendaten im JSON-Format festlegen. Angenommen, Sie haben einen Datensatz mit zwei Elementen, jedes mit einem Zeitstempel (t), einer Zielzeitreihe (x), zwei verwandten Zeitreihen (r) und zwei statischen Kovariaten (u) wie folgt:
t 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
Sie können den Datensatz auf drei verschiedene Arten kodieren, abhängig dataset_format von. time_series_data_config In den folgenden Abschnitten werden beide Methoden beschrieben.
Konfiguration von Zeitreihendaten, wann dataset_format ist columns
Im folgenden Beispiel werden die columns-Werte für dataset_format genutzt. Die folgende JSON-Datei stellt den vorherigen Datensatz dar.
{ "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 }
Beachten Sie, dass die Element-IDs im ids Feld wiederholt werden. Die korrekte Implementierung von time_series_data_config wird wie folgt dargestellt:
"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" }
Konfiguration von Zeitreihendaten, wann dataset_format ist item_records
Im folgenden Beispiel werden die item_records-Werte für dataset_format genutzt. Die folgende JSON-Datei stellt den Datensatz dar.
[ { "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} ] } ]
Jedes Element wird als separater Eintrag in der JSON-Datei dargestellt. Das folgende Snippet zeigt das entsprechende time_series_data_config (das JMESPath verwendet).
"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" }
Konfiguration von Zeitreihendaten, wann dataset_format ist timestamp_record
Im folgenden Beispiel werden die timestamp_record-Werte für dataset_format genutzt. Die folgende JSON-Datei stellt den vorherigen Datensatz dar.
[ {"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}, ]
Jeder JSON-Eintrag steht für einen einzelnen Zeitstempel und entspricht einem einzelnen Element. Die Implementierung time_series_data_config wird wie folgt dargestellt:
{ "item_id": "[*].id", "timestamp": "[*].timestamp", "target_time_series": "[*].target_ts", "related_time_series": ["[*].rts1"], "static_covariates": ["[*].scv1"], "dataset_format": "timestamp_records" }