可视化图表中的预测

借助预测功能,分析人员可以快速将数据预测添加到新的或现有的“探索”查询中,以帮助用户预测和监控特定数据点。您可以将预测结果和可视化图表添加到信息中心,并将其保存为 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 就会知道一天只有 4 行,并会相应地调整季节性变化。

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

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

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

自动

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

自定义

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

如果您处理的数据以月为单位,但以更细致的方式表示(例如,在“探索”中使用“日期”或“周”粒度),那么 4 周或 30 天时间段通常对应于月度周期。

季节性变化是预测的一个强大组成部分;但是,根据输入数据的不同,我们并不总是建议您这样做。如果数据中没有可预测的周期,那么启用季节性变化可能偶尔会导致预测结果不准确,因为在这种情况下,算法会试图找到某种规律,然后尝试使该假模式符合预测结果。这可能会导致含糊不清的预测结果。

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

创建预测

只有具备权限的用户才能创建预测。

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

  1. 确保您的探索符合预测要求。例如,某用户希望为“探索”查询创建预测,该查询按“创建月份数量”和“订单数量”(按“创建月份数量”降序排列)。结果会显示截至 2019 年 12 月的数据。

  2. 点击“探索”可视化图表标签页中的预测,打开预测菜单

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

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

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

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

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

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

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

修改预测

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

若要修改预测,请执行以下操作:

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

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

移除预测

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

若要从“探索”中移除某项预测,请执行以下操作:

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

该查询将自动重新运行以生成结果,但不应用预测。

常见问题和须知事项

准确度如何?

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

无法生成预测

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

输入数据清理可能涉及:

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

系统返回的查询结果没有预测,但我收到了一个不为人知的错误

这种情况应该不会发生;如果确实发生了,请尝试从预测配置中移除一个或多个衡量指标,然后重新添加。

系统会显示预测结果,但这些信息明显有误或没有帮助

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

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

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