销量预测中的误差指标分析

2018-09-14  本文已影响0人  胡拉哥

引言

本文介绍了一些销量预测相关的误差指标. 它们可以被分为两类: 绝对误差和绝对百分比误差. 前2节介绍销量预测问题及相关概念. 第3节我们介绍3种绝对误差, 并比较它们对异常值的敏感性. 由于绝对误差不适合比较多个商品或多个时段的预测结果, 在第4节我们介绍3种百分比误差. 在这一节, 我们重点强调了它们的优点和缺陷. 第5节是误差指标比较结果的汇总. 在第6节中, 我们用一个例子充分说明了百分比误差容易引发的问题, 并提醒读者在实际中必须确认预测目标与误差的一致性. 在第7节, 我们给出一些结论和实际使用中的建议.

1. 销量预测

销量预测问题是供应链管理中的一个基本问题. 销量预测可用来指导商品采购, 新品立项, 销售计划, 库存平衡和资源调度等业务. 因此, 预测"效果"的好坏 将直接影响这些业务的质量(注: 不同业务可能要求不同的预测"效果"). 我们一般用预测销量和真实销量之间的误差来评估销量预测结果或模型的好坏. 直观地讲, 预测销量与真实销量越"接近"则误差越小, 反之则误差越大.

为方便描述, 我们考虑如下简化的销量预测问题.

销量预测 预测一个商品未来1到n天的销量. 用x_ty_t分别代表商品第t天的实际销量和预测销量, 其中t=1, 2, ..., n. 因此我们需要估计实际销量\{x_1, x_2, ... x_n\}与预测销量\{y_1, y_2, ... y_n\}之间的误差.

2. 基本概念

首先考虑第t天的实际销量x_t和预测销量y_t. 定义两种误差:

我们通过一个简单的例子来比较两种误差.

例. 假设 x_1=1000, y_1= 1020, x_2=1, y_2=11.

3. 绝对误差

下面考虑实际销量\{x_1, x_2, ... x_n\}与预测销量\{y_1, y_2, ... y_n\}之间的误差指标. 我们先介绍三种绝对误差指标.

\text{GMAE} = \left(\Pi_{t=1}^n e_t\right)^{\frac{1}{n}}

\text{RMSE} = \sqrt{\frac{1}{n}\sum_{t=1}^n e_t^2}

误差比较

  1. 可以证明: \text{RMSE} \geq \text{MAE} \geq \text{GMAE}. 这个关系也体现了它们对异常值的敏感程度(从左到右, 从高到低).
  2. GMAE对异常值不太敏感, 其误差值比较稳定, 因而适合用来比较预测模型的优劣. 但它要求e_t\neq 0(否则GMAE=0). 此外, 由于需要开n次根, 其计算相对MAE耗时较大.
  3. RMSE和MAE对异常值比较敏感. 换句话说, 单个时段的绝对误差e_t可能会较大地影响整体误差, 从而导致误差值会随着预测值的变化呈现较大的波动. 因此, 在使用中我们需要先剔除异常值.
  4. 由于绝对误差依赖标度, 它们不适合用来比较不同商品或不同时期预测结果的误差水平.

4. 绝对百分比误差

为了克服绝对误差依赖标度的缺点, 一个自然的想法是考虑百分比误差. 在实际使用中, 人们常常盲目地使用直观易懂的误差指标(例如下文提到的MAPE), 并忽略了百分比误差自身的一些缺陷, 从而导致误差的降低并不能带来期望中预测效果的提升. 本节我们重点强调绝对百分比误差的缺陷以及使用时需要注意的事项.

4.1 平均绝对百分比误差(Mean Absolute Percentage Error - MAPE)

\text{MAPE} = \frac{1}{n}\sum_{t=1}^n p_t

4.2 对称的MAPE (Symmetric Mean Absolute Percentage Error - SMAPE)

为了弥补p_t的不对称性, M3-竞赛[1]和IJCAI-17[2]数据挖掘竞赛采用了所谓"对称的"MAPE作为误差评价指标. 定义如下:

\text{SMAPE} = \frac{1}{n} \sum_{t=1}^{n} p'_t, \quad \text{其中 } p'_t = \frac{200e_t}{x_t + y_t}.

4.3 反正切绝对百分比误差(Mean Arctangent Absolute Percentage Error - MAAPE)

Sungil Kim和Heeyoung Kim[3]提出了一个有意思的误差指标MAAPE. 与MAPE相比, 它把p_t/100 = e_t/x_t理解成直角三角形中的切角(见下图).

maape-motivation.png

因此\theta_t = \arctan(e_t/x_t). MAAPE即为\theta_t的均值:

\text{MAAPE} = \frac{1}{n}\sum_{t=1}^n \theta_t.

5. 误差指标汇比较结果汇总

绝对误差

误差指标 中文 优点 缺点 说明
MAE (算术)平均绝对误差 直观 对异常值敏感 需要确认预测的目标与误差指标是否一致
GMAE 几何平均绝对误差 对异常值不敏感 1. e_t\neq 0; 2. 计算相对耗时 需要确认预测的目标与误差指标是否一致
RMSE 根均方误差 - 对异常值非常敏感 需要确认基本假设(例如误差是正态分布)

绝对百分比误差

误差指标 中文 优点 缺点 说明
MAPE 平均百分比绝对误差 直观/容易计算 1. 对异常值敏感; 2. x_t\neq 0; 3. 预测值偏小 不推荐使用
SMAPE 对称的平均绝对百分比误差 1. 始终可计算; 2.形式上对称 1. 实际中预测值偏大; 2. 解释性差 需要确认预测的目标与误差指标是否一致
MAAPE 平均反正切绝对百分比误差 1. 始终可计算; 2. 有一定的解释性 预测值偏小 需要确认预测的目标与误差指标是否一致

说明

  1. 在实际中我们不能盲目地使用已知的误差指标, 也不存在"万金油"的误差指标. 我们采用(设计)的误差指标必须与业务目标一致. 即, 误差指标的提升会带来业务目标的提升.
  2. 使用百分比误差时, 必须注意误差指标会引发预测销量比实际销量偏小或者偏大的风险.

6. 示例

我们用一个简单的例子来说明百分比误差引起的预测值偏大或偏小的问题.

. 假设n=1000, 实际销量为1-100的均匀分布, 即x_t=t \mod 100, 其中t=1, 2, \ldots, n(若x_t=0, 令x_t=100). 我们的预测模型为y_t=k (k为1-100之间的整数).

下面考虑三种误差指标MAPE, SMAPE和MAAPE. 它们对应的最优预测结果如下图所示.

Fig. 最优预测结果
误差指标 最优k值 误差值 结论
MAPE 8 85.99 严重偏低(销量的均值为50.5)
SMAPE 56 56.33 偏高
MAAPE 41 0.5272 偏低

警告 MAPE是业界使用最多的误差指标, 其预测模型产生的预测结果会明显偏低, 因此我们在使用中一定要确认预测目标与误差指标的一致性!

7. 总结

  1. RMSE经常作为预测模型的误差指标(损失函数), 其理论依据是建立在误差满足正态分布的假设下. 首先我们要验证用于拟合的样本是否满足该条件. 其次, RMSE对异常值敏感, 为了获得稳定的效果, 我们一般需要对数据做一些平滑处理.
  2. 百分比误差MAPE(以及类似的变种)是被滥用的误差指标. 如果你正在使用, 请确保业务方了解该误差指标带来的风险.
  3. 没有万金油的误差指标, 应该根据自己实际的业务目标来确定销量预测的误差指标. 一个基本原则是确定误差指标的提升能带来业务的提升.
  4. 尽量不要使用单一的目标来衡量预测效果.
  5. 尽量不要使用单一的预测结果去支持多种业务.

参考文献


  1. S. Makridakis and M. Hibon. The m3-competition: Results, conclusions and implications.
    International Journal of Forecasting, 16:451-476, 2000.

  2. IJCAI' 17 Competition. https://tianchi.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.2f6f5933auxKS4&raceId=231591&_lang=zh_CN

  3. Sungil Kim and Heeyoung Kim. A new metric of absolute percentage error for intermit-
    tent demand forecasts. International Journal of Forecasting, 32:669-679, 2016.

上一篇 下一篇

猜你喜欢

热点阅读