本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon C SageMaker anvas 中的时间序列预测
注意
时间序列预测模型仅支持表格数据集。
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 年
输入数据集中的未来值
Canvas 会自动检测数据集中可能包含未来值的列。如果存在这些值,则可以提高预测的准确性。Canvas 用Future values
标签标记这些特定的列。Canvas 会推断出这些列中的数据与您要预测的目标列之间的关系,并利用这种关系来生成更准确的预测。
例如,您可以预测一家杂货店的冰淇淋销售量。要进行预测,必须有一个时间戳列和一个指示杂货店卖出多少冰淇淋的列。为了获得更准确的预测,您的数据集还可以包括价格、环境温度、冰淇淋口味或冰淇淋的唯一标识符。
天气转暖后,冰淇淋的销量可能会增加。冰淇淋价格下降可能会导致销售量增加。如果有一列环境温度数据和一列定价数据,就能提高预测杂货店冰淇淋销量的能力。
虽然提供未来值是可选的,但这有助于您直接在 Canvas 应用程序中执行假设分析,向您展示未来值的变化会如何改变您的预测。
处理缺失值
由于不同的原因,您可能缺少数据。数据缺失的原因可能会影响您希望 Canvas 如何估算数据。例如,您的组织可能使用自动系统,该系统只在发生销售时才进行跟踪。如果您使用的数据集来自此类自动系统,则目标列中会有缺失值。
重要
如果目标列中有缺失值,我们建议使用没有缺失值的数据集。 SageMaker Canvas 使用目标列来预测未来的值。目标列中的缺失值会大大降低预测的准确性。
对于数据集中的缺失值,Canvas 会在目标列中填入 0
,并在其他数值列中填入该列的中值,从而自动估算缺失值。
不过,您可以为数据集中的目标列和其他数值列选择自己的填充逻辑。目标列的填充准则和限制不同于其他数值列。目标列填写至历史时期结束,而数值列则填写至历史时期和未来时期,直至预测范围结束。只有当数据中至少有一条记录带有未来时间戳和特定列的值时,Canvas 才会在数值列中填写未来值。
您可以选择以下填充逻辑选项之一来估算数据中的缺失值:
-
zero
– 填充0
。 -
NaN
– 填充 NaN,即非数字。这仅支持目标列。 -
mean
– 填充数据序列的平均值。 -
median
– 填充数据序列的中值。 -
min
– 填充数据序列的最小值。 -
max
– 填充数据序列的最大值。
选择填充逻辑时,应考虑模型如何解释该逻辑。例如,在零售场景中,记录有货商品的零销售额与记录无货商品的零销售额是不同的,因为后者并不一定意味着顾客对无货商品缺乏兴趣。在这种情况下,在数据集的目标列中填入 0
可能会导致模型的预测偏差过大,并推断出顾客对无货商品缺乏兴趣。反之,填充 NaN
可能会导致模型忽略有货商品中零卖出的真实情况。
预测类型
您可以进行以下类型的预测之一:
-
单个项目
-
所有项目
对于数据集中所有项目的预测, SageMaker Canvas 会返回对数据集中每个项目的未来值的预测。
对于单个物料的预测,您可以指定该物料, SageMaker Canvas 会返回对未来值的预测。预测包括一个折线图,描绘出预测值随时间变化的情况。