时间序列预测误差度量实验解析

本文通过系统实验分析四种预测误差度量方法(绝对误差、平方误差、百分比误差和对称误差),探讨它们在对称性、尺度依赖性和异常值敏感性等方面的特性,为时间序列预测模型评估提供实用指导。

预测误差度量:通过实验理解它们

度量是通向控制和最终改进的第一步。——H. James Harrington

在许多商业应用中,前瞻规划能力至关重要,在大多数此类场景中,我们使用预测来帮助规划未来。例如:如果我经营一家零售店,今天应该订购多少箱洗发水?查看预测。到年底我能实现财务目标吗?让我们预测并在必要时进行调整。如果我经营一家自行车租赁公司,明天下午4点需要在地铁站存放多少辆自行车?

如果我们在所有这些场景中都根据预测采取行动,那么我们还应该了解这些预测的质量。在经典统计学或机器学习中,我们有一些通用的损失函数,如平方误差或绝对误差。但由于时间序列预测的发展方式,有更多的方法来评估性能。

在这篇博客文章中,让我们通过实验探索不同的预测误差度量,并了解每种方法的缺点和优点。

时间序列预测中的度量标准

有几个关键点使时间序列预测中的度量标准与机器学习中的常规度量标准区别开来。

  1. 时间相关性 顾名思义,时间序列预测具有内置的时间方面,并且有一些度量标准(如累积预测误差或预测偏差)也考虑了这种时间方面。

  2. 聚合度量 在大多数商业用例中,我们不会预测单个时间序列,而是预测一组相关或无关的时间序列。高层管理人员不希望单独查看每个时间序列,而是希望有一个聚合度量,能够方向性地告诉他们预测工作的效果如何。即使对于从业者来说,这种聚合度量也有助于他们了解建模进展的总体情况。

  3. 过度预测或不足预测 预测的另一个关键方面是过度预测和不足预测的概念。我们不希望预测模型具有总是过度预测或不足预测的结构性偏差。为了应对这些问题,我们需要不偏向过度预测或不足预测的度量标准。

  4. 可解释性 最后一个方面是可解释性。因为这些度量标准也被非分析业务功能使用,所以需要可解释。

由于这些不同的用例,这个领域使用了很多度量标准,这里我们尝试在某种结构下统一它们,并批判性地检查它们。

预测度量的分类

我们可以将不同的预测度量大致分为两类——内在度量和外在度量。内在度量是仅使用生成的预测和真实值来计算度量的度量。外在度量是除了生成的预测和真实值之外,还使用外部参考预测来计算度量的度量。

现在让我们坚持使用内在度量(外在度量需要对这些度量采取完全不同的方法)。我们计算误差有四种主要方式——绝对误差、平方误差、百分比误差和对称误差。所有这些度量下的所有指标都只是这些基本误差的不同聚合。因此,在不失一般性的情况下,我们可以讨论这些广泛的部分,它们也适用于这些标题下的所有度量。

绝对误差

这类误差测量使用误差的绝对值作为基础。

平方误差

我们不取绝对值,而是对误差进行平方以使其为正,这是这些度量的基础。

百分比误差

在这类误差测量中,我们通过真实值缩放绝对误差,将其转换为百分比项。

对称误差

对称误差被提出作为百分比误差的替代方案,其中我们取预测和真实值的平均值作为缩放绝对误差的基础。

实验

与其只是说这些是某些度量的缺点和优点,不如设计一些实验,亲自看看这些优点和缺点是什么。

尺度依赖性

在这个实验中,我们尝试找出时间序列尺度在聚合度量中的影响。对于这个实验,我们:

  • 生成10000个不同尺度但具有相同误差的合成时间序列。
  • 将这些序列分成10个直方图箱
  • 样本大小=5000;遍历每个箱
  • 从当前箱中采样50%,其余从其他箱中均匀分布。
  • 计算这组时间序列的聚合度量
  • 记录箱下边缘
  • 绘制箱边缘的聚合度量。

对称性

误差度量应该对输入对称,即预测和真实值。如果我们交换预测和实际值,理想情况下误差度量应该返回相同的值。 为了测试这一点,让我们为实际值和预测制作一个0到10的网格,并在该网格上计算误差度量。

互补对

在这个实验中,我们取真实值和预测的互补对,它们加起来是一个常数,并测量每个点的性能。具体来说,我们使用与对称性实验相同的设置,并计算沿交叉对角线的点,其中真实值+预测总是加起来为10。

损失曲线

我们的度量取决于两个实体——预测和真实值。我们可以固定一个,并使用对称误差范围(例如-10到10)改变另一个,然后我们期望度量在该范围的两侧表现相同。在我们的实验中,我们选择固定真实值,因为在现实中,那是固定量,我们正在根据真实值测量预测。

过度和不足预测实验

在这个实验中,我们生成4个随机时间序列——真实值、基线预测、低预测和高预测。这些只是在范围内生成的随机数。真实值和基线预测是在2和4之间生成的随机数。低预测是在0和3之间生成的随机数,高预测是在3和6之间生成的随机数。在这种设置下,基线预测应该作为我们的基线,低预测是我们持续不足预测的预测,高预测是我们持续过度预测的预测。现在让我们计算这三个预测的MAPE,并重复实验1000次。

10000次实验中的一个样本

异常值影响

为了检查对异常值的影响,我们设置了以下实验。 我们想检查异常值在两个轴上的相对影响——异常值的数量、异常值的规模。所以我们定义一个网格——异常值的数量[0%-40%]和异常值的规模[0到2]。然后我们随机选择一个合成时间序列,并根据我们之前定义的网格参数迭代引入异常值,并记录误差度量。

结果与讨论

绝对误差

对称性

这是一个很好的对称热图。我们看到沿对角线零误差,并且更高的误差以良好的对称模式远离对角线展开。

损失曲线

再次对称。如果我们在曲线的两侧移动,MAE同样变化。

互补对

再次好消息。如果我们改变预测,保持实际值不变,反之亦然,度量的变化也是对称的。

过度和不足预测

正如预期,过度或不足预测在MAE中没有太大区别。两者都受到同等惩罚。

尺度依赖性

这是MAE的阿喀琉斯之踵。在这里,随着我们增加时间序列的基本水平,我们可以看到MAE线性增加。这意味着当我们在时间序列之间比较性能时,这不是你想要使用的度量。例如,当比较两个时间序列,一个水平为5,另一个水平为100,使用MAE总是会将更高的误差分配给水平为100的时间序列。另一个例子是当你想比较时间序列集的不同子部分以查看误差更高的地方(例如不同的产品类别等),那么使用MAE总是会告诉你平均销售额较高的子部分也会有较高的MAE,但这并不意味着该子部分表现不佳。

平方误差

对称性

平方误差也显示出我们寻找的对称性。但这里可以看到的另一点是误差偏向更高的误差。颜色的分布从对角线开始不像我们在绝对误差中看到的那样均匀。这是因为平方误差(由于平方项)将更高的影响分配给更高的误差而不是更低的误差。这也是为什么平方误差通常更容易因异常值而失真。

旁注:由于平方误差和绝对误差也被用作许多机器学习算法中的损失函数,这也对此类算法的训练有影响。如果我们选择平方误差损失,我们对较小的误差不太敏感,而对较高的误差更敏感。如果我们选择绝对误差,我们同等惩罚较高和较低的误差,因此单个异常值不会那么影响总损失。

损失曲线

我们在这里也可以看到相同的模式。它围绕原点对称,但由于二次形式,较高的误差与较低的误差相比具有不成比例的更多误差。

互补对 相同的故事。对称,但是二次的。

过度和不足预测

类似于MAE,由于对称性,过度和不足预测具有几乎相同的影响。

尺度依赖性

类似于MAE,RMSE也有尺度依赖性问题,这意味着我们为MAE讨论的所有缺点也适用于这里,但更糟。我们可以看到,当我们增加尺度时,RMSE以二次方式缩放。

百分比误差

百分比误差是行业中最流行的误差度量。它非常流行的几个原因是:

  • 尺度独立——正如我们在之前的尺度依赖图中看到的,随着我们增加时间序列的尺度,MAPE线是平坦的。
  • 可解释性——由于误差表示为百分比项,这是非常流行和可解释的,误差度量也立即变得可解释。如果我们说RMSE是32,它本身没有任何意义。但另一方面,如果我们说MAPE是20%,我们立即知道预测的好坏。

对称性

现在看起来不对,是吗?百分比误差,其中最流行的,看起来根本不对称。事实上,我们可以看到,当实际值接近零时误差达到峰值,当实际值为零时趋于无穷大(底部无色的带是因为除以零而误差无穷大)。

我们在这里可以看到百分比误差的两个缺点:

  • 当真实值为零时未定义(因为除以零)
  • 当真实值较低时分配更高的误差(右上角)

让我们看看损失曲线和互补对图以了解更多。

损失曲线

突然,我们看到的不对称性不再存在。如果我们保持真实值固定,百分比误差围绕原点对称。

互补对

但当我们看互补对时,我们看到我们早先在热图中看到的不对称性。当实际值较低时,相同的误差比预测较低时的相同误差具有更高的百分比误差。

所有这些都是因为我们采取的缩放基础。即使我们有相同大小的误差,如果真实值低,百分比误差就会高,反之亦然。例如,让我们回顾两种情况: F = 8, A=2 –> 绝对百分比误差 = F=2, A=8 –> 绝对百分比误差 =

有无数的论文和博客声称百分比误差的不对称性是一个致命问题。流行的说法是,绝对百分比误差惩罚过度预测多于不足预测,或者换句话说,它激励不足预测。

反对这一点的论点是,这种不对称性只是因为我们改变了真实值。对于期望值为2的时间序列,误差6比期望值为6的时间序列误差2严重得多。所以根据这种直觉,百分比误差正在做它应该做的事情,不是吗?

过度和不足预测

不完全是。在某些层面上,对百分比误差的批评是合理的。这里我们看到,我们不足预测的预测始终具有比过度预测的预测更低的MAPE。低MAPE的分布也显著低于其他。但是否意味着就业务而言,总是预测较低侧的预测是更好的预测?绝对不是。在供应链中,这会导致缺货,如果你想在市场上保持竞争力,这不是你想要的位置。

对称误差

对称误差被提出作为百分比误差的更好替代方案。百分比误差有两个关键缺点——当真实值为零时未定义和不对称性。对称误差提议通过使用真实值和预测的平均值作为计算百分比误差的基础来解决这两个问题。

对称性

马上,我们可以看到这围绕对角线对称,几乎类似于绝对误差的对称情况。底部空白的条现在有颜色(这意味着它们不是未定义的)。但仔细看会发现更多。它围绕第二对角线不对称。我们看到当实际值和预测都低时误差更高。

损失曲线

这在损失曲线中进一步明显。我们可以看到当我们在原点两侧增加误差时的不对称性。与名称相反,对称误差惩罚不足预测多于过度预测。

互补对

但当我们看互补对时,我们可以看到它是完美对称的。这可能是因为基础,我们保持恒定。

过度和不足预测

我们在这里也可以看到相同的情况。过度预测序列始终具有比不足预测序列更低的误差。因此,在努力规范化百分比误差对不足预测的偏差时,对称误差走向了另一个方向,并偏向过度预测。

异常值影响

除了上述实验,我们还进行了一个实验来检查异常值(单个预测严重偏离)对聚合度量的影响。

所有四种误差度量在异常值方面都有类似的行为。异常值的数量比异常值的规模有更大的影响。

在这四种中,RMSE受异常值的影响最大。我们可以看到等高线间隔很远,显示当我们引入异常值时变化率很高。在光谱的另一端,我们有sMAPE,受异常值的影响最小。从平坦且紧密间隔的等高线可以明显看出。MAE和MAPE行为几乎相似,可能MAPE稍微好一点。

总结

最后,没有一种度量能满足误差度量的所有要求。根据用例,我们需要选择和挑选。在四种内在度量(及其所有聚合如MAPE、MAE等)中,如果我们不关心可解释性和尺度依赖性,我们应该选择绝对误差度量(这也是一个一般性陈述。绝对和平方误差度量的可靠性存在问题)。当我们寻找尺度无关的度量时,百分比误差是我们拥有的最好的(即使有所有缺点)。在这种情况下,外在误差度量如缩放误差提供了更好的替代方案(也许在另一篇博客文章中我也会涵盖那些)。

所有重现实验的代码都在我的github存储库中: https://github.com/manujosephv/forecast_metrics/tree/master

查看系列中的其余文章

  • 预测误差度量:通过实验理解它们
  • 预测误差度量:缩放、相对和其他误差
  • 预测误差度量:间歇性需求

特色图片来源

进一步阅读

  • Shcherbakov等人,2013年,预测误差度量调查
  • Goodwin & Lawton,1999年,论对称MAPE的不对称性

编辑

修复了等高线图中的错误标签

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计