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. 计算每期的误差: 用实际值减去预测值后取值。例如活动 1:|120 - 110| = 10。
  2. 计算每期的百分比误差: 将误差除以实际值的值。例如活动 1:10 / 120 ≈ 0.0833。
  3. 求和: 将所有期的百分比误差相加。0.0833 + 0.1250 + 0.1000 + 0.2000 + 0.0333 = 0.5416。
  4. 取平均值: 将总和除以期数 n(本例 n=5)。0.5416 / 5 = 0.1083。
  5. 转换为百分比: 将平均值乘以 100%。0.1083 × 100% = 10.83%。

最终结果:该促销预测模型的 MAPE 为 10.83%,表示平均预测偏差约为实际销量的 10.83%。

3.3 MAPE 计算流程可视化

下图展示了从原始数据到最终 MAPE 值的完整计算链路:

MAPE 计算流程图 MAPE 计算流程(5 步法) 输入数据 计算误差 计算百分比误差 求和 取平均 输出 MAPE 值 注意 分母为实际值 |A_t| 实际值不能为 0

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 时公式失效
跨品类模型对比 ✅ 推荐 百分比形式天然支持不同量级对比