问题描述
我正在使用时间序列 AutoML 模型测试 Google Cloud Vertex AI。
我从 Biguery 表中创建了一个数据集,其中包含 2 列,其中一个是时间戳,另一个是我想要预测的数值:
salesorderdate
是我的 TIMESTAMP
列,orders
是我想要预测的值。
进行下一步时,我无法选择 orders
作为要预测的值,此字段没有可用选项:
我在这里错过了什么?在这种情况下,时间序列值 肯定是目标值吗?是否期望这里有更多的字段,并且可以通过这种方式将额外的特征作为列添加到时间序列模型中吗?
解决方法
我猜从你的问题来看你正在使用“预测模型”。请注意,它位于“预览”Product launch stage 中,并包含该事实的所有后果。
在文档中,您可以找到Training data structure以下信息:
- 必须至少有两列且不超过 1,000 列。
对于训练 AutoML 模型的数据集,一列必须是目标, 并且必须至少有一个特征可用于训练模型。 如果训练数据不包含目标列,Vertex AI 无法将训练数据与所需结果相关联。
我想您正在使用 AutoML 模型,因此在这种情况下,您需要在数据集中有 3 列:
- 时间列 - 用于放置该行表示的观察时间
- 时间序列标识符列为“预测训练数据通常包括多个时间序列”
- 和目标列,这是模型应该学习预测的值。
如果您想预测 orders
这应该是目标列。但是在您选择此目标之前,此“时间序列标识符列”已在上一步中选择,因此您没有可用的列可供选择。
因此,您需要向 BigQuery 表中添加至少一列将用作时间序列列。您可以在每行中使用相同的值添加到数据集列。这个概念在 Forecasting data preparation best practices:
中有介绍您可以在单个时间序列上训练预测模型(在其他 话,时间序列标识符列包含相同的值 所有行)。然而,Vertex AI 更适合训练数据 包含两个或更多时间序列。为了获得最佳结果,您应该在 用于训练模型的每一列至少有 10 个时间序列。
,根据 AutoML,目标列不能为空。
目标列的要求
目标列必须符合以下要求:
- 它必须是分类或数字。
- 如果是 Categorical,则它必须具有至少 2 个且不超过 500 个不同的值。
- 不能为空