

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 时间序列数据
<a name="clarify-processing-job-data-format-time-series"></a>

时间序列数据是指可载入三维数据框架的数据。在框架中，每个时间戳的每一行都代表一条目标记录，而每条目标记录都有一个或多个相关列。每个数据框单元格内的值可以是数字、分类或文本数据类型。

## 时间序列数据集的先决条件
<a name="clarify-processing-job-data-format-time-series-prereq"></a>

在分析之前，完成必要的预处理步骤来准备数据，如数据清理或特征工程。您可以提供一个或多个数据集。如果您提供多个数据集，请使用以下方法之一将其提供给 Clarif SageMaker y 处理作业：
+ 使用[ProcessingInput](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProcessingInput.html)命名配置`dataset`或分析配置`dataset_uri`来指定主数据集。有关 `dataset_uri` 的更多信息，请参阅 [分析配置文件](clarify-processing-job-configure-analysis.md) 中的参数列表。
+ 使用分析配置文件中提供的 `baseline` 参数。如果存在，`static_covariates` 需要基线数据集。有关分析配置文件的更多信息（包括示例），请参阅 [分析配置文件](clarify-processing-job-configure-analysis.md)。

下表列出了支持的数据格式、其文件扩展名和 MIME 类型。


| 数据格式 | 文件扩展名 | MIME 类型 | 
| --- | --- | --- | 
| `item_records` | json | `application/json` | 
| `timestamp_records` | json | `application/json` | 
| `columns` | json | `application/json` | 

JSON 是一种灵活的格式，可以表示结构化数据的任何复杂程度。如表所示，Clar SageMaker ify 支持格式`item_records``timestamp_records`、和`columns`。

## 时间序列数据集配置示例
<a name="clarify-processing-job-data-format-time-series-ex"></a>

本节将向您展示如何使用 `time_series_data_config` 为 JSON 格式的时间序列数据设置分析配置。假设有一个数据集，其中包含两个项目，每个项目都有一个时间戳 (t)、目标时间序列 (x)、两个相关时间序列 (r) 和两个静态协变量 (u)，具体如下：

 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

根据 `dataset_format` 的不同，您可以用三种不同的方式使用 `time_series_data_config` 对数据集进行编码。下文将介绍每种方法。

### `当 d ataset_format 为列时的时间序列数据配置`
<a name="clarify-processing-job-data-format-time-series-columns"></a>

下面的示例使用了 `dataset_format` 的 `columns` 值。下面的 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
}
```

请注意，`ids` 字段中的项目 ID 是重复的。`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"
}
```

### `当数据集格式为 item _records 时的时间序列数据配置`
<a name="clarify-processing-job-data-format-time-series-itemrec"></a>

下面的示例使用了 `dataset_format` 的 `item_records` 值。下面的 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 时的时间序列数据配置`
<a name="clarify-processing-job-data-format-time-series-tsrec"></a>

下面的示例使用了 `dataset_format` 的 `timestamp_record` 值。下面的 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"
}
```