使用时间序列部署进行预测
部署并批准时间序列模型后,您可以创建特定于时间的预测。在本教程中,我们将在 ML 部署中创建一个预测配置,并使用它来运行批量预测。
到目前为止,我们已经使用每日销售数据创建了一个机器学习模型。该过程的目标是通过机器学习识别模式,并将其应用于新数据。
理解时间序列模型的预测
区分时间序列模型的预测工作方式非常重要,因为它与其他模型类型的预测不同。您完成准备您的应用程序数据集的步骤与其他模型类型的步骤不同。
对于时间序列模型,新预测是作为新行添加的,而不是作为单独的列添加。
创建应用程序数据集
本部分概述了如何为这个时间序列问题创建您的应用程序数据集。编译数据集行的实际过程未显示,但工作流已显示。
线性图,概述了用于使用时间序列预测模型生成预测的应用数据集所需的组件和时间线。

列结构
您的应用数据集需要包含与您部署的时间序列模型相同的架构。打开 ML 部署时可以找到该架构。
无论如何,应用数据集应包含与模型架构相同的列 — 换句话说,以下各项各占一列:
-
数据索引
-
目标
-
组
-
特征 (协变量)
行结构
您的数据集需要包含记录 (行),如下所示:
-
训练数据集中含有的所有列和列标题。
-
与训练数据集一样的时间步长。
-
截至预测截止时间之前,每个目标与组的历史数据记录数量,应与模型应用窗口中的记录数量相同或更多。这些记录必须完整,包含历史观测到的日期或时间戳、目标和协变量值。应用窗口由训练期间配置的预测窗口和间隔决定 — 您需要预测的未来时间越长,在应用数据集中运行预测所需要的历史数据就越多。
-
预测范围中全部未来时间步的记录。对于这些未来记录,只包含日期索引列的值以及任何未来特性。将其他列的值留空。
其他修改
您可能需要对数据集进行其他修改,以使其与模型架构匹配。特别是,分组功能在训练期间被选为组时,会自动转换为分类功能类型,以便它们可以作为组使用。在您的应用数据中,如果您有包含数值数据并将其用作组的功能,则需要转换它们的数据类型,以便将其识别为分类数据。这方面的一个示例显示在准备数据集。
准备数据集
本教程提供了一个已配置了所需的列和记录的应用数据集。但是,所提供的应用数据集包含一个数值列,store_nbr,该列在模型中被配置为一个组。所以,您需要创建一个脚本来将此列转换为字符串数据。
执行以下操作:
-
转到 分析 活动中心的“创建”页面,然后选择脚本。
-
为您的脚本输入一个名称,例如,转换后的应用数据。
-
为您的脚本选择一个空间。它需要与您存储原始应用数据集的空间相同。
-
单击创建。
-
在 脚本 中,切换到 编辑器。
-
在 部分 下,单击
以新增部分。
-
将下面的加载脚本粘贴到编辑器中。
-
单击 导出数据。
运行脚本以将应用数据集的新版本导出到 Qlik Cloud Analytics。

脚本运行后,一个新的应用数据集 Final transformed apply dataset.qvd应与原始应用数据集位于同一空间中。
创建预测
现在您已拥有兼容的应用数据集,请使用它从您的机器学习部署中创建预测。
执行以下操作:
-
在目录中,打开您在部署时间序列模型中创建的销售预测部署部署。
-
在右下角,单击创建预测。
-
在右侧的预测配置窗格中的应用数据下,单击选择应用数据集。
-
选择应用数据集文件: Final transformed apply dataset.qvd。
-
比较训练的模式并应用数据集。不应存在任何架构不匹配错误。
-
在预测配置窗格中,单击名称预测数据集。键入以下名称:ML - Sales predictions。使用默认的 Parquet 格式。
-
选择一个空间,然后单击确认。
Predict 配置,显示架构比较和配置面板。

单击保存和关闭边的 图标。选择现在保存并预测。
可以在数据集预测中监控该过程。您可以通过单击出现的弹出窗口中的打开来查看目录中的输出。
当预测运行完成后,创建一个应用程序以查看您的预测。转到下一个主题。