使用 AutoAI 来创建时间序列试验,以预测指定日期或时间范围内的未来活动,例如股票价格或温度。
时间序列概述
时间序列试验是一种使用历史观测值来预测未来值的预测方法。 实验使用机器学习模型 (如随机森林回归和支持向量机 (SVM)) 以及统计时间序列模型 (如 ARIMA 和 Holt-Winters) 自动构建许多管道。 然后,该实验根据对一个坚持数据集或回测数据集评估的管道性能来推荐最佳管道。
与标准 AutoAI 试验不同,该试验构建了一组要完成的管道,然后对这些管道进行排序。 时间序列试验在此过程中的较早时间对管道进行评估,并且仅完成并测试性能最佳的管道。
有关训练和测试时间序列试验的各个阶段的详细信息,请参阅时间序列实现详细信息。
使用支持功能来改进预测
配置时间序列试验时,可以选择指定 支持功能部件,也称为 外源功能部件。 支持功能部件是影响或向预测目标添加上下文的功能部件。 例如,如果您正在预测冰激凌销量,那么每日温度将是一个逻辑支持功能,可使预测更准确。
利用未来支持功能的价值
如果您知道支持功能部件的未来值,那么可以在部署模型时利用这些未来值。 例如,如果您正在训练模型以预测未来的 T 恤销售,那么可以将促销折扣作为支持功能来增强预测。 输入促销的 未来值 ,然后使预测更准确。
数据需求
以下是训练时间序列实验的当前数据要求:
训练数据必须是 CSV 格式的单个文件。
该文件必须包含一个或多个时间序列列,并可以选择包含一个时间戳记列。 有关受支持的日期/时间格式的列表,请参阅 AutoAI 时间序列实现详细信息。
如果数据源包含时间戳记列,请确保以统一频率对数据进行采样。 即,相邻行的时间戳记之差相同。 例如,数据可以以 1 分钟, 1 小时或一天为增量。 指定的时间戳记用于确定回顾窗口以提高模型准确性。
注:如果文件大小大于 1 GB ,请按时间戳记按 降序 对数据进行排序,并且仅使用前 1 GB 来训练试验。
如果数据源不包含时间戳记列,请确保定期对数据进行采样,并根据采样日期/时间以 升序 顺序进行排序。 即,第一行中的值是最旧的,而最后一行中的值是最新的。
注: 如果文件大小大于 1 GB ,请截断该文件以使其小于 1 GB。选择在训练最终管道时要使用的数据。 如果选择仅包含训练数据,生成的 Notebook 将包含一个单元格,以检索用于评估每个管道的留出数据。
从项目中选择数据,或者从文件系统或资产浏览器上载数据,然后单击 继续。 单击数据源名称后的预览图标 查看数据。 (可选) 您可以添加第二个文件作为用于测试经过训练的管道的保留数据。
配置时间序列试验
配置试验的详细信息时,单击 是 以 启用时间序列 并完成试验详细信息。
字段 | 描述 |
---|---|
预测列 | 要基于先前值进行预测的时间序列列。 您可以指定一个或多个要预测的列。 |
日期/时间列 | 用于指示时间序列值出现日期/时间的列。 |
回顾窗口 | 用于指示要使用多少个先前时间序列值来预测当前时间点的参数。 |
预测窗口 | 要根据回顾窗口中的数据进行预测的范围。 |
预测摘要将向您显示试验类型以及为优化试验而选择的度量。
配置试验设置
要为时间序列试验配置更多详细信息,请单击 试验设置。
常规预测设置
在预测设置的 " 常规 " 面板上,可以选择更改用于优化试验的度量,或者指定要考虑的算法或要生成的管道数。
字段 | 描述 |
---|---|
预测类型 | 根据试验的预测列查看或更改预测类型。 对于时间序列实验,缺省情况下会选择 时间序列预测 。 注: 如果更改预测类型,那么将自动更改试验的其他预测设置。 |
优化度量 | 查看或更改试验的建议优化指标。 |
优化算法选择 | 不支持时间序列实验。 |
要包括的算法 | 根据您希望试验创建管道的算法进行选择。 支持使用支持功能的算法和管道由复选标记指示。 |
要完成的管道 | 查看或更改要为试验生成的管道数。 |
时间序列配置详细信息
在预测设置的 "时间序列" 窗格上,配置有关如何训练试验和生成预测的详细信息。
字段 | 描述 |
---|---|
日期/时间列 | 查看或更改试验的日期/时间列。 |
回顾窗口 | 查看或更新用于预测当前时间点的先前时间序列值的数量。 |
预测窗口 | 查看或更新要基于预测的范围。 |
配置数据源设置
要配置输入数据的详细信息,请单击 试验设置 ,然后选择 数据源。
常规数据源设置
在数据源设置的 " 常规 " 面板上,可以修改数据集以插入缺失值,将数据集拆分为训练和保留数据以及输入支持功能。
字段 | 描述 |
---|---|
重复行 | 不支持时间序列实验。 |
对数据进行二次采样 | 不支持时间序列实验。 |
文本特征工程 | 不支持时间序列实验。 |
最终训练数据集 | 选择在训练最终管道时要使用的数据: 仅训练数据或训练和保留数据。 如果选择仅包含训练数据,那么为此试验生成的 Notebook 将包含一个单元,用于检索用于评估每个管道的保留数据。 |
支持特征 | 从数据集中选择其他列作为支持功能,以支持预测并提高模型的准确性。 您还可以通过启用 利用支持功能部件的未来值来使用支持功能部件的未来值。 注: 只能将支持功能与所选算法和管道配合使用。 有关支持使用支持功能的算法和管道的更多信息,请参阅 时间序列实现详细信息。 |
数据插补 | 使用数据插补将数据集中的缺失值替换为替换值。 通过启用此选项,您可以指定应如何在数据中插入缺失值。 要了解有关数据插补的更多信息,请参阅 AutoAI 实验中的数据插补。 |
训练和坚持数据 | 选择从训练数据集中保留一些数据以测试试验。 或者,上载单独的保留数据文件。 holdout 数据文件必须与训练数据的模式匹配。 |
配置时间序列数据
要配置时间序列数据,您可以调整与 回测 试验相关的时间序列数据的设置。 回测提供了一种使用历史数据验证时间序列模型的方法。
在典型的机器学习试验中,您可以随机保留部分数据以测试所生成模型的准确性。 要验证时间序列模型,必须保留训练数据与测试数据之间的时间顺序关系。
以下步骤描述了回测方法:
- 根据回测数、间隔长度和保留大小来确定训练数据长度。 要了解有关这些参数的更多信息,请参阅 构建时间序列试验。
- 从最旧的数据开始,使用训练数据训练实验。
- 将根据第一个验证数据集对试验进行求值。 如果间隔长度非零,那么将跳过该间隔中的任何数据。
- 训练数据窗口通过增加保持大小和间隔长度来推进,以形成新的训练集。
- 将使用此新数据训练新实验,并使用下一个验证数据集进行评估。
- 对于剩余的回测周期,将重复前两个步骤。
要调整回测配置:
- 打开试验设置。
- 从 数据源中,单击 时间序列。
- (可选): 调整设置,如表中所示。
字段 | 描述 |
---|---|
回测数 | 回测类似于针对日期/时间段的交叉验证。 (可选)定制试验的回测数。 |
留出 | 用于回测的保留集和每个验证集的大小。 可通过更改保留长度来调整验证长度。 |
间隔长度 | 每个回测的训练数据集与验证数据集之间相隔的时间点数。 如果此参数值不为零,那么间隔中的时间序列值将不用于训练试验或评估当前回测。 |
配置设置的可视化说明了回测流。 图形是交互式的,因此您可以处理图形或配置字段中的设置。 例如,通过调整间隔长度,您可以看到针对较早时间段内的数据的模型验证结果,而不必增加回测的数量。
解释试验结果
运行时间序列试验后,您可以检查所生成的管道以获取有关试验详细信息的洞察。 使用支持功能部件的管道由 SUP 增强标记指示,以将它们与不使用这些功能部件的管道区分开来。 要查看详细信息:
- 在生成管道时,将鼠标指针悬停在可视化的节点上以获取有关管道的详细信息。
- 切换到“进度图”视图以查看训练过程的不同视图。 您可以将鼠标指针悬停在该过程中的每个节点上以获取详细信息。
- 完成最终管道并将其写入排行榜后,您可以单击某个管道以查看性能详细信息。
- 单击 查看废弃的管道 以查看用于未选择为最佳执行程序的管道的算法。
- 将试验代码另存为可查看的 Notebook。
- 将特定管道另存为可查看的 Notebook。
观看本视频,了解如何运行时间序列实验并在Jupyter笔记本中使用训练数据和保留数据创建模型。
此视频提供了一种可视方法来学习本文档中的概念和任务。
后续步骤
- 遵循逐步教程来 训练单变量时间序列模型以使用样本数据来预测最低温度。
- 遵循逐步教程以 使用支持功能部件训练时间序列试验。
- 了解如何对已部署的时间序列模型进行评分。
- 了解如何使用用于 AutoAI 时间序列试验的 API。
其他资源
- 有关使用AutoAI时间序列实验进行预测的介绍,请参阅博文Right on time(series):介绍Watson Studio的AutoAI时间序列。
- 有关创建时间序列实验的更多信息,请参阅本博文 "创建新的时间序列实验"。
- 阅读博文,了解如何为时间序列实验添加辅助功能。
- 查看带有辅助功能的时间序列实验笔记本样本。
- 阅读博文,了解如何使用 API 为时间序列实验添加支持功能。
后续步骤
父主题: AutoAI 概述