MAPE(Mean Absolute Percentage Error)和WMAPE有何不同,为什么用WMAPE来评估销量预测

时间:2024-02-19 07:07:52

MAPE(Mean Absolute Percentage Error)平均绝对误差百分比:是用来做销量预测最常用的指标,在实际的线上线下销量预测中有着非常重要的评估意义。但是在实际的项目过程中发现,有些时候的指标并不能非常好的表示模型拟合的效果,因此对这部分进行了深入分析,发现有更优化的评价指标来度量销量预测问题。

MAPE公式如下:

MAPE=\frac{1}{n}\sum_{n}^{1}\frac{|{y}\'-y|}{y}

y{y}\'分别为真实值和预测值。

但是,这个指标存在两个问题:

  • 假如遇到除数为0的情况,这个指标就没法计算;
  • 由于 y 可能存在数量级上的差别,导致相同的误差 |{y}\' - y| 对最后的结果产生的影响存在数量级上的差别,这在某些实际应用场景下是存在问题的。例如一件卖了10件的商品预测值在5-15之间和卖了5000件的商品预测在4995-5005的贡献的 |{y}\' - y| 是一样的,但是百分比会差很多,显然两个预测的准确度差异巨大。

因此,WMAPE应运而生

WMAPE(Weighted Mean Absolute Percentage Error)加权平均绝对误差百分比:

WMAPE=\sum_{n}^{1}|{y}\' - y|/\sum_{n}^{1}y

举个具体的例子,有10个物品,分别的APE,MAPE和WMAPE分别为:

  • 推测出APE为(Absolute Percentage Error),公式为\frac{|{y}\'-y|}{y},APE = Abs Error / Actual
  • Sum Actual = \sum_{n}^{1}y = sum(Actual1 + ... + Actual10) = 100 + 90 + 8 + 1000 + 1 + 90 + 10 + 11 + 50 + 76 = 1436
  • Sum Abs Error = \sum_{n}^{1}|{y}\' - y| = sum(Abs Error1 + ... + Abs Error10) = 10 + 10 + 2 + 30 + 2 + 10 + 3 + 1 + 0 + 4 = 72
  • MAPE = \frac{1}{n}\sum_{n}^{1}\frac{|{y}\'-y|}{y} = \frac{1}{n}\sum_{n}^{1}APE = sum(APE1 + ... + APE10)/10 = (10.0% + 11.1% + 25.0% + 3.0% + 200% + 11.1% + 30.0% + 9.1% + 0.0% + 5.3%)/10 = 30.5%
  • WMAPE = \sum_{n}^{1}|{y}\' - y|/\sum_{n}^{1}y = Sum Abs Error / Sum Actual = 72/1436 = 5.0%

假如数据集中有一点变化,商品5实际上没有销售,那么就会导致最后计算除数出现0,导致无法计算。

还是上面那个例子,假如商品5实际销量由1变为2,实际上是一个非常微小的抖动,但最后的MAPE抖动非常大,从30.5%到15.5%;但与此同时wMAPE却比较稳定,从5%到4.9%,避免了除数过小导致的指标不合理波动。

由以上例子看出,销量预测方面,还是尽量采用WMAPE更有说服力。