Tableau 中的预测工作原理

Tableau 中的预测使用一种称为“指数平滑”的技术。预测算法尝试在度量找到可延续到将来的一种固定模式。如果您对预测建模(也在 Tableau 中提供)感兴趣,请参见预测建模函数在 Tableau 中的工作方式

您通常向包含日期字段和至少一个度量的视图中添加预测。但是,在缺少日期的情况下,Tableau 也可以为除了至少一个度量外还包含具有整数值的维度的视图创建预测。

有关创建预测的详细信息,请参见创建预测。有关使用整数维度进行预测的详细信息,请参见在视图中没有日期时进行预测

概述

所有预测算法都是实际数据生成过程 (DGP) 的简单模型。为获得高质量预测,DGP 中的简单模式必须与模型所描述的模式很好地匹配。质量指标衡量模型与 DGP 的匹配程度。如果质量较低,则由置信区间测量的精度并不重要,因为它衡量的是不准确估计的精度。

Tableau 自动选择最多 8 个模型中最佳的那一个,最佳模型是生成最高质量预测的模型。在 Tableau 评估预测质量之前,会优化每个模型的平滑参数。优化方法是全局的。因此,选择的本地最佳的平滑参数也可能是全局范围内最佳的。不过,初始值参数将根据最佳做法进行选择,但不会进一步优化。因此,初始值参数可能不是最佳的。Tableau 中提供的 8 个模型属于 OTexts 网站上的以下位置中所介绍的那些模型的一部分:指数平滑方法的分类。(链接在新窗口中打开)

当可视化项中的数据不足时,Tableau 会自动尝试以更精细的时间粒度进行预测,然后将预测聚合回可视化项的粒度。Tableau 提供可以从闭合式方程模拟或计算的预测区间。所有具有累乘组件或具有集合预测的模型都具有模拟区间,而所有其他模型则使用闭合式方程。

指数平滑和趋势

指数平滑 模型从某一固定时间系列的过去值的加权平均值,以迭代方式预测该系列的未来值。最简模型(简单指数平滑)从上一个实际值和上一个级别值来计算下一个级别值或平滑值。该方法之所以是指数方法,是因为每个级别的值都受前一个实际值的影响,影响程度呈指数下降,即值越新权重越大。

当要预测的度量在进行预测的时间段内呈现出趋势或季节性时,带趋势或季节组件的指数平滑模型十分有效。趋势 就是数据随时间增加或减小的趋势。季节性 是指值的重复和可预测的变化,例如,每年中各季节的温度波动。

通常,时间系列中的数据点越多,所产生的预测就越准确。如果您要对季节性建模,则具有足够的数据尤为重要,因为模型越复杂,就需要越多数据形式的证明,才能达到合理的精度级别。另一方面,如果您使用两个或更多不同 DGP 生成的数据进行预测,则得到的预测质量将较低,因为一个模型只能匹配一个。

季节性

Tableau 针对一个季节周期进行测试,具有对于估计预测的时间系列而言最典型的时间长度。这样,如果您按月聚合,则 Tableau 将寻找 12 个月的周期;如果您按季度聚合,则 Tableau 将寻找 4 个季度的周期;如果您按天聚合,则 Tableau 将寻找每周季节性。因此,如果您的按月时间系列中有一个 6 个月的周期,则 Tableau 可能会寻找一个 12 个月模式,其中包含两个类似的子模式。但是,如果您的按月时间系列中有一个 7 个月的周期,则 Tableau 可能找不到任何周期。幸运的是,以 7 个月为周期的情况并不常见。

Tableau 可以使用两种方法中的任一方法来派生季节长度。原始时间度量法使用视图时间粒度 (TG) 的自然季节长度。时间粒度意指视图表示的最精细时间单位。举例来说,如果视图包含截断到月的绿色连续日期或蓝色离散年和月日期部分,则视图的时间粒度为月。随 Tableau 9.3 引入的新的非时间度量法使用周期回归来检查从 2 到 60 的季节长度中是否有候选长度。

Tableau 会自动针对给定视图选择最适合的方法。当 Tableau 使用日期对视图中的度量进行排序时,如果时间粒度为季度、月、周、天或小时,则季节长度将几乎肯定分别是 4、12、13、7 或 24。因此,只会使用时间粒度的自然长度来构建 Tableau 支持的五个季节指数平滑模型。将对五个季节模型和三个非季节模型的 AIC 进行比较,并返回最低值。(有关 AIC 指标的说明,请参见“预测描述”。)

如果 Tableau 使用整数维度进行预测,则使用第二种方法。此情况下没有时间粒度 (TG),因此必须从数据中派生可能的季节长度。

如果时间粒度为年,则也会使用第二种方法。年度系列很少有季节性,但如果它们确实有季节性,则也必须派生自数据。

对于时间粒度为分钟或秒的视图,也使用第二种方法。如果此类系列有季节性,则季节长度可能为 60。但是,在测量定期的真实流程时,该流程可能会有与时钟不对应的定期重复。因此,对于分钟和秒,Tableau 也会检查数据中与 60 不同的长度。这并不意味着 Tableau 可以同时对两个不同的季节长度建模。而是会预估十个季节模型,其中五个的季节长度为 60,另五个的季节长度派生自数据。十个季节模型或三个非季节模型中的哪个模型具有最低的 AIC,就将使用该模型来计算预测。

对于按年、分钟或秒排序的系列,如果模式相当清晰,就将测试数据中的单一季节长度。对于按整数排序的系列,将会为所有五个季节模型预估九个不太清晰的季节长度,并返回 AIC 最低的模型。如果没有适合的候选季节长度,则只会预估非季节模型。

由于 Tableau 在从数据派生可能的季节长度时所有选择都是自动的,因此“预测选项”对话框的“模型类型”菜单中的默认模型类型“自动”不会更改。选择“自动不带季节性”可避免搜索所有季节长度和预估季节模型,从而可提高性能。

Tableau 用于决定何时使用派生自数据的季节长度的启发法取决于每个候选季节长度的周期回归的误差分布。在数据中实际存在季节性的情况下,由于通过周期回归候选季节长度通常生成一两个明显达到要求的长度,返回单个候选长度即表示可能有季节性。在这种情况下,Tableau 将为年、分钟和秒粒度使用此候选长度预估季节模型。返回的候选长度少于最大值 10 表明可能有季节性。在这种情况下,Tableau 将为按整数排序的视图使用所有返回的候选长度预估季节模型。返回最大数量的候选长度表明大多数长度的误差类似。因此,不可能存在任何季节性。在这种情况下,Tableau 只会为按整数排序或按年排序的系列预估非季节模型,并且只会为其他按时间排序的视图使用自然时间长度预估季节模型。

对于按整数、年、分钟和秒排序的视图中的模型类型“自动”,不管是否使用候选时间长度,它们始终派生自数据。由于模型预估与周期回归相比所花费的时间要多很多,因此性能影响应保持适度。

模型类型

在“预测选项”对话框中,可以选择 Tableau 用于预测的模型类型。对于大多数视图,“自动”设置通常是最佳设置。如果选择“自定义”,则可以单独指定趋势和季节特征,选择“无”“累加”“累乘”

累加模型是对各模型组件的贡献求和,而累乘模型是至少将一些组件的贡献相乘。当趋势或季节性受数据级别(数量)影响时,累乘模式可以大幅改善数据预测质量:

请注意,您不需要创建自定义模型即可生成累乘预测:“自动”设置可以确定累乘预测是否适合您的数据。但是,当要预测的度量包含一个或多个小于或等于零的值时,将无法计算累乘模型。

使用时间进行预测

在使用日期进行预测时,视图中只能有一个基准日期。支持部分日期,并且所有部分均必须引用同一基础字段。日期可以位于“行”“列”“标记”上(工具提示目标除外)。

Tableau 支持三种类型的日期,其中两种类型可用于预测:

  • 截断日期引用历史记录中具有特定时间粒度的某个特定时间点,例如 2017 年 2 月。它们通常是连续的,在视图中具有绿色背景。截断日期可用于预测。

  • 日期部分是指时间度量的特定成员,例如二月。每个日期部分都由一个通常为离散的不同字段(带有蓝色背景)表示。预测至少需要一个“年”日期部分。具体而言,它可以使用以下任何日期部分组合来进行预测:

    • 年 + 季度

    • 年 + 月

    • 年 + 季度 + 月

    • 年 + 周

    • 自定义:月/年、月/日/年

    其他日期部分(例如“季度”“季度 + 月”无法用于预测。有关不同日期类型的更多详细信息,请参见在离散和连续之间转换字段

  • 确切日期是指历史记录中具有最大时间粒度的特定时间点,例如 2012 年 2 月 1 日 14:23:45.0。确切日期无法用于预测。

也可以在没有日期的情况下进行预测。请参见在视图中没有日期时进行预测

粒度和修剪

在创建预测时,您需要选择一个日期维度,它指定了度量日期值所采用的时间单位。Tableau 日期支持一系列这样的时间单位,包括“年”、“季度”、“月”和“天”。为日期值选择的单位称为日期的粒度

度量中的数据通常并不是与粒度单位完全一致。您可能会将日期值设置为季度,但实际数据可能在一个季度的中间(例如,在 11 月末)终止。这可能会产生问题,因为这个不完整季度的值会被预测模型视为完整季度,而不完整季度的值通常比完整季度的值要小。如果允许预测模型考虑此数据,则产生的预测将不准确。解决方法是修剪该数据,从而忽略可能会误导预测的末端周期。使用“预测选项”对话框中的“忽略最后”选项来移除(或者说修剪)掉这样的部分周期。默认设置是修剪一个周期。

获取更多数据

Tableau 需要时间系列中具有至少 5 个数据点才能预测趋势,以及具有用于至少两个季节或一个季节加五个周期的足够数据点才能估计季节性。例如,需要至少 9 个数据点才能估计具有一个四季度季节周期 (4 + 5) 的模型,需要至少 24 个数据点才能估计具有一个 12 个月季节周期 (2 * 12) 的模型。

如果您针对不具有支持准确预测的足够数据点的视图启用预测,则 Tableau 有时会为了实现更精细的粒度级别来查询数据源,从而提取足够数据点来产生有效预测:

  • 如果视图中包含少于 9 年的数据,则在默认情况下,Tableau 将查询数据源以获取每个季度的数据,按季度估计预测,并聚合为按年的预测结果以显示在视图中。如果仍然没有足够数据点,则 Tableau 将按月估计预测,并将聚合后的按年预测结果返回到视图。

  • 如果视图中包含少于 9 个季度的数据,则在默认情况下,Tableau 将按月估计预测并将聚合后的按季度预测结果返回到视图。

  • 如果视图中包含少于 9 周的数据,则在默认情况下,Tableau 将按天进行预测并将聚合后的按周预测结果返回到视图。

  • 如果视图中包含少于 9 天的数据,则默认情况下,Tableau 将按小时估计预测并将聚合后的按天预测结果返回到视图。

  • 如果视图中包含少于 9 小时的数据,则默认情况下,Tableau 将按分钟估计预测并将聚合后的按小时预测结果返回到视图。

  • 如果视图中包含少于 9 分钟的数据,则默认情况下,Tableau 将按秒估计预测并将聚合后的按分钟预测结果返回到视图。

这些调整都在后台进行,无需进行配置。Tableau 不会更改可视化项的外观,实际上也不会更改日期值。不过,“预测描述”和“预测选项”对话框中的预测时间段摘要将反映出所使用的实际粒度。

仅当要预测的度量的聚合是 SUM 或 COUNT 时,Tableau 才能获取更多数据。有关可用聚合类型和如何更改聚合类型的信息,请参见Tableau 中的数据聚合

感谢您的反馈!您的反馈已成功提交。谢谢!