

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

# Amazon C SageMaker anvas 中的时间序列预测
<a name="canvas-time-series"></a>

**注意**  
时间序列预测模型仅支持表格数据集。

Amazon SageMaker Canvas 使您能够使用机器学习时间序列预测。时间序列预测使您能够做出随时间变化的预测。

您可以对以下示例进行时间序列预测：
+ 预测未来几个月的库存。
+ 未来四个月内售出的商品数量。
+ 假日期间降价对销售额的影响。
+ 未来 12 个月的商品库存。
+ 在接下来的几个小时内进入商店的顾客数量。
+ 预测产品降价 10% 对一段时间内销售额的影响。

要进行时间序列预测，您的数据集必须具有以下内容：
+ 一个时间戳列，其所有值均为`datetime`类型。
+ 一个目标列，其中包含用于预测未来值的值。
+ 包含数据集中每个项目的唯一标识符（例如 SKU 编号）的项目 ID 列。

时间戳列中的 `datetime` 值必须使用以下格式之一：
+ `YYYY-MM-DD HH:MM:SS`
+ `YYYY-MM-DDTHH:MM:SSZ`
+ `YYYY-MM-DD`
+ `MM/DD/YY`
+ `MM/DD/YY HH:MM`
+ `MM/DD/YYYY`
+ `YYYY/MM/DD HH:MM:SS`
+ `YYYY/MM/DD`
+ `DD/MM/YYYY`
+ `DD/MM/YY`
+ `DD-MM-YY`
+ `DD-MM-YYYY`

您可以对以下时间间隔进行预测：
+ 1 分钟
+ 5 分钟
+ 15 分钟
+ 30 分钟
+ 1 小时
+ 1 天
+ 1 周
+ 1 个月
+ 1 年

## 输入数据集中的未来值
<a name="canvas-time-series-future"></a>

Canvas 会自动检测数据集中可能包含未来值的列。如果存在这些值，则可以提高预测的准确性。Canvas 用`Future values`标签标记这些特定的列。Canvas 会推断出这些列中的数据与您要预测的目标列之间的关系，并利用这种关系来生成更准确的预测。

例如，您可以预测一家杂货店的冰淇淋销售量。要进行预测，必须有一个时间戳列和一个指示杂货店卖出多少冰淇淋的列。为了获得更准确的预测，您的数据集还可以包括价格、环境温度、冰淇淋口味或冰淇淋的唯一标识符。

天气转暖后，冰淇淋的销量可能会增加。冰淇淋价格下降可能会导致销售量增加。如果有一列环境温度数据和一列定价数据，就能提高预测杂货店冰淇淋销量的能力。

虽然提供未来值是可选的，但这有助于您直接在 Canvas 应用程序中执行假设分析，向您展示未来值的变化会如何改变您的预测。

## 处理缺失值
<a name="canvas-time-series-missing"></a>

由于不同的原因，您可能缺少数据。数据缺失的原因可能会影响您希望 Canvas 如何估算数据。例如，您的组织可能使用自动系统，该系统只在发生销售时才进行跟踪。如果您使用的数据集来自此类自动系统，则目标列中会有缺失值。

**重要**  
如果目标列中有缺失值，我们建议使用没有缺失值的数据集。 SageMaker Canvas 使用目标列来预测未来的值。目标列中的缺失值会大大降低预测的准确性。

对于数据集中的缺失值，Canvas 会在目标列中填入 `0`，并在其他数值列中填入该列的中值，从而自动估算缺失值。

不过，您可以为数据集中的目标列和其他数值列选择自己的填充逻辑。目标列的填充准则和限制不同于其他数值列。目标列填写至历史时期结束，而数值列则填写至历史时期和未来时期，直至预测范围结束。只有当数据中至少有一条记录带有未来时间戳和特定列的值时，Canvas 才会在数值列中填写未来值。

您可以选择以下填充逻辑选项之一来估算数据中的缺失值：
+ `zero` – 填充 `0`。
+ `NaN` – 填充 NaN，即非数字。这仅支持目标列。
+ `mean` – 填充数据序列的平均值。
+ `median` – 填充数据序列的中值。
+ `min` – 填充数据序列的最小值。
+ `max` – 填充数据序列的最大值。

选择填充逻辑时，应考虑模型如何解释该逻辑。例如，在零售场景中，记录有货商品的零销售额与记录无货商品的零销售额是不同的，因为后者并不一定意味着顾客对无货商品缺乏兴趣。在这种情况下，在数据集的目标列中填入 `0` 可能会导致模型的预测偏差过大，并推断出顾客对无货商品缺乏兴趣。反之，填充 `NaN` 可能会导致模型忽略有货商品中零卖出的真实情况。

## 预测类型
<a name="canvas-time-series-types"></a>

您可以进行以下类型的预测之一：
+ **单个项目**
+ **所有项目**

对于数据集中所有项目的预测， SageMaker Canvas 会返回对数据集中每个项目的未来值的预测。

对于单个物料的预测，您可以指定该物料， SageMaker Canvas 会返回对未来值的预测。预测包括一个折线图，描绘出预测值随时间变化的情况。

**Topics**
+ [输入数据集中的未来值](#canvas-time-series-future)
+ [处理缺失值](#canvas-time-series-missing)
+ [预测类型](#canvas-time-series-types)
+ [用于预测见解的其他选项](canvas-additional-insights.md)