预测误差度量:缩放误差、相对误差及其他误差
继上一篇关于标准绝对误差、平方误差和百分比误差的博客之后,让我们来看看时间序列预测中的替代方案——缩放误差、相对误差及其他误差度量方法。
预测误差度量的分类
缩放误差和相对误差都属于外部误差度量。它们依赖于另一个参考预测来评估自身,在实践中,参考预测通常是朴素预测或季节性朴素预测。除了这些误差,我们还将探讨诸如百分比更好、累积预测误差、跟踪信号等度量方法。
相对误差
当我们谈论相对误差时,主要有两种计算方式,Shcherbakov等人将其称为相对误差和相对度量。
相对误差是使用参考模型的预测作为基础来比较误差,而相对度量是使用参考基础模型的某种预测度量来计算误差。
相对误差的计算如下:
[ \text{Relative Error} = \frac{e_t}{e_t^*} ]
其中 ( e_t ) 是当前预测的误差,( e_t^* ) 是参考预测的误差。
类似地,相对度量的计算如下:
[ \text{Relative Measure} = \frac{\text{MAE}}{\text{MAE}^*} ]
其中 MAE 是预测的平均绝对误差,MAE* 是参考预测的 MAE。这个度量可以是任何值,不仅仅是 MAE。
相对误差基于参考预测,尽管最常用的是朴素预测,但并不总是如此。例如,如果我们有一个现有的预测试图改进,或者我们在开发周期中定义了基线预测,就可以使用相对度量。
一个明显的缺点是,当参考预测等于真实值时,它将未定义。这可能出现在非常稳定的时间序列或间歇性时间序列中,其中真实值重复出现,使得朴素预测等于真实值。
缩放误差
缩放误差由 Hyndman 和 Koehler 在 2006 年提出。他们建议基于朴素预测方法的样本内 MAE 来缩放误差。因此,我们不使用前一个时间步的真实值作为缩放因子,而是使用整个序列的平均绝对误差作为缩放因子。
[ \text{Scaled Error} = \frac{e_t}{\frac{1}{T-m} \sum_{i=m+1}^{T} |y_i - y_{i-m}|} ]
其中 ( e_t ) 是时间步 t 的误差,T 是时间序列的长度,( y_i ) 是时间步 i 的真实值,m 是偏移量。对于朴素预测,m=1。另一个常用的替代值是 m=12,例如对于 12 个月的季节性。
选择样本内 MAE 是因为它总是可用,并且比样本外 MAE 更可靠地估计尺度。
实验
在上一篇博客中,我们检查了尺度依赖性、对称性、损失曲线、过度和不足预测以及异常值的影响。但这次我们处理的是相对误差,因此绘制损失曲线不再容易,因为有三个输入:真实值、预测和参考预测,并且度量的值可能随着每个输入的变化而变化。我们仍然可以检查过度和不足预测以及异常值的影响。
损失曲线
损失曲线绘制为等高线图,以容纳三个维度——误差、参考预测和度量值。
我们可以看到误差在误差轴周围是对称的。如果保持参考预测不变并改变误差,度量在误差的两侧是对称的。这并不奇怪,因为所有这些误差都基于绝对误差,而绝对误差是对称的。
但这里有趣的是对参考预测的依赖性。相同的误差会导致不同的相对绝对误差值,具体取决于参考预测。
相对绝对误差的 3D 损失函数图
我们可以在曲线的 3D 图中看到相同的不对称性。但缩放误差在这里是不同的,因为它不直接依赖于参考预测,而是依赖于参考预测的平均绝对误差。因此,它具有绝对误差的良好对称性,并且对参考预测的依赖性非常小。
过度和不足预测
对于过度和不足预测实验,我们重复了上次的相同设置*,但针对这四种误差度量——平均相对绝对误差(MRAE)、平均绝对缩放误差(MASE)、相对平均绝对误差(RMAE)和相对均方根误差(RRMSE)。
*——有一个小变化,因为我们还添加了小于 1 的随机噪声,以确保连续的实际值不相同。在这种情况下,相对度量是未定义的。
我们可以看到这些缩放和相对误差没有偏爱过度或不足预测的问题。低预测和高预测的误差条同样糟糕。即使在基础误差偏爱其中之一的情况下(例如 MAPE),相对误差度量(RMAPE)也减少了这种“偏爱”,并使误差度量更加稳健。
我们注意到的另一件事是平均相对误差具有巨大的 spread(实际上我已经放大了图表以使其可读)。例如,中位数 baseline_rmae 是 2.79,最大 baseline_mrae 是 42k。这种巨大的 spread 表明平均相对绝对误差的可靠性较低。根据不同的样本,误差变化很大。这可能部分是因为我们使用参考预测的方式。如果真实值太接近参考预测(在这种情况下是朴素预测),误差将会高得多。通过使用中位数相对绝对误差(MdRAE),部分解决了这个缺点。
异常值影响
为了检查异常值的影响,我们还对 MRAE、MASE、RMAE 和 RRMSE 重复了上一篇博客中的相同实验。
其他误差
除了这些标准误差度量之外,还有一些专门用于处理预测中某些方面的度量,这些方面在我们目前所见的度量中没有得到适当覆盖。
百分比更好
在我们迄今为止看到的所有度量中,只有 MAPE 是我认为对非技术人员可解释的。但正如我们所看到的,MAPE 并不具有最佳属性。所有其他度量都没有直观地说明预测的好坏。百分比更好是获得这种可解释性的另一种尝试。
百分比更好(PB)也依赖于参考预测,并通过计算我们的预测误差度量优于参考预测误差的实例数量来度量我们的预测。
例如:
[ \text{PB} = \frac{1}{N} \sum_{t=1}^{N} I(\text{MAE} < \text{MAE}^*) ]
其中当 MAE > MAE* 时 I=0,当 MAE < MAE* 时 I=1,N 是实例数量。
类似地,我们可以将其扩展到任何其他误差度量。这使我们能够直观地了解与参考预测相比,我们的表现如何。这也对异常值具有相当的抵抗力,因为它只计算实例而不是测量或量化误差。
这也是一个关键缺点。我们只测量我们表现更好的次数。但它并不衡量我们表现更好或更差的程度。如果我们的误差比参考误差少 50% 或少 1%,对百分比更好分数的影响是相同的。
标准化 RMSE (nRMSE)
提出标准化 RMSE 是为了中和 RMSE 的尺度依赖性。一般思想是将 RMSE 除以一个标量,例如所有时间序列中的最大值,或最大值和最小值之间的差值,或所有真实值的平均值等。
由于除以最大值或最大值和最小值之间的差值容易受到异常值的影响,nRMSE 的流行用法是通过均值进行标准化。
[ \text{nRMSE} = \frac{\text{RMSE}}{\text{mean}(y)} ]
累积预测误差(又称预测偏差)
我们迄今为止看到的所有误差都侧重于惩罚误差,无论是正误差还是负误差。我们使用绝对或平方项来确保误差不会相互抵消,并描绘出比实际情况更美好的画面。
但通过这样做,我们也对预测的结构性问题视而不见。如果我们持续过度预测或不足预测,我们应该意识到并采取纠正措施。但我们迄今为止看到的度量都没有从这一角度考虑。
这就是预测偏差的用武之地。
[ \text{Forecast Bias} = \frac{\sum_{t=1}^{N} (y_t - \hat{y}t)}{\sum{t=1}^{N} y_t} \times 100% ]
虽然它看起来像百分比误差公式,但这里的关键是没有绝对项。因此,没有绝对项,我们累积实际值和预测值,并测量它们之间的差异作为百分比。这给出了直观的解释。如果我们看到 5% 的偏差,我们可以推断总体而言,我们不足预测了 5%。根据我们使用实际值 - 预测值还是预测值 - 实际值,解释是不同的,但精神相同。
如果我们在时间序列之间进行计算,那么我们还累积实际值和预测值,无论我们测量数据的哪一部分,并计算预测偏差。
总结
让我们将现在看到的误差度量添加到上次制作的总结表中。
我们再次看到,没有一种度量可以统治所有情况。根据情况可能有不同的选择,我们需要为特定目的进行挑选。
选择预测度量的经验法则和指南
我们已经看到,仅仅选择一个预测度量并在任何地方使用它并不容易。每种度量都有其自身的优点和缺点,我们的选择应该意识到所有这些。
话虽如此,有一些经验法则可以帮助您完成这个过程:
- 如果每个时间序列都在相同的尺度上,使用 MAE、RMSE 等。
- 如果时间序列有大的变化(即在我们测量的范围内,时间序列水平有巨大 shift),那么可以使用百分比更好或相对绝对误差等。
- 在跨时间序列汇总时,对于百分比更好或 APE 等度量,我们可以使用算术平均值(例如 MAPE)。对于相对误差,经验证明几何平均值具有更好的属性。但与此同时,它们也容易受到异常值的影响。我们可以通过以下几种方式控制异常值:
- 修剪异常值或将其从聚合计算中丢弃
- 使用中位数进行聚合(MdAPE)是控制异常值的另一种极端措施
- Winsorizing(用 cutoff 值替换异常值)是处理此类巨大个体误差案例的另一种方式。
关于预测方法泛化的误差度量:实证比较[2]
Armstrong 等人 1992 年进行了一项关于这些预测度量的广泛研究,使用 M 竞赛对 5 个子样本进行抽样,总计一组 90 个年度和 101 个季度序列及其预测。然后他们继续计算这些样本上的误差度量,并进行了一项研究来检验它们。
他们检验不同度量的关键维度是:
可靠性
可靠性谈论的是度量的重复应用是否产生相似的结果。为了测量这一点,他们首先计算了所有 5 个子样本(聚合水平)上不同预测方法的误差度量,并按性能对它们进行排名。他们对年度和季度序列进行了提前 1 步和提前 6 步的排名。
因此,他们计算了每个子样本的 Spearman 等级相关系数(成对)并取平均值。例如,我们取子样本 1 的排名与子样本 2 进行比较,然后子样本 1 与子样本 3 进行比较,等等,直到覆盖所有对,然后取平均值。
来源:Armstrong 等人。
基于 RMSE 的排名是最不可靠的,相关系数非常低。他们指出,只有当混合中有大量时间序列可能中和影响时,使用 RMSE 才能克服这种可靠性问题。
他们还发现,像百分比更好和 MdRAE 这样的相对度量比同类度量具有更高的可靠性。他们还尝试计算达到与百分比更好相同统计显著性所需的样本数量——GMRAE 需要 18 个序列,使用 MdRAE 需要 19 个,使用 MAPE 需要 49 个,使用 MdAPE 需要 55 个,使用 RMSE 需要 170 个。
结构效度
虽然可靠性衡量的是 consistency,但结构效度问的是一个度量是否确实衡量了它意图衡量的东西。这向我们展示了各种度量评估预测方法“准确性”的程度。为了比较这一点,他们检查了预测方法的排名,但这次他们比较了误差度量对之间的排名。例如,基于 RMSE 的排名与基于 MAPE 的排名有多少一致性?
来源:Armstrong 等人。
这些相关性受到结构效度和可靠性的影响。为了解释可靠性的变化,作者通过使用更多样本得出了相同的表格,并发现正如预期的那样,平均相关性从 0.34 增加到 0.68,表明这些度量实际上衡量了它们应该衡量的东西。
来源:Armstrong 等人。
作为有效性的最终测试,他们通过平均 90 个年度序列和 1010 个季度序列的完整样本中每个误差度量的排名来构建共识排名,然后检查每个个体误差度量排名与共识排名的相关性。
来源:Armstrong 等人。
RMSE 与共识的相关性最低。这可能是因为可靠性低。也可能是因为 RMSE 对较高误差的 emphasis。
百分比更好也显示出低相关性(尽管它具有高可靠性)。这可能是因为百分比更好是唯一不衡量误差幅度的度量。
敏感性
希望误差度量对变化的影响敏感,特别是对于参数校准或调整。当模型的参数发生变化时,度量应指示对“准确性”的影响。
中位数误差度量不敏感,百分比更好也不敏感。中位数聚合通过关注中间值来隐藏变化,并且只会缓慢变化。百分比更好不敏感,因为一旦序列表现优于参考,它就停止在度量中进行任何更多更改。它也不衡量我们是否将极差的预测改进到几乎与朴素预测一样准确的程度。
与决策制定的关系
论文明确指出,他们评估的度量都不理想用于决策制定。他们提出 RMSE 作为一个足够好的度量,并反对基于百分比的误差,理由是实际业务影响以美元发生,而不是百分比误差。但我不同意这一点,因为当我们客观评估预测以传达其表现好坏时,RMSE 根本不符合要求。如果我走到高层管理人员面前说财务预测的 RMSE 为 22343,那将会失败。但相反,如果我说准确性是 90%,每个人都会高兴。
我和论文都同意一点,相对误差度量与决策制定不那么相关。
选择误差度量的指南
为了帮助选择误差,论文还对他们确定的维度的不同度量进行了评分。
来源:Armstrong 等人。
对于参数调整
对于参数调整的校准,论文建议使用在敏感性方面评分高的度量之一——RMSE、MAPE 和 GMRAE。并且由于 RMSE 的低可靠性和 MAPE 偏爱低预测的问题,他们建议使用 GMRAE(几何平均相对绝对误差)。MASE 是在这篇论文发布之后提出的,因此它没有参与这些分析。但如果你想一想,MASE 也很敏感,并且不受我们在 RMSE 或 MAPE 中看到的问题的影响,可以成为校准的良好候选者。
对于预测方法选择
为了在预测方法之间进行选择,主要标准是可靠性、结构效度、对异常值的保护以及与决策制定的关系。敏感性在这种情况下并不那么重要。
论文立即驳回了 RMSE,因为它的可靠性低且缺乏对异常值的保护。当序列数量较少时,他们建议使用 MdRAE,它与 GMRAE 一样可靠,但提供额外的异常值保护。给定中等数量的序列,可靠性变得不那么重要,在这种情况下,MdAPE 将是一个合适的选择,因为它与决策制定的关系更密切。
结论
在两篇博客文章中,我们看到了很多预测度量,并了解了它们各自的优点和缺点。最后得出了一些在选择预测度量时可以遵循的经验法则。虽然不是结论性的,但我希望它在您进行这些决策时为您提供方向。
但所有这些都是在我们预测的时间序列稳定且平滑的假设下进行的。但在现实世界的业务案例中,也有很多间歇性或零星的时间序列。我们看到在非零需求之前有很长的零需求时期。在这种情况下,几乎所有的误差度量(可能除了 MASE)都失败了。在下一篇博客中,让我们看看一些适用于间歇性需求的不同度量。
实验的 Github 链接:https://github.com/manujosephv/forecast_metrics
更新 – 2020年10月4日
经过进一步阅读,偶然发现了一些对 MASE 的批评,认为也应该在这里提及。
有一些批评认为我们使用参考预测的平均 MAE 作为缩放误差项。Davidenko 和 Fildes(2013)[3] 声称这引入了高估参考预测准确性的偏差。换句话说,坏预测的惩罚大于好预测的奖励。
另一个批评源于平均值不是一个非常稳定的估计,并且可能被几个大值 swayed。
Davidenko 和 Fildes[3] 显示的另一个有趣的事实是,MASE 等价于相对 MAE 的加权算术平均值,其中可用误差值的数量是权重。
查看系列中的其余文章
- 预测误差度量:通过实验理解它们
- 预测误差度量:缩放误差、相对误差及其他误差
- 预测误差度量:间歇性需求
参考文献
- Shcherbakov 等人. 2013, 预测误差度量调查
- Armstrong 等人. 1992, 关于预测方法泛化的误差度量:实证比较
- Davidenko & Fildes. 2013, 衡量预测准确性:SKU 级需求预测判断调整的案例