借助预测功能,分析师可以快速向新的或现有的“探索”查询添加数据预测,以帮助用户预测和监控特定数据点。预测的探索结果和可视化图表可以添加到信息中心,并保存为 Look。您还可以在嵌入的 Looker 内容中创建和查看预测结果和可视化结果。
如果您拥有创建预测的权限,则可以预测数据。
预测结果的创建和显示方式
预测功能会使用“探索”数据表中的数据结果来计算未来的数据点。预测计算仅包含“探索”查询的显示结果;不会包含因行数限制而未显示的任何结果。如需详细了解用于计算预测的算法,请参阅本页中的 ARIMA 算法部分。
预测结果会作为现有“探索”可视化图表的延续显示,并受配置的可视化图表设置的约束。预测数据点与非预测数据点的区别如下:
- 在受支持的直角坐标系图表中,预测数据点会以较浅的阴影或虚线显示,以便与非预测数据点区分开来。
- 在受支持的文本和表格图表类型中,预测数据点会以斜体显示并附加星号。
当您将光标悬停在预测数据点上时,系统会显示一个提示,其中也会明确标识预测数据。
只有某些类型的可视化图表支持预测数据,如以下部分所述。
ARIMA 算法
预测功能利用自回归集成移动平均 (ARIMA) 算法来创建与输入预测的数据最匹配的方程。为了找到与数据最匹配的模型,Looker 会使用一组初始变量运行 ARIMA,创建初始变量的变体列表,然后使用这些变体再次运行 ARIMA。如果任何变体创建的方程更适合输入数据,Looker 会将这些变体用作新的初始变量,并创建其他变体以供评估。Looker 会继续重复此过程,直到确定最佳变量,或者所有选项或分配的计算时间用尽为止。
此过程可视为一种遗传算法,其中数百代个体各自会产生 1 到 10 个后代(基于父代的变量变化),而表现最佳的后代会存活下来,有可能产生“更优秀”的后代。Looker 在遗传算法方法中使用多次 ARIMA 调用的方式称为 AutoARIMA。
如需详细了解 AutoARIMA,请参阅 pmdarima 用户指南的使用 auto_arima
的技巧部分。虽然这不是 Looker 用于运行 AutoARIMA 的库,但 pmdarima 最能说明该过程以及所使用的不同变量。
支持的可视化图表类型
其他可视化图表类型(包括自定义可视化图表)目前无法呈现预测数据。
了解预测的查询要求
如需创建预测,探索必须满足以下要求:
需要考虑的事项
在创建新的探索查询以进行预测或向现有探索查询添加预测时,请考虑以下其他条件:
- 数据透视 - 只要满足上述要求,就可以对数据透视探索执行预测。
- 行总计和小计 - 行总计和小计不包含预测值;我们不建议将小计或行总计与预测功能搭配使用,因为这可能会产生意外数字。
- 包含不完整时间范围的过滤条件 - 为了获得准确的预测结果,当探索包含不完整时间范围的数据时,预测功能只能与探索过滤条件中的完整时间范围逻辑结合使用。例如,如果用户预测未来一个月的相关数据,而“探索”页面过滤条件设为显示过去三个月的相关数据,则“探索”页面会包含当前未结束月份的数据。预测功能会将不完整的数据纳入计算,并显示更不可靠的结果。当探索包含不完整的时间范围(例如,当探索包含当月不完整的月度数据)时,请改用过去 3 个月(而不是过去 3 个月)等过滤逻辑,以确保更准确地预测。
- 表计算 - 基于一个或多个预测指标的表计算将自动包含在预测中。
- 行数限制 - 了解行数限制如何应用于整个数据表(包括预测行)。
如需更多提示和问题排查资源,请参阅本页面的常见问题和注意事项部分。
通常,行数越多且预测长度越短的数据集,预测结果就越准确。
预测菜单选项
您可以使用“探索”可视化标签页上的预测菜单中的选项来自定义预测数据。预测菜单包含以下选项:
选择字段
选择字段下拉菜单会显示“探索”查询中可用于预测的测量或自定义测量。最多可选择 5 个测量或自定义测量。
长度
长度选项表示要预测的数据值的行数或时间长度。系统会根据“探索”查询中的“时间范围”维度自动填充预测时长间隔。
通常,行数越多且预测长度越短的数据集,预测结果就越准确。
预测区间
借助预测间隔选项,分析师可以表示预测中的不确定性,以提高准确性。启用预测间隔选项后,您可以选择预测数据值的边界。例如,预测区间为 95% 表示预测的测量值有 95% 的几率会落在预测的上限和下限之间。
所选预测区间越大,上限和下限就越宽。
季节性
借助季节性选项,分析师可以考虑预测中的已知周期或重复性数据趋势,该选项是指周期中的数据行数。例如,如果“探索”数据表格每小时包含一行数据,并且数据每天循环,则季节性为 24。
采用默认预测设置时,Looker 会引用“探索”中的日期维度,并扫描多个可能的季节性周期,以便找到与最终预测最匹配的周期。例如,使用小时数据时,Looker 可能会尝试使用每日、每周和四周季节性周期。Looker 还会考虑维度的频率。如果某个维度代表 6 小时的时间段,Looker 会知道一天内只有 4 行数据,并相应地调整季节性变化。
对于常见的使用情形,自动选项会为给定数据集检测最佳季节性变化。如果您知道数据集中的特定周期,则可以使用自定义选项,为预测中的各个测量指标指定构成一个周期的行数。
预测多个指标的数据值时,您可以为每个指标选择不同的季节性变化选项,包括“无”。 季节性下拉菜单包含多个选项:
预测功能默认会将自动季节性选项应用于预测,即使季节性选项未启用也是如此。
自动
借助自动季节性选项,Looker 会从多个常见的季节性周期(例如每天、每小时、每月等)中为您的数据选择最佳选项。
自定义
如果您知道数据集中每个季节或周期的行数,则可以在时段字段中指定该行数。如果您知道数据以特定行数循环,则选择自定义可能会很有帮助。
如果您使用的是按月周期变化但以更精细粒度表示的数据(例如,在“探索”中使用日期或周粒度),通常 4 周或 30 天的时间段适合按月周期。
无
季节性是预测中的一个强大组成部分;不过,根据输入数据,不一定总是建议使用季节性。如果数据中没有可预测的周期,启用季节性时,算法会尝试找到模式,然后尝试将错误的模式与预测结果相匹配,这可能会导致预测不准确。这可能会导致预测结果不明确。
当您预测多个指标的数据值时,如果只想为一个或几个指标启用季节性,则可以为不想启用季节性的所有指标选择无。
创建预测
只有拥有相应权限的用户才能创建预测。
如需创建预测,请按以下步骤操作:
确保您的“探索”功能符合预测要求。例如,用户希望为“探索”查询创建预测,该查询包含创建的用户数(月份)、用户数和订单数,且按创建的用户数(月份)从高到低排序。结果会显示截至 2019 年 12 月的数据。
在“探索”可视化标签页上,点击预测以打开预测菜单。
点击选择字段下拉菜单,最多选择 5 个要预测的指标或自定义指标。示例中的用户选择了用户数和订单数。
在长度字段中输入您要预测的未来时间长度。示例中的用户输入 6 个月。
点击菜单标签页中预测旁边的 x 以保存设置并退出菜单。
点击运行以重新运行“探索”查询。(对预测进行任何更改后,您必须重新运行“探索”)。
现在,“探索”结果和可视化图表将显示指定时段内的预测值。使用指定的选项后,示例“探索”页面会显示 2020 年 1 月至 2020 年 6 月这 6 个月内用户数和订单数的预测数据。
由于预测计算取决于数据的排序顺序,因此在预测查询运行后,系统会停用排序功能。
修改预测
只有具有相应权限的用户才能修改预测。
如需修改预测,请执行以下操作:
- (可选)根据需要修改“探索”查询,以添加或移除不同的衡量标准或时间范围字段。确保您的“探索”功能符合预测要求。
- 在“探索”可视化标签页上,点击预测以打开预测菜单。
- 点击选择字段下拉菜单,即可更改预测字段。如需移除预测字段,请执行以下操作:
- 点击展开的选择字段下拉菜单中要移除的预测字段旁边的复选框,即可将相应字段从预测中移除。
- 或者,在收起的选择字段菜单中,点击字段名称旁边的 x。
- 根据需要在时长字段中修改要预测的未来时长。
- 您可以选择点击预测间隔或季节性开关,以启用任一功能并自定义关联的选项。
- 如果预测间隔时间或季节性已启用,系统会显示相应自定义设置。根据需要修改自定义设置,或选择相应开关以从预测中移除该函数。
- 点击菜单标签页中预测旁边的 x 以保存设置并退出菜单。
- 点击运行以重新运行“探索”查询。(对预测做出任何更改后,您必须重新运行“探索”)。
您的“探索”结果和可视化图表现在会显示经过修改的预测结果。由于预测计算取决于数据的排序顺序,因此在预测查询运行后,系统会停用排序功能。
移除预测
只有拥有相应权限的用户才能移除预测。
如需从“探索”中移除预测,请执行以下操作:
- 在“探索”可视化标签页上,点击预测以打开预测菜单。
- 点击预测菜单顶部的清除。
系统会自动重新运行查询,以生成不应用预测结果的结果。
常见问题和须知事项
准确性如何?
预测的准确性取决于输入数据。Looker 的 AutoARIMA 实现可以做出非常准确的预测,成功结合输入数据中的许多细微差别。在某些情况下,算法会陷入输入数据中的奇怪模式,并在预测中过度强调这些模式。请确保提供足够的数据,并确保数据尽可能准确,以充分利用预测功能。
无法生成预测
无法生成预测值的原因有很多。这些问题通常与输入数据量过少或请求的预测长度过长有关。这两种因素没有具体限制,并且对于特定长度的预测,所需输入数据的确切比例也不存在。输入数据越分散、越不可预测,AutoARIMA 算法就越难找到匹配项。生成预测的最有效方法是增加干净的输入数据量,确保季节性设置正确无误,并将预测期限缩短到仅包含所需内容。使用预测间隔选项时,选择较短的时间间隔可能会有所帮助。
清理输入数据可能涉及:
- 剪除不含数据的时间段的前导或尾随行
- 通过选择更大的日期维度来减少数据集中的噪声
- 更改不利于预测的过滤器离群值
返回的查询结果不含预测数据,并且我收到了一条含糊不清的错误
这种情况不应发生;如果发生,请尝试从预测配置中移除相应指标,然后重新添加。
预报显示,但明显不正确或没有帮助
在这种情况下,最好的做法是添加更多输入数据,尽可能对其进行清理,并可能设置自定义季节性(如果您知道数据中的特定周期),或通过选择无来完全停用季节性选项。
清理输入数据可能涉及以下任务:
- 剪除不含数据的时间段的前导或尾随行
- 通过选择更大的日期维度来减少数据集中的噪声
- 更改不利于预测的过滤器离群值