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,否则不对称。
对称性的实际意义: 在间歇需求场景中,预测值可能高于或低于实际值,对称指标能避免“高估”与“低估”被赋予不同权重,使模型调优更公平。
3.3 取值范围 [0, 200] 的数学证明
对于任意实数 A_t 与 F_t(不同时为0),sMAPE_i 的取值范围推导如下:
- 下界:当 A_t = F_t 时,分子为0,sMAPE_i = 0。
- 上界:当 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% - 一般情况:对于任意 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%需注意 |
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 是更稳健的选择。