你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
AutoML 中用于时序预测的滞后特征
本文介绍 Azure 机器学习中的自动化机器学习 (AutoML) 如何创建延迟和滚动窗口聚合来帮助预测时序回归模型。 AutoML 功能使用历史模型数据,通过帮助模型及时学习相关模式,从而显著提高模型准确性。
如果有兴趣详细了解 AutoML 中的预测方法,请参阅 AutoML 中的预测方法概述一文。 若要浏览 AutoML 中预测模型的训练示例,请参阅设置 AutoML 以使用 SDK 和 CLI 训练时序预测模型。
AutoML 试验中的滞后特征化
AutoML 生成与预测范围对应的滞后特征。 本部分探讨 AutoML 中的延迟特征化,该模型的预测范围为 3,目标滞后顺序为 1。 下表显示了每月时序的模型数据和滞后特征。
表 1:原始时序
日期 | $y_t$ |
---|---|
1/1/2001 | 0 |
2/1/2001 | 10 |
3/1/2001 | 20 |
4/1/2001 | 30 |
5/1/2001 | 40 |
6/1/2001 | 50 |
首先,仅为范围 $h=1$ 生成滞后特征。 后续表演示了该过程为何使用单个范围来完成滞后特征化。
表 2:范围 $h=1$ 的滞后特征化
日期 | $y_t$ | 源 | $y_{t-1}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 12/1/2000 | - | 1 |
2/1/2001 | 10 | 1/1/2001 | 0 | 1 |
3/1/2001 | 20 | 2/1/2001 | 10 | 1 |
4/1/2001 | 30 | 3/1/2001 | 20 | 1 |
5/1/2001 | 40 | 4/1/2001 | 30 | 1 |
6/1/2001 | 50 | 5/1/2001 | 40 | 1 |
AutoML 通过将 $y_t$ 列向下移动一个观察值,从表 1 中的数据生成表 2 中的数据。 表 2 到 5 包括原始列,用于显示滞后特征开始的日期。
接下来,仅为预测范围 $h=2$ 生成滞后特征。
表 3:预测范围 $h=2$ 的滞后特征化
日期 | $y_t$ | 源 | $y_{t-2}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 11/1/2000 | - | 2 |
2/1/2001 | 10 | 12/1/2000 | - | 2 |
3/1/2001 | 20 | 1/1/2001 | 0 | 2 |
4/1/2001 | 30 | 2/1/2001 | 10 | 2 |
5/1/2001 | 40 | 3/1/2001 | 20 | 2 |
6/1/2001 | 50 | 4/1/2001 | 30 | 2 |
AutoML 通过将 $y_t$ 列向下移动两个观察值,从表 1 中的数据生成表 3 中的数据。
接下来,仅为预测范围 $h=3$ 生成滞后特征。
表 4:预测范围 $h=3$ 的滞后特征化
日期 | $y_t$ | 源 | $y_{t-3}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 10/1/2000 | - | 3 |
2/1/2001 | 10 | 11/1/2000 | - | 3 |
3/1/2001 | 20 | 12/1/2000 | - | 3 |
4/1/2001 | 30 | 1/1/2001 | 0 | 3 |
5/1/2001 | 40 | 2/1/2001 | 10 | 3 |
6/1/2001 | 50 | 3/1/2001 | 20 | 3 |
最后一步连接表 1、2 和 3 中的数据,并重新排列各行。
表 5:完整的滞后特征化
日期 | $y_t$ | 源 | $y_{t-1}^{(h)}$ | $h$ |
---|---|---|---|---|
1/1/2001 | 0 | 12/1/2000 | - | 1 |
1/1/2001 | 0 | 11/1/2000 | - | 2 |
1/1/2001 | 0 | 10/1/2000 | - | 3 |
2/1/2001 | 10 | 1/1/2001 | 0 | 1 |
2/1/2001 | 10 | 12/1/2000 | - | 2 |
2/1/2001 | 10 | 11/1/2000 | - | 3 |
3/1/2001 | 20 | 2/1/2001 | 10 | 1 |
3/1/2001 | 20 | 1/1/2001 | 0 | 2 |
3/1/2001 | 20 | 12/1/2000 | - | 3 |
4/1/2001 | 30 | 3/1/2001 | 20 | 1 |
4/1/2001 | 30 | 2/1/2001 | 10 | 2 |
4/1/2001 | 30 | 1/1/2001 | 0 | 3 |
5/1/2001 | 40 | 4/1/2001 | 30 | 1 |
5/1/2001 | 40 | 3/1/2001 | 20 | 2 |
5/1/2001 | 40 | 2/1/2001 | 10 | 3 |
6/1/2001 | 50 | 4/1/2001 | 40 | 1 |
6/1/2001 | 50 | 4/1/2001 | 30 | 2 |
6/1/2001 | 50 | 3/1/2001 | 20 | 3 |
在表 5 中,滞后列的名称更改为 $y_{t-1}^{(h)}$,以反映滞后性是根据特定范围生成的。 表 5 显示,我们根据范围生成的滞后性可以对应于前面表中生成滞后性的传统方式。
表 5 是由 AutoML 应用于训练数据,以便能够从回归模型直接预测的数据扩充示例。 当配置包含滞后特征时,AutoML 会创建范围相关的滞后性,以及整数值边际特征。 AutoML 的预测回归模型可以在范围 $h$ 做出预测,而无需考虑 $h-1$ 的预测,这与递归定义的模型(例如 ARIMA)形成了对比。
滞后特征化的注意事项
对于模型,存在一些与滞后特征化相关的注意事项。 查看以下部分,确定方案的潜在操作。
数据集大小增长
当 AutoML 生成与范围相关的滞后特征时,它会向模型数据集添加新的行。 新行数与预测范围成正比。
这种数据集大小的增长可能导致较小的计算节点出现内存不足错误,或者在数据集大小已经很大时出现此类错误。 可以在 AutoML 预测常见问题解答中找到此问题的解决方案。
延迟顺序和预测范围分离
AutoML 滞后策略将滞后顺序和预测范围分离。 假设预测范围为 7,并且希望 AutoML 使用滞后功能。 在此方案中,要确保在完整预测范围内进行预测,无需将滞后顺序设置为 7。 由于 AutoML 会根据范围生成滞后,因此可以将滞后顺序设置为 1。 AutoML 增加了数据,因此任何订单的滞后在预测范围都有效。