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 并合理设置权重;
- 若业务对预测误差方向敏感,建议引入非对称指标辅助评估。