3. sMAPE数学原理:对称平均百分比误差

sMAPE(Symmetric Mean Absolute Percentage Error)是MAPE的对称变体,专门用于解决MAPE在低值或零值场景下的不对称性与无穷大问题。本节从公式推导、对称性证明、取值范围及与MAPE的根本区别四个维度进行深度解析。

3.1 公式推导:从MAPE到sMAPE的演进

MAPE的原始定义为:

MAPE = (1/n) * Σ |A_t - F_t| / |A_t|

其中 A_t 为实际值,F_t 为预测值。当 A_t → 0 时,MAPE → ∞,且分母仅使用实际值,导致不对称性。

sMAPE的改进思路是将分母改为实际值与预测值的平均值,使误差项对称:

sMAPE = (1/n) * Σ (2 * |A_t - F_t|) / (|A_t| + |F_t|)

乘以2是为了将结果归一化到与MAPE相似的百分比尺度。当 A_t 与 F_t 均为正数时,可简化为:

sMAPE = (1/n) * Σ (2 * |A_t - F_t|) / (A_t + F_t)
关键推导节点: 分母从 |A_t| 变为 (|A_t| + |F_t|)/2 的倒数形式,本质上是将误差相对于两个值的平均规模进行归一化。

3.2 对称性解释:为什么sMAPE是对称的?

对称性是指:当实际值与预测值互换时,误差指标保持不变。对于单个观测点,定义:

sMAPE_i = 2 * |A_i - F_i| / (|A_i| + |F_i|)

若交换 A_i 与 F_i:

sMAPE_i' = 2 * |F_i - A_i| / (|F_i| + |A_i|) = 2 * |A_i - F_i| / (|A_i| + |F_i|) = sMAPE_i

因此 sMAPE_i 在交换后完全不变,满足严格对称性。而MAPE在交换后变为:

MAPE_i' = |F_i - A_i| / |F_i| ≠ |A_i - F_i| / |A_i|

除非 A_i = F_i,否则不对称。

对称性的实际意义: 在间歇需求场景中,预测值可能高于或低于实际值,对称指标能避免“高估”与“低估”被赋予不同权重,使模型调优更公平。
sMAPE 与 MAPE 对称性对比 MAPE(不对称) A=10, F=5 MAPE = |10-5|/10 = 50% A=5, F=10 MAPE = |5-10|/5 = 100% 相同误差幅度,不同MAPE值 → 低估惩罚更重 sMAPE(对称) A=10, F=5 sMAPE = 2*5/(10+5) = 66.7% A=5, F=10 sMAPE = 2*5/(5+10) = 66.7% 相同误差幅度,相同sMAPE值 → 高估与低估权重一致

3.3 取值范围 [0, 200] 的数学证明

对于任意实数 A_t 与 F_t(不同时为0),sMAPE_i 的取值范围推导如下:

  1. 下界:当 A_t = F_t 时,分子为0,sMAPE_i = 0。
  2. 上界:当 A_t 与 F_t 符号相反时,|A_t| + |F_t| 最小,而 |A_t - F_t| 最大。极端情况:A_t = 1, F_t = -1,则:
    sMAPE_i = 2 * |1 - (-1)| / (|1| + |-1|) = 2 * 2 / 2 = 2 = 200%
  3. 一般情况:对于任意 A_t, F_t,有 |A_t - F_t| ≤ |A_t| + |F_t|,因此:
    sMAPE_i = 2 * |A_t - F_t| / (|A_t| + |F_t|) ≤ 2

因此 sMAPE 的取值区间为 [0, 200](百分比形式为 [0%, 200%])。

重要边界条件: 当 A_t = 0 且 F_t = 0 时,分母为0,sMAPE 无定义。实际工程中通常跳过该点或赋予默认值(如0%)。

3.4 sMAPE 与 MAPE 的根本区别

对比维度 MAPE sMAPE
分母 |A_t|(仅实际值) (|A_t| + |F_t|)/2(实际与预测的平均)
对称性 不对称(高估与低估权重不同) 严格对称(交换A与F值不变)
取值范围 [0, +∞)(无上界) [0, 200](有界)
零值处理 A_t=0 时无穷大,无法计算 A_t=0 且 F_t≠0 时仍可计算(≤200%)
间歇需求适用性 差(零需求导致无穷大) 较好(有界且对称)
解释性 直观百分比,但受极端值影响 百分比形式,但上界200%需注意
sMAPE 与 MAPE 取值范围对比 MAPE 0% 50% 100% 200% +∞ sMAPE 0% 50% 100% 150% 200% MAPE 无上界,零需求时发散;sMAPE 有界 [0%, 200%], 在间歇需求场景中更稳定、更可解释。

3.5 间歇需求场景下的关键差异

在间歇需求(如备件、慢速移动品)中,实际需求经常为零或极低值,此时:

  • MAPE 失效: 当 A_t = 0 时,MAPE 分母为0,指标发散至无穷大,无法参与模型对比。
  • sMAPE 可用: 当 A_t = 0, F_t ≠ 0 时,sMAPE = 2 * |F_t| / |F_t| = 200%,仍为有限值,可纳入整体评估。
  • 对称性优势: 间歇需求中预测值常出现“过高估计”或“过低估计”,sMAPE 的对称性确保两种偏差被同等对待。
工程建议: 在间歇需求数据集中,建议优先使用 sMAPE 替代 MAPE。若数据中零需求比例超过 10%,MAPE 将产生严重偏差,此时 sMAPE 是更稳健的选择。