在可视化图表中进行预测

借助预测功能,分析师可以快速向新的或现有的“探索”查询添加数据预测,以帮助用户预测和监控特定数据点。您可以将预测结果和可视化图表添加到信息中心,并将其保存为 Looks。您还可以在嵌入的 Looker 内容中创建和查看预测结果和可视化结果。

如果您拥有创建预测的权限,则可以预测数据。

如何创建和显示预测结果

预测功能会使用“探索”数据表中的数据结果来计算未来的数据点。预测计算仅包含“探索”查询的显示结果;不会包含因行数限制而未显示的任何结果。如需详细了解用于计算预测的算法,请参阅本页中的 ARIMA 算法部分。

预测结果显示为现有“探索”可视化图表的延续,并受配置的可视化图表设置的约束。预测数据点与非预测数据点的区别如下:

  1. 受支持的直角坐标系图表中,预测数据点会以较浅的阴影或虚线的形式呈现,以便与非预测数据点区分开来。
  2. 支持的文本和表格图表类型中,预测数据点会以斜体显示,并会附加星号。

将光标悬停在预测数据点上时显示的提示中也会明确标识预测数据。

只有某些类型的可视化图表支持预测数据,如以下部分所述。

ARIMA 算法

预测功能利用自回归集成移动平均 (ARIMA) 算法来创建与输入预测的数据最匹配的方程。为了找到最佳匹配数据,Looker 会使用一组初始变量运行 ARIMA,创建初始变量的变体列表,然后使用这些变体再次运行 ARIMA。如果任何变体创建的方程更适合输入数据,Looker 会将这些变体用作新的初始变量,并创建其他变体以供评估。Looker 会继续重复此过程,直到找到最佳变量,或者所有选项或分配的计算时间用尽为止。

此过程可以视为一种遗传算法,在这种算法中,数百代中的个体会分别产生 1 到 10 个后代(基于父亲的不同变量),而最好的后代可以存活下来,从而创造“更好的”新生代。Looker 在遗传算法方法中使用多次 ARIMA 调用的方式称为 AutoARIMA

如需详细了解 AutoARIMA,请参阅 pmdarima 用户指南使用 auto_arima 的技巧部分。虽然这不是 Looker 用于运行 AutoARIMA 的库,但 pmdarima 可以提供有关该过程和所用不同变量的最佳说明。

支持的可视化图表类型

以下笛卡尔图表可用于呈现预测数据:

以下文本和表格图表类型支持呈现预测数据:

其他可视化类型(包括自定义可视化)目前无法呈现预测数据。

探索预测的查询要求

如需创建预测,探索必须满足以下要求:

  • 仅包含一个维度,该维度必须是时间范围维度,且已启用维度填充
  • 添加至少 1 个衡量指标或自定义衡量指标(一项预测最多可包含 5 个衡量指标或自定义衡量指标)
  • 按时间范围维度排序(降序)

需要考虑的事项

在创建新的探索查询以进行预测或向现有探索查询添加预测时,请考虑以下其他条件:

  • 数据透视 - 只要满足上述要求,您就可以对数据透视探索执行预测。
  • 行总计和小计 - 行总计和小计不包含预测值;我们不建议将小计或行总计与预测功能搭配使用,因为这可能会产生意外数字。
  • 包含不完整时间范围的过滤条件 - 为了准确进行预测,当“探索”包含不完整时间范围的数据时,才应结合使用预测功能与“探索”过滤条件中的完整时间范围逻辑结合使用。例如,如果用户预测未来某个月的数据,而“探索”工具过滤为显示过去三个月的数据,则“探索”工具会包含当前不完整月份的数据。预测时会将不完整的数据纳入计算,并显示更不可靠的结果。当探索包含不完整的时间范围(例如,探索包含当月的月度数据不完整)时,请改用“过去 3 个完整月份内”(而非“过去 3 个月内”)等过滤条件逻辑,以确保更准确的预测结果。
  • 表计算 - 基于一个或多个预测指标的表计算将自动包含在预测中。
  • 行数限制 - 了解行数限制如何应用于整个数据表(包括预测行)。

如需更多提示和问题排查资源,请参阅本页面的常见问题和注意事项部分。

通常,行数越多且预测长度越短的数据集,预测结果就越准确。

预测菜单选项

您可以使用预测菜单中的选项(位于探索可视化图表标签页上)自定义预测数据。预测菜单包含以下选项:

选择字段

选择字段下拉菜单会显示“探索”查询中可用于预测的测量或自定义测量。最多可选择 5 个测量或自定义测量。

长度

长度选项指示要预测数据值的行数或时间长度。系统会根据“探索”查询中的“时间范围”维度自动填充预测时长间隔。

通常,数据集行数越多,且预测长度越短,预测结果就越准确。

预测区间

通过预测间隔选项,分析师可以表达预测结果中的一些不确定性,以帮助提高准确性。启用预测间隔选项后,您可以选择预测数据值的边界。例如,预测区间为 95% 表示预测的测量值有 95% 的几率会落在预测的上限和下限之间。

所选预测区间越大,上限和下限就越宽。

季节性

季节性选项可让分析师在预测中说明已知周期或重复数据趋势,该选项是指相应周期内数据的行数。例如,如果“探索”数据表每小时占一行,且数据每天循环,则季节性变化为 24。

采用默认预测设置时,Looker 会引用“探索”中的日期维度,并扫描多个可能的季节性周期,以便找到与最终预测最匹配的周期。例如,使用小时级数据时,Looker 可能会尝试使用每日、每周和四周季节性周期。Looker 还会考虑维度的频率。如果某个维度代表 6 小时的时间段,Looker 会知道一天内只有四行数据,并相应地调整季节性变化。

对于常见用例,自动选项会检测给定数据集的最佳季节性变化。如果您知道数据集中的特定周期,可以使用自定义选项指定构成预测中各个衡量的循环的行数。

预测多个指标的数据值时,您可以为每个指标选择不同的季节性变化选项,包括“无”。季节性下拉菜单包含多个选项:

默认情况下,预测功能会将自动季节性选项应用于预测,即使未启用季节性选项也是如此。

自动

使用自动季节性变化选项时,Looker 会为您来自多个常见季节性时段(例如每日、每小时、每月等)的数据选择最佳选项。

自定义

如果您知道数据集中每个季节或周期的行数,则可以在时段字段中指定该行数。如果您知道您的数据周期会以特定的行数显示,则选择自定义可能会很有帮助。

如果您使用的是按月周期变化但以更精细粒度表示的数据(例如,在探索中使用日期粒度),通常 4 周或 30 天的时间段适合按月周期。

季节性是预测中的一个强大组成部分;不过,根据输入数据,不一定总是建议使用季节性。如果数据中没有可预测的周期,那么当算法尝试发现规律,然后尝试使假模式符合预测时,启用季节性变化可能偶尔会导致预测不准确。这可能会导致含糊不清的预测结果。

如果您要为多个衡量指标预测数据值,并且只想为一个或多个衡量指标启用季节性变化,则可以为您不想为其启用季节性的所有衡量指标选择

创建预测

只有拥有相应权限的用户才能创建预测。

如需创建预测,请按以下步骤操作:

  1. 确保您的探索符合预测要求。例如,用户希望为“探索”查询创建预测,其中包含按创建用户数从高到低排序的创建用户数用户数订单数。结果会显示截至 2019 年 12 月的数据。

  2. 在“探索”可视化标签页上,点击预测以打开预测菜单

  3. 点击选择字段下拉菜单,最多选择 5 个衡量指标或自定义衡量指标。示例中的用户选择了用户数订单数

  4. 时长字段中输入您要预测的未来时长。示例中的用户输入 6 个月。

  5. (可选)点击预测间隔季节性开关,以启用任一功能并自定义相关选项。示例中的用户未启用这两种选项。

  6. 点击菜单标签页中预测旁边的 x 以保存设置并退出菜单。

  7. 点击运行,以重新运行“探索”查询。(对预测进行任何更改后,您必须重新运行“探索”)。

现在,您的“探索”结果和可视化图表将显示指定时长的预测值。使用指定的选项后,示例“探索”页面会显示 2020 年 1 月至 2020 年 6 月这 6 个月内用户数订单数的预测数据。

由于预测计算取决于数据的排序顺序,因此在预测查询运行后,系统会停用排序功能。

修改预测

只有具备权限的用户才能修改预测。

如需修改预测,请执行以下操作:

  1. (可选)根据需要修改“探索”查询,以添加或移除不同的衡量标准或时间范围字段。确保您的“探索”功能符合预测要求
  2. 点击“探索”可视化图表标签页中的预测,打开预测菜单
  3. 点击选择字段下拉菜单,即可更改预测字段。如需移除预测字段,请执行以下操作:
    • 在展开的选择字段下拉菜单中,点击预测字段旁边的复选框,以从预测中移除这些字段。
    • 或者,在收起的选择字段菜单中,点击字段名称旁边的 x
  4. 根据需要在时长字段中修改要预测的未来特定时长
  5. 您可以选择点击预测间隔季节性开关,以启用任一功能并自定义关联的选项。
    • 如果预测间隔季节性已启用,系统会显示自定义设置。根据需要修改自定义设置,或选择开关,从预测中移除相应函数。
  6. 点击菜单标签页中预测旁边的 x 以保存设置并退出菜单。
  7. 点击运行以重新运行“探索”查询。(对预测数据进行任何更改后,您必须重新运行“探索”工具。)

现在,您的“探索”结果和可视化图表将显示修改后的预测结果。由于预测计算取决于数据的排序顺序,因此预测查询运行后,排序功能就会停用

移除预测

只有具备权限的用户才能移除预测。

如需从“探索”中移除预测,请执行以下操作:

  1. 在“探索”可视化标签页上,点击预测以打开预测菜单
  2. 点击预测菜单顶部的清除

系统会自动重新运行查询,以生成不应用预测结果的结果。

常见问题和注意事项

准确性如何?

预测的准确性取决于输入数据。Looker 的 AutoARIMA 实现可以做出非常准确的预测,从而成功结合输入数据中的许多细微差别。在某些情况下,算法会陷入输入数据中的奇怪模式,并在预测中过度强调这些模式。请务必提供足够的数据,并确保数据尽可能准确,以便充分发挥预测的作用。

无法生成预测

无法生成预测值的原因有很多。这些问题通常与输入数据量过少或请求的预测长度过长有关。这两个因素都没有特定限制,并且特定时长的预测没有确切比例所需的输入数据。输入数据越分散、越不可预测,AutoARIMA 算法就越难找到匹配项。生成预测最有效的方法是增加干净的输入数据量,确保季节性设置正确无误,并将预测时长缩短到仅适合所需的时长。使用预测间隔选项时,选择较短的间隔时间可能会有所帮助。

输入数据清理可能涉及:

  • 剪除不含数据的时间段的前导或尾随行
  • 通过选择更大的日期维度来减少数据集中的噪声
  • 更改对预测没有好处的过滤离群值

返回的查询结果不含预测数据,并且我收到了一条含糊不清的错误

这种情况不应发生;如果发生,请尝试从预测配置中移除相应指标,然后重新添加。

预报显示,但明显不正确或没有帮助

在这种情况下,最佳做法是添加更多输入数据,尽可能清理输入数据,还可以设置自定义季节性变化(如果您知道数据中的具体周期),或者选择来完全停用季节性选项。

清理输入数据可能涉及以下任务:

  • 修剪前导或尾随不包含数据的时间段的行
  • 通过选择更大的日期维度来减少数据集中的噪声
  • 更改不利于预测的过滤器离群值