4. 需求预测基础
需求预测是供应链计划系统的起点。预测的准确性直接决定安全库存水位、产能分配效率与服务水平。本章聚焦于最常用的时间序列预测方法,涵盖分解、平滑与误差评估三大核心模块。
4.1 时间序列的构成与分解
时间序列数据通常由四种成分叠加而成:
| 成分 | 符号 | 含义 | 典型周期 |
|---|---|---|---|
| 趋势 | T | 长期上升或下降方向 | 年/季度 |
| 季节 | S | 固定周期内的重复波动 | 周、月、季 |
| 周期 | C | 非固定长度的经济/业务循环 | 数年 |
| 残差 | R | 随机噪声,不可解释部分 | — |
经典分解模型有两种:
- 加法模型:\( Y = T + S + C + R \)(适用于季节波动幅度不随趋势变化)
- 乘法模型:\( Y = T \times S \times C \times R \)(适用于季节波动幅度随趋势放大)
实践提示:在供应链系统中,快消品(如饮料、零食)的季节性通常随销量增长而放大,推荐使用乘法模型;工业备件(如轴承、电机)的季节波动相对稳定,加法模型更合适。
4.2 移动平均法
移动平均是最简单的平滑技术,适用于无明显趋势和季节的短期预测。
4.2.1 简单移动平均(SMA)
取最近 \( n \) 期实际值的算术平均作为下一期预测:
F_{t+1} = (A_t + A_{t-1} + ... + A_{t-n+1}) / n
其中 \( A_t \) 为第 t 期实际需求,\( n \) 为窗口长度。
4.2.2 加权移动平均(WMA)
为不同期数分配权重,近期权重更高:
F_{t+1} = w_1·A_t + w_2·A_{t-1} + ... + w_n·A_{t-n+1}
权重满足 \( \sum w_i = 1 \),且 \( w_1 \ge w_2 \ge ... \ge w_n \)。
| 方法 | 窗口 n 的影响 | 适用场景 | 局限性 |
|---|---|---|---|
| SMA | n 越大越平滑,滞后越大 | 需求平稳、无趋势 | 对突变反应迟钝 |
| WMA | 权重分配灵活 | 近期数据更可靠 | 权重需主观设定 |
选参建议:对于周度预测,n 通常取 4~8 周;月度预测取 3~6 个月。可通过试错法或最小化预测误差(如 MSE)来优化 n 值。
4.3 指数平滑法
指数平滑通过单一平滑参数 \( \alpha \) 实现“越近的数据权重越大”,且权重呈指数衰减。
4.3.1 一次指数平滑(SES)
F_{t+1} = α·A_t + (1-α)·F_t
其中 \( 0 < α < 1 \)。α 越大,模型对近期变化越敏感。
4.3.2 Holt 线性趋势模型
在 SES 基础上增加趋势分量 \( b_t \):
水平: L_t = α·A_t + (1-α)·(L_{t-1} + b_{t-1})
趋势: b_t = β·(L_t - L_{t-1}) + (1-β)·b_{t-1}
预测: F_{t+m} = L_t + m·b_t
4.3.3 Holt-Winters 季节模型
同时处理趋势和季节,分为加法与乘法两种形式。乘法模型公式:
水平: L_t = α·(A_t / S_{t-p}) + (1-α)·(L_{t-1} + b_{t-1})
趋势: b_t = β·(L_t - L_{t-1}) + (1-β)·b_{t-1}
季节: S_t = γ·(A_t / L_t) + (1-γ)·S_{t-p}
预测: F_{t+m} = (L_t + m·b_t)·S_{t+m-p}
其中 p 为季节周期长度(如 12 个月或 52 周)。
| 模型 | 参数 | 趋势 | 季节 | 典型 α 范围 |
|---|---|---|---|---|
| SES | α | 无 | 无 | 0.1~0.3 |
| Holt | α, β | 线性 | 无 | 0.1~0.4 |
| Holt-Winters | α, β, γ | 线性 | 加法/乘法 | 0.05~0.3 |
4.4 预测误差度量
误差度量是评估预测模型、选择参数、监控预测质量的必要工具。以下是供应链计划中最常用的指标:
| 指标 | 公式 | 单位 | 特点 |
|---|---|---|---|
| ME | \( \frac{1}{n}\sum (A_t - F_t) \) | 原单位 | 衡量偏差方向,正数表示低估 |
| MAE | \( \frac{1}{n}\sum |A_t - F_t| \) | 原单位 | 直观反映平均误差 |
| MSE | \( \frac{1}{n}\sum (A_t - F_t)^2 \) | 平方单位 | 放大较大误差,适合优化 |
| RMSE | \( \sqrt{MSE} \) | 原单位 | 与 MAE 同量纲,对异常值敏感 |
| MAPE | \( \frac{100\%}{n}\sum |\frac{A_t - F_t}{A_t}| \) | 百分比 | 跨 SKU 可比,但 A_t=0 时失效 |
| sMAPE | \( \frac{200\%}{n}\sum \frac{|A_t - F_t|}{|A_t|+|F_t|} \) | 百分比 | 对称,避免 MAPE 的零值问题 |
避坑提醒:MAPE 在需求接近零时会产生无穷大值,此时应改用 MAE 或 sMAPE。在安全库存计算中,RMSE 与需求标准差直接关联,是更合适的误差指标。
4.5 预测误差的分解与监控
误差不应只看单一指标,建议从三个维度监控:
- 偏差(Bias):ME 持续为正或负,说明模型存在系统性高估或低估。
- 精度(Precision):MAE / RMSE 反映误差的离散程度。
- 跟踪信号(Tracking Signal):\( TS = \frac{\sum (A_t - F_t)}{MAD} \),当 |TS| > 3~4 时触发模型重估。
4.6 方法选择决策树
在实际供应链项目中,可按照以下逻辑快速选择预测方法:
- 数据是否有明显趋势? 否 → 使用 SES 或 SMA;是 → 进入下一步。
- 数据是否有固定周期季节? 否 → 使用 Holt 线性模型;是 → 进入下一步。
- 季节波动幅度是否随趋势变化? 否 → Holt-Winters 加法模型;是 → Holt-Winters 乘法模型。
- 验证:用最近 3~6 期数据做回测,对比 MAE/RMSE,选择最优模型。
工程落地建议:在产能约束驱动的供应链计划系统中,建议为每个 SKU 维护一个“预测方法标签”,并设置每周自动回测机制。当跟踪信号连续 3 期超出阈值时,自动切换备选模型并重新校准参数。