预测误差度量实验解析

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

测量是通向控制和最终改进的第一步。——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的不对称性

编辑

修复了等高线图中的错误标签
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值