预测误差评估:间歇需求
在之前的几篇博客文章中,我们已经了解了实践中使用的所有流行预测评估方法。但它们都真正专注于平稳和稳定的时间序列。但在现实生活中,存在一种完全不同的时间序列类型——间歇性和集中性需求。
间歇性时间序列分类
通常,我们称间歇性序列为具有大量零需求时期的序列,即零星需求。Syntetos和Boylan(2005)提出了一种更正式的时间序列分类方法。他们使用时间序列的两个参数进行分类——平均需求间隔和变异系数的平方。
平均需求间隔是两个非零需求之间的平均时间间隔。即,如果时间序列的ADI为1.9,则意味着平均每1.9个时间段我们就会看到一个非零需求。
ADI是间歇性的度量;该值越高,序列的间歇性就越强。
变异系数是标准化的标准差。我们计算标准差,然后通过序列的平均值对其进行缩放,以防止尺度依赖性。
这显示了时间序列的变异性。如果较高,则意味着序列的变异性也较高。
基于这两个需求特征,Syntetos和Boylan从理论上推导出了定义行为类型显著变化的临界值。他们将间歇性临界值定义为1.32,将临界值定义为0.49。使用这些临界值,他们定义了高值和低值,然后将两者放在一起形成一个网格,将时间序列分为平稳型、波动型、间歇型和集中型。
我们讨论过的预测评估方法主要都是为处理平稳和波动时间序列而设计的。但在现实世界中,间歇性和集中性时间序列要多得多。典型的例子是备件销售、零售的长尾销售等。
传统误差评估方法的不适用性
间歇性和集中性序列的单一决定性特征是零需求的次数。这给我们目前所见的大多数评估方法造成了严重问题。
由于除以零(现在几乎是必然发生的),所有百分比误差(例如MAPE)都变得不稳定。类似地,相对误差(例如MRAE),我们使用参考预测来缩放误差,也变得不稳定,特别是在使用朴素预测作为参考时。发生这种情况是因为会有多个时期出现零需求,这将创建零参考误差,因此是未定义的。
sMAPE是针对这种除以零的情况设计的,但当零需求数量增加时,sMAPE也有问题。而且我们从之前的探索中知道,当预测远高于实际值或反之亦然时,sMAPE会存在问题。而在间歇性需求的情况下,这种情况比比皆是。例如,对于零需求,一种方法预测为1,另一种方法预测为10,结果都是200%。
新的推荐误差评估方法
累积预测误差 (CFE, CFE最小值, CFE最大值)
我们之前已经见过累积预测误差(也称为预测偏差)。它只是整个时间范围内的带符号误差,因此负误差和正误差相互抵消。这对供应链中的库存过高或过低有直接影响。Peter Wallström[1]也提倡使用CFE最大值和CFE最小值。CFE为零也可能是偶然发生的,并且在大的时间范围内,我们会遗漏中间的大量细节。因此,他建议结合CFE最大值和CFE最小值来查看CFE,它们是时间范围内CFE的最大值和最小值。
更优百分比(PBMAE, PBRMSE等)
我们已经见过更优百分比。这也是用于间歇性需求的一个相当不错的评估方法。它没有数值不稳定的问题,并且到处都有定义。但它不测量误差的大小,而是测量误差的数量。
缺货次数 (NOS和NOSp)
通常,为了追踪预测是否存在偏差,我们使用跟踪信号(即CFE/MAD)。但设置用于触发警告的限制(+/- 4)是在需求呈正态分布的假设下得出的。在间歇性需求的情况下,它不呈正态分布,因此该触发器会发出大量误报。
另一种替代方法是缺货次数评估方法,更常见的是缺货次数百分比。它只是计算累积预测误差大于零导致缺货的实例数量。非常高的数字或低的数字表示任一方向的偏差。
库存周期 (PIS)
NOS无法识别系统性误差,因为它不考虑库存结转的时间维度。PIS更进一步,测量预测物品在库存中花费的总周期数或缺货周期数。
为了理解PIS的工作原理,我们举个例子。
假设在三天的时间范围内,每天预测一个单位。在第一周期开始时,一个物品被交付到虚构的库存中(与现实相比,这是一种简化)。如果第一天没有需求,则结果为加一个PIS。当发生需求时,从预测中减去需求。第1期的需求为1导致第1期的PIS为零,CFE为-1。如果三个周期内的需求为零,则第3期的PIS等于加六。第一天的物品已经在库存中存放了三天,第二天的物品已经在库存中存放了两天,最后一件物品已经在库存中存放了一天。
正数表示需求预测过高,负数表示需求预测不足。它可以很容易地计算为CFE的累积和,即图中条形图下的面积。
库存导向的预测误差成本(SPEC)
SPEC是一种较新的评估方法(Martin等人,2020年[4]),它试图走与库存周期相同的路线,但稍微更复杂。
虽然起初看起来令人生畏,但我们可以直观地理解它。计算的关键由两个内部最小值项处理——机会成本和库存持有成本。这是我们在供应链库存管理视角下需要平衡的两种成本。
左侧项衡量因预测不足而产生的机会成本。这是如果我们有足够库存本可以实现的销售额。例如,如果需求是10,而我们只预测了5,那么我们就有5的机会损失。现在,假设我们在过去三个时间段一直预测为5,并且没有需求,然后出现了10的需求。所以我们有15的库存,我们满足了10。所以在这里,没有机会成本。我们还可以说,一个时间段的机会成本不会大于该时间段的需求。结合这些条件,我们得到了等式的第一项,它衡量机会成本。
使用与之前相同的逻辑,但将其反转,我们可以推导出库存持有成本(我们预测过高的情况)的类似方程。这由等式中的右侧项处理。
单个时间步的SPEC实际上会查看所有先前的时间步,计算每个时间步的机会成本和库存持有成本,并将它们相加以得出单个数字。在任何时间步,要么有机会成本,要么有库存持有成本,这又取决于直到该时间步的累积预测和实际值。
而时间序列预测时间范围的SPEC是所有时间步的平均值。
现在有两个项,让我们可以对机会成本和库存持有成本应用不同的权重,根据组织的策略,我们可以选择正确类型的权重。建议是将权重之和保持为1,并且是零售环境中的常见选择。
这样做的一个缺点是时间复杂度。我们需要嵌套循环来计算这个评估指标,这使得计算速度很慢。
实现可在此处获得——https://github.com/DominikMartin/spec_metric
平均反正切绝对百分比误差 (MAAPE)
这是对MAPE公式的一个巧妙技巧,避免了它的一个主要问题——在零处未定义。在解决这个问题的同时,这种改变也使其对称。
想法很简单。我们知道,
所以,如果我们考虑一个三角形,其邻边和对边分别等于A和|A-F|,则绝对百分比误差无非是斜边的斜率。
斜率可以测量为比率,范围从0到无穷大,也可以测量为角度,范围从0到90。作为比率的斜率是传统的绝对百分比误差,非常流行。因此,该论文提出了作为角度的斜率作为一个稳定的替代方案。那些还记得三角学的人会记得:
该论文将其命名为反正切绝对百分比误差,并将平均反正切绝对误差定义为:
其中
arctan在所有实数值(从负无穷到正无穷)上都有定义。当。因此,通过扩展,当APE范围从,AAPE范围从。这使得它到处都有定义,并且在这方面是稳健的。
我们之前看到的对称性测试给出了以下结果(来自论文)
我们可以看到,我们在APE中看到的不对称性在这里不那么明显。我们之前看到的互补图,如果我们将AAPE与APE进行比较,我们会发现它的形状要好得多。
我们可以看到AAPE仍然倾向于预测不足,但不像APE那样严重,因此可能更有用。
相对平均绝对误差和相对均方误差 (RelMAE和RelMSE)
这些是相对评估方法,将预测的误差与参考预测(在大多数用例中是朴素预测或更正式地说是随机游走预测)的误差进行比较。
缩放误差(MASE)
我们之前也见过MASE,并且知道它是如何定义的。我们通过参考预测的平均MAE来缩放误差。Davidenko和Fildes,2013年[3]表明,MASE无非是相对MAE的加权平均值,权重是误差项的数量。这意味着同时包含MASE和RelMAE可能是多余的。但无论如何,让我们检查一下它们。
实验
让我们选择一个真实的数据集,运行ARIMA、ETS和Croston,以零预测作为基线,并使用GluonTS计算所有这些评估方法。
数据集
我选择了UCI机器学习库中的零售数据集。这是一个跨国数据集,包含2010年12月1日至2011年12月9日期间为一家总部位于英国并注册的无店铺在线零售商发生的所有交易。该公司主要销售独特的全场合礼品。该公司的许多客户是批发商。
列:
- InvoiceNo:发票号码。名义上的,一个6位整数,唯一分配给每笔交易。如果此代码以字母“c”开头,则表示取消。
- StockCode:产品(物品)代码。名义上的,一个5位整数,唯一分配给每个不同的产品。
- Description:产品(物品)名称。名义上的。
- Quantity:每笔交易中每个产品(物品)的数量。数值型。
- InvoiceDate:发票日期和时间。数值型,生成每笔交易的日期和时间。
- UnitPrice:单价。数值型,以英镑计的单位产品价格。
- CustomerID:客户编号。名义上的,一个5位整数,唯一分配给每个客户。
- Country:国家名称。名义上的,每个客户居住的国家名称。
预处理:
- 按StockCode、Country、InvoiceDate分组 -> 数量的总和,以及单价的平均值
- 填充零以使时间序列连续
- 将数量的下限裁剪为0(移除负值)
- 仅取长度大于52天的时间序列
- 训练测试拆分日期:2011-11-01
统计:
- 时间序列数量:3828。过滤后:3671
- 数量:平均值=3.76,最大值=12540,最小值=0,中位数=0
- 严重偏向零
时间序列分割
使用我们之前讨论的相同分割——间歇性、集中性、平稳性和波动性——我将数据集分为四部分。
我们可以看到,数据集中几乎98%的时间序列要么是间歇性的,要么是集中性的,这对于我们的用例来说是完美的。
结果
每种评估方法的预测方法排名
我们包括了零预测作为一种试金石,它将告诉我们在用于间歇性需求时,我们应该警惕哪些预测评估方法。
我们可以看到sMAPE、RelMAE、MAE、MAPE、MASE和ND(即体积加权的MAPE)都倾向于零预测,并将其评为最佳预测方法。但当我们查看与库存相关的评估方法(如CFE、PIS等,用于测量预测中的系统性偏差)时,零预测是表现最差的。
本应在间歇性需求中表现更好的MASE也失败了,并将零预测评为最佳。基于这些评估方法选择预测方法的危险在于,我们最终预测得过低,这将严重破坏下游的计划任务。
令人惊讶的是,ETS和ARIMA表现相当好(优于Croston),当我们在PIS、MSE、CFE、NOSp等评估方法上查看时,分别排名第一和第二。
Croston仅在查看MAAPE、MRAE和CFE_min时表现良好。
排名相关性(汇总)
我们基于所有这些不同的评估方法对不同的预测方法进行了排名。如果一组评估方法测量的是同一事物,那么这些排名也会显示出良好的相关性。因此,让我们计算这些排名的斯皮尔曼等级相关性,看看哪些评估方法彼此一致。
我们可以看到两大组评估方法,它们内部正相关,而组间负相关。MAE、MRAE、MASE、MAPE、RelMAPE、ND和sMAPE属于一组,而MSE、RMSE、CFE、PIS、SPEC_0.75、SPEC_0.5、SPEC_0.25、NOSp、PBMAE、RelRMSE和NRMSE属于另一组。MAAPE和CFE_min也属于第二组,但相关性较弱。
这两组是否测量了预测的不同特征?
排名相关性(项目级别)
现在让我们在项目级别查看评估方法之间的一致性,而不是汇总级别。例如,对于我们正在预测的每个项目,我们基于这些不同的评估方法对预测方法进行排名,并对这些排名运行斯皮尔曼等级相关性。
与汇总级别视图类似,在这里我们也可以找到两组评估方法,但与汇总级别相反,我们无法发现两组之间存在强烈的负相关。SPEC_0.5(我们给予机会成本和库存持有成本相等权重)和PIS显示出高度相关性,主要是因为它们在概念上是相同的。
载荷图
另一种可视化和理解不同评估方法相似性的方法是使用项目级别的评估方法,并运行二维PCA。并绘制指向我们使用PCA提取的两个分量的原始特征的方向。它显示了原始变量如何贡献于创建主成分。因此,如果我们假设两个PCA分量是我们在谈论预测“准确性”时测量的主要“属性”,那么载荷图会向您展示这些不同特征(评估方法)如何贡献于它,包括幅度和方向。
在这里,我们可以看到关系更加具体化。大多数评估方法围绕两个分量聚集在一起。MAE、MSE、RMSE、CFE、CFE_max和SPEC评估方法在载荷图中占据相似的空间,看起来它是“预测偏差”的分量,因为CFE和SPEC评估方法主导了这个分量。PIS在另一侧,与CFE几乎成180度,因为PIS的符号。
另一个分量可能是“准确性”分量。这由RelRMSE、MASE、MAAPE、MRAE等主导。MAPE似乎跨越了两个分量,MAAPE也是如此。
我们还可以看到sMAPE可能测量的是完全不同的东西,比如NOSp和CFE_min。
由于符号的原因,PIS与CFE、SPEC_0.5和SPEC_0.75成180度,但它们测量的是同一事物。SPEC_0.25(我们给予机会成本0.25的权重)显示出与另一组更多的相似性,可能是因为由于库存持有成本的沉重惩罚,它倾向于预测不足。
结论和建议
在这篇简短的博客文章中,我们没有做很多实验(不如Peter Wallström的论文[1]多),但无论我们做了什么,都已经向我们展示了很多。我们知道不要依赖像sMAPE、RelMAE、MAE、MAPE、MASE这样的评估方法,因为它们给零预测最好的排名。我们也知道没有单一的评估方法可以告诉你整个故事。如果我们只看像MAPE这样的东西,我们并没有测量预测中的结构性偏差。而如果我们只看CFE,当情况并非如此时,它可能会显示出一片光明的景象。
让我快速总结一下Peter Wallström论文中的发现(以及我自己的一些结论)。
- MSE和CFE,即使它们在载荷图中出现在同一位置,但在不同的预测方法中并没有一致地显示这种关系。我们在我们的载荷图中也可以看到同样的情况。对于Croston和ETS,CFE远离第二个分量。
- MAE和MSE密切相关,它们测量相同的变异性。并且由于MAE已显示出对零预测的亲和力,因此优选使用基于MSE的误差评估方法。
- CFE本身在测量预测偏差方面不是很可靠。它应该与像PIS或SPEC这样的评估方法配对使用,以获得完整的图像。当考虑一个时间点时,CFE可能掩盖偏差趋势。如果CFE值在绝对值上较低,则符号不会揭示任何偏差信息。当检查其他评估方法时,一个正的CFE(低估)可能只是一个随机数字,用于表示一种高估需求的方法。低CFE是在需求发生之后满足需求的结果,这是CFE无法追踪的。
- Peter还建议不要使用CFE_max和CFE_min,而推荐使用像PIS和NOSp这样的评估方法。
除此之外,SPEC分数和MAAPE(论文中未审查)也是合适的评估方法。
GitHub仓库 – https://github.com/manujosephv/forecast_metrics
查看本系列的其他文章
- 预测误差评估:通过实验理解它们
- 预测误差评估:缩放、相对和其他误差
- 预测误差评估:间歇性需求
参考文献
- Peter Wallström, 2009, 评估预测技术和预测误差,重点关注间歇性需求
- Kim等人,2016. 一种用于间歇性需求预测的绝对百分比误差新评估方法
- Davidenko & Fildes. 2013, 测量预测准确性:SKU级别需求预测的判断调整案例
- Martin等人,2013, 用于集中性和间歇性需求预测的新评估方法:库存导向的预测误差成本
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
878

被折叠的 条评论
为什么被折叠?



