4. 需求预测基础

需求预测是供应链计划系统的起点。预测的准确性直接决定安全库存水位、产能分配效率与服务水平。本章聚焦于最常用的时间序列预测方法,涵盖分解、平滑与误差评估三大核心模块。

4.1 时间序列的构成与分解

时间序列数据通常由四种成分叠加而成:

成分 符号 含义 典型周期
趋势 T 长期上升或下降方向 年/季度
季节 S 固定周期内的重复波动 周、月、季
周期 C 非固定长度的经济/业务循环 数年
残差 R 随机噪声,不可解释部分 —

经典分解模型有两种:

  • 加法模型:\( Y = T + S + C + R \)(适用于季节波动幅度不随趋势变化)
  • 乘法模型:\( Y = T \times S \times C \times R \)(适用于季节波动幅度随趋势放大)
实践提示:在供应链系统中,快消品(如饮料、零食)的季节性通常随销量增长而放大,推荐使用乘法模型;工业备件(如轴承、电机)的季节波动相对稳定,加法模型更合适。
时间序列分解结构(加法模型) 原始序列 Y 趋势 T 季节 S 周期 C 残差 R Y = T + S + C + 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 时触发模型重估。
预测误差度量与监控流程 实际需求 A_t 预测值 F_t 误差计算 e_t = A_t - F_t |e_t|, e_t² ME / MAE MSE / RMSE MAPE / sMAPE 监控决策 偏差报警 精度阈值 跟踪信号 模型重估

4.6 方法选择决策树

在实际供应链项目中,可按照以下逻辑快速选择预测方法:

  1. 数据是否有明显趋势? 否 → 使用 SES 或 SMA;是 → 进入下一步。
  2. 数据是否有固定周期季节? 否 → 使用 Holt 线性模型;是 → 进入下一步。
  3. 季节波动幅度是否随趋势变化? 否 → Holt-Winters 加法模型;是 → Holt-Winters 乘法模型。
  4. 验证:用最近 3~6 期数据做回测,对比 MAE/RMSE,选择最优模型。
工程落地建议:在产能约束驱动的供应链计划系统中,建议为每个 SKU 维护一个“预测方法标签”,并设置每周自动回测机制。当跟踪信号连续 3 期超出阈值时,自动切换备选模型并重新校准参数。