3. Croston方法数学原理:指数平滑分解、需求间隔与需求量的独立建模

Croston 方法的核心思想是将间歇需求时间序列分解为两个独立的子序列:需求间隔(Inter-Demand Interval)和非零需求量(Non-Zero Demand Size)。通过对这两个子序列分别应用指数平滑,再组合成最终的预测值,从而避免传统指数平滑在大量零值序列上产生的预测偏差。

3.1 序列分解与符号定义

设原始需求序列为 \( y_t \),其中 \( t = 1, 2, \dots, T \)。定义如下变量:

符号 含义 说明
\( y_t \) 第 \( t \) 期的实际需求 包含零值与非零值
\( z_j \) 第 \( j \) 次非零需求发生时的需求量 仅取非零值,\( j = 1, 2, \dots, n \)
\( q_j \) 第 \( j-1 \) 次与第 \( j \) 次非零需求之间的间隔期数 \( q_j \geq 1 \),整数
\( \hat{z}_t \) 需求量平滑值(指数平滑结果) 仅在非零需求发生时更新
\( \hat{q}_t \) 需求间隔平滑值(指数平滑结果) 仅在非零需求发生时更新
\( \alpha \) 平滑系数(需求量) \( 0 < \alpha < 1 \)
\( \beta \) 平滑系数(需求间隔) \( 0 < \beta < 1 \)
关键分解逻辑: 原始序列 \( y_t \) 被拆分为两个独立的时间序列——非零需求量序列 \( \{z_j\} \) 和需求间隔序列 \( \{q_j\} \)。两个序列的更新时机完全同步,仅在非零需求发生的时刻进行。

3.2 指数平滑更新方程

Croston 方法对两个子序列分别使用一次指数平滑(Simple Exponential Smoothing, SES)。当第 \( t \) 期发生非零需求时,更新方程如下:

需求量平滑更新:

如果 y_t > 0:
    z_hat_t = α * y_t + (1 - α) * z_hat_{t-1}
否则:
    z_hat_t = z_hat_{t-1}  (不更新)

需求间隔平滑更新:

如果 y_t > 0:
    q_hat_t = β * q_current + (1 - β) * q_hat_{t-1}
    同时重置 q_current = 1
否则:
    q_current = q_current + 1
    q_hat_t = q_hat_{t-1}  (不更新)

其中 \( q\_current \) 为自上次非零需求以来的累计间隔计数,初始值为 1。

3.3 多步预测公式

在完成平滑更新后,Croston 方法对未来任意步长 \( h \geq 1 \) 的预测值采用恒定形式:

y_hat_{t+h|t} = z_hat_t / q_hat_t

即:预测值 = 需求量平滑值 ÷ 需求间隔平滑值。该比值在预测期内保持不变,直到下一次非零需求发生并触发平滑更新。

数学直觉: 该公式等价于估计“每个周期内的平均需求速率”。例如,若平均每次需求量为 10 单位,平均每 5 期发生一次需求,则每期预测值为 2 单位。这种分解方式有效避免了零值对平均值的下拉效应。

3.4 独立建模的数学意义

将需求间隔与需求量独立建模,带来了以下数学上的优势:

  • 避免零值污染: 传统指数平滑将零值视为真实观测,导致平滑值被持续拉低;Croston 方法只在非零时刻更新,保留了需求规模的原始分布。
  • 间隔信息显式建模: 需求间隔 \( q_j \) 本身是一个正整数值时间序列,具有自身的波动规律。独立平滑间隔可以捕捉需求频率的变化趋势。
  • 预测方差可分解: 在假设 \( z_j \) 与 \( q_j \) 相互独立的条件下,预测值的方差可以分解为两部分之和,便于后续的预测区间构造。

3.5 Croston方法核心流程

下图展示了 Croston 方法从原始序列分解到多步预测的完整数学流程:

Croston方法数学流程:分解 → 独立平滑 → 组合预测 原始需求序列 y_t 非零需求量 {z_j} 需求间隔 {q_j} SES: ẑ_t = α·z_j + (1-α)·ẑ_{t-1} SES: q̂_t = β·q_j + (1-β)·q̂_{t-1} ŷ_{t+h|t} = ẑ_t / q̂_t

3.6 平滑系数的影响与配置建议

平滑系数 \( \alpha \) 和 \( \beta \) 控制着模型对历史数据的记忆长度。下表总结了不同取值下的行为特征:

平滑系数取值 对需求量的影响 对需求间隔的影响 适用场景
\( \alpha, \beta \) 接近 0 平滑值几乎不变,长期历史权重高 间隔估计稳定,对频率变化不敏感 需求模式非常稳定,无趋势或季节性
\( \alpha, \beta \) 接近 0.3 适度响应近期需求变化 适度跟踪间隔变化 大多数间歇需求场景的默认推荐
\( \alpha, \beta \) 接近 0.5 对最新需求敏感,快速调整 间隔估计波动较大 需求频率或规模发生结构性变化时
\( \alpha, \beta \) 接近 1 几乎只依赖最近一次非零需求 间隔估计几乎等于最近一次间隔 极少使用,易导致预测剧烈波动
常见误区: 不要将 \( \alpha \) 和 \( \beta \) 设置为相同的值。需求量与需求间隔的波动特性往往不同,应分别优化。实践中,\( \alpha \) 通常略大于 \( \beta \),因为需求量本身的变异系数往往高于间隔的变异系数。

3.7 独立建模的数学假设与局限性

Croston 方法的独立建模建立在以下假设之上,理解这些假设有助于判断方法适用性:

  • 独立性假设: 需求量 \( z_j \) 与需求间隔 \( q_j \) 相互独立。若实际数据中需求量与间隔存在相关性(如间隔越长单次需求量越大),则预测会有偏。
  • 平稳性假设: 两个子序列的均值在局部保持稳定,指数平滑才能有效追踪。若存在强趋势或季节性,需考虑扩展方法(如 Croston-TSB 或 Holt-Winters 变体)。
  • 更新时机同步: 平滑更新仅在非零需求发生时进行,这意味着在长时间无需求的区间内,预测值保持不变,无法反映“需求可能已消失”的风险。
数学总结: Croston 方法通过将间歇需求分解为两个独立的一阶指数平滑过程,实现了对零值序列的稳健预测。其核心公式 \( \hat{y}_{t+h|t} = \hat{z}_t / \hat{q}_t \) 简洁而有效,但使用时必须关注独立性假设是否成立,以及平滑系数是否针对两个子序列分别优化。