1. 引言

在当今数据驱动的时代,如何正确使用数据并从中获益变得尤为重要。零售商深知这一点,因此会进行销售预测以便提前规划。这有助于他们决定采购多少商品、库存多少、仓储多少,从而在保障供应的同时降低成本。

但问题是:我们如何判断预测是否足够准确?又该如何衡量其准确性?

在本文中,我们将分析几种常见的评估方法,帮助你在不同场景下选择最合适的指标。

2. 问题背景

假设我们经营一家小商店,售卖牛奶。我们想预测未来一周(以周一至周三为例)的销量。我们知道村里的居民通常周一买得多,周二就减少了,周三可能就会缺货。

根据历史销售数据,我们建立了一个简单的预测模型,并得到了如下预测值与实际销量对比:

日期 预测值 实际销量
周一 55 50
周二 2 1
周三 50 50

我们可以使用 平均绝对误差(MAE) 来评估预测误差:

$$ MAE = \frac{1}{n}\sum_{t=1}^n \lvert A_t-F_t \rvert $$

其中 $F_t$ 表示预测值,$A_t$ 表示实际值,$t$ 表示时间点。

在这个例子中,MAE = 2。虽然这个数字告诉我们预测平均误差是 2 加仑牛奶,但它没有提供与总销量之间的比例关系,无法帮助我们判断预测质量的好坏。

3. MAPE

MAPE 是最常用的预测误差评估指标之一,全称是 Mean Absolute Percentage Error(平均绝对百分比误差)。它衡量的是预测误差相对于实际值的百分比。

公式如下:

$$ MAPE = \frac{1}{n}\sum_{t=1}^n \lvert \frac{A_t-F_t}{A_t} \rvert $$

我们来计算一下上面例子中的 MAPE:

日期 预测值 实际销量 绝对百分比误差
周一 55 50 10%
周二 2 1 100%
周三 50 50 0%
总计 36.7%

从结果可以看出 MAPE 的一个明显缺点:当实际销量较低时,误差百分比会急剧上升,容易误导我们对整体预测质量的判断。

在这个例子中,虽然总共只差了 2 加仑,但由于周二预测值是 2,而实际销量只有 1,导致误差高达 100%。因此,MAPE 在这种情况下并不理想。

适用场景:适用于实际销量普遍较高的情况
不适用场景:当存在零销量或低销量时,误差容易被放大

4. WAPE

WAPE 的全称是 Weighted Average Percentage Error(加权平均百分比误差),也被称为 MAD/Mean Ratio。它通过将误差与总销量进行加权计算,避免了 MAPE 在低销量时的误导性。

公式如下:

$$ WAPE = \frac{\sum_{t=1}^n \lvert A_t-F_t \rvert}{\sum_{t=1}^n \lvert A_t \rvert} $$

继续使用上面的例子,我们来计算 WAPE:

日期 预测值 实际销量
周一 55 50
周二 2 1
周三 50 50
总计 107 101

$$ WAPE = \frac{|55-50| + |2-1| + |50-50|}{50 + 1 + 50} = \frac{5 + 1 + 0}{101} = 5.9% $$

可以看到,WAPE 更能反映整体误差情况,结果为 5.9%,比 MAPE 更合理。

适用场景:适用于存在低销量或间断性销售的场景
⚠️ 注意:它不区分不同时间点或产品的优先级

5. WMAPE

WMAPE 全称是 Weighted Mean Absolute Percentage Error(加权平均绝对百分比误差)。它在 WAPE 的基础上引入了权重机制,允许我们对某些预测点赋予更高的优先级。

公式如下:

$$ WMAPE = \frac{\sum_{t=1}^n (w_t \lvert A_t-F_t \rvert)}{\sum_{t=1}^n (w_t \lvert A_t \rvert)} $$

其中 $w_t$ 表示第 $t$ 个时间点的权重。

我们继续使用之前的例子,假设我们认为周一的预测最重要,权重设为 8,周二和周三各为 1:

日期 预测值 实际销量 权重
周一 55 50 8
周二 2 1 1
周三 50 50 1

计算加权后的总误差和总实际销量:

$$ 加权误差 = 8 \times |55-50| + 1 \times |2-1| + 1 \times |50-50| = 8 \times 5 + 1 \times 1 + 1 \times 0 = 41 $$

$$ 加权实际 = 8 \times 50 + 1 \times 1 + 1 \times 50 = 400 + 1 + 50 = 451 $$

$$ WMAPE = \frac{41}{451} = 9.1% $$

这样,我们就可以根据业务优先级来调整误差评估方式,更贴近实际需求。

适用场景:需要对某些预测点赋予更高优先级的场景
⚠️ 注意:权重设置需结合业务理解,避免主观偏差

6. 总结与建议

指标 公式 优点 缺点 推荐使用场景
MAPE $\frac{1}{n}\sum_{t=1}^n \lvert \frac{A_t-F_t}{A_t} \rvert$ 简单直观 当实际值接近 0 时误差被放大 实际值普遍较高
WAPE $\frac{\sum_{t=1}^n \lvert A_t-F_t \rvert}{\sum_{t=1}^n \lvert A_t \rvert}$ 考虑整体销量 不区分优先级 低销量或间断性销售
WMAPE $\frac{\sum_{t=1}^n (w_t \lvert A_t-F_t \rvert)}{\sum_{t=1}^n (w_t \lvert A_t \rvert)}$ 支持权重设置 权重设定需谨慎 需要强调某些预测点

📌 注意:以上所有指标都是对称的,即它们不会区分预测值是高于还是低于实际值。但在某些业务场景中(如库存管理),过高预测和过低预测的影响是不同的,此时还需要引入非对称指标进行补充评估。

总结建议

  • 如果你的预测对象销量稳定且较高,使用 MAPE 即可;
  • 如果存在低销量或零销量,推荐使用 WAPE;
  • 如果某些预测点更为关键,使用 WMAPE 并合理设置权重;
  • 若业务对预测误差方向敏感,建议引入非对称指标辅助评估。

原始标题:Understanding Forecast Accuracy: MAPE, WAPE, WMAPE