3、MAPE定义与公式:平均百分比误差的数学表达式及计算步骤
平均百分比误差(Mean Absolute Percentage Error, MAPE)是促销预测中最常用的相对误差指标之一。它通过计算每个预测值与实际值之间的偏差占实际值的百分比,再取平均值,从而直观地反映预测误差的平均相对大小。
3.1 数学表达式
MAPE 的标准数学定义如下:
MAPE = (1/n) * Σ(|A_t - F_t| / |A_t|) * 100%
其中:
- n:预测期数(样本数量)
- A_t:第 t 期的实际值(Actual Value)
- F_t:第 t 期的预测值(Forecast Value)
- |A_t - F_t|:第 t 期的误差
- |A_t|:第 t 期的实际值(防止分母为负)
MAPE 的结果以百分比形式呈现,值越小表示预测精度越高。例如,MAPE = 5% 意味着平均而言,预测值与实际值偏离了 5%。
关键理解: MAPE 的核心思想是将误差“归一化”到实际值的尺度上,使得不同量级(如销量 100 件 vs 10000 件)的预测误差具有可比性。
3.2 计算步骤(分步详解)
以下通过一个促销活动销量预测的案例,逐步演示 MAPE 的计算过程。
案例数据:某商品在 5 次促销活动中的实际销量与模型预测销量如下表:
| 促销活动 | 实际销量 A_t | 预测销量 F_t | 误差 |A_t - F_t| | 百分比误差 |A_t - F_t| / |A_t| |
|---|---|---|---|---|
| 活动 1 | 120 | 110 | 10 | 0.0833 |
| 活动 2 | 80 | 90 | 10 | 0.1250 |
| 活动 3 | 200 | 180 | 20 | 0.1000 |
| 活动 4 | 50 | 60 | 10 | 0.2000 |
| 活动 5 | 150 | 155 | 5 | 0.0333 |
计算步骤:
- 计算每期的误差: 用实际值减去预测值后取值。例如活动 1:|120 - 110| = 10。
- 计算每期的百分比误差: 将误差除以实际值的值。例如活动 1:10 / 120 ≈ 0.0833。
- 求和: 将所有期的百分比误差相加。0.0833 + 0.1250 + 0.1000 + 0.2000 + 0.0333 = 0.5416。
- 取平均值: 将总和除以期数 n(本例 n=5)。0.5416 / 5 = 0.1083。
- 转换为百分比: 将平均值乘以 100%。0.1083 × 100% = 10.83%。
最终结果:该促销预测模型的 MAPE 为 10.83%,表示平均预测偏差约为实际销量的 10.83%。
3.3 MAPE 计算流程可视化
下图展示了从原始数据到最终 MAPE 值的完整计算链路:
3.4 计算中的注意事项
⚠ 分母为零陷阱: 当实际值 A_t = 0 时,MAPE 公式中的分母 |A_t| 为 0,导致该期百分比误差无穷大。在促销预测中,如果某次促销活动实际销量为 0(如缺货或活动取消),MAPE 将无法计算或产生异常值。此时应考虑使用 sMAPE 或 MASE 等替代指标。
- 数据完整性: 确保所有期数的实际值均大于 0,否则需剔除或特殊处理。
- 异常值敏感度: 当实际值非常小(如 A_t = 1)时,即使误差仅为 1,百分比误差也会达到 100%,导致 MAPE 被单个点严重拉高。
- 对称性缺失: MAPE 对“高估”和“低估”的惩罚不对称。例如,实际值 100,预测值 200(高估 100%)与预测值 50(低估 50%)的误差贡献不同。
3.5 MAPE 的适用场景速查
| 场景 | 适用性 | 说明 |
|---|---|---|
| 促销活动销量预测 | ✅ 常用 | 销量通常 > 0,且量级稳定时效果较好 |
| 季节性商品预测 | ✅ 适用 | 需注意淡季实际值过小的情况 |
| 新品上市预测 | ⚠ 谨慎 | 历史数据少,实际值可能为 0 或极低 |
| 零库存/缺货场景 | ❌ 不适用 | 实际值为 0 时公式失效 |
| 跨品类模型对比 | ✅ 推荐 | 百分比形式天然支持不同量级对比 |