跳到主要内容

时间序列分析

Winters法

三次指数平滑同时更新水平、斜率与一套按周期重复的季节因子,短预报会把旺季再抄一遍——这是 Holt 再加季节,不是 SARIMA 的 (P,D,Q)。

更新日期 2026-08-29 时序

这篇能回答什么

Winters(Holt–Winters)回答的是:「水平在走、斜坡也在走,而且每隔 s 期还有一套稳定的淡旺季,下一季各期应落在哪」。状态有三个:水平 ℓ_t、趋势 b_t、季节 s_t。季节可加(峰谷幅度不随水平涨)或可乘(高峰随总量放大)。h 步预报在可加时是 ℓ_T+h b_T+s_{T+h−s},可乘时是 (ℓ_T+h b_T)s_{T+h−s}。

占用表按季节强度切三个互斥期箱:淡季箱(类别 A)、平季箱(类别 B)、旺季箱(类别 C)。教学合计 233:淡 43(18.45%),平 51(21.89%),旺 139(59.66%)。旺季箱独自近六成,说明季节占用并不均匀——这正是必须开第三次平滑、而不是停在 Holt 的理由。

什么时候不该用

看不见固定节拍,应停在双指数平滑;硬上 γ 会把噪声写成「季节」。只要水平、连斜坡都不稳,回单指数平滑。要季节 AR/MA 多项式与区间,用SARIMA。只要拆开看趋势/季节/残差、不预报,用时间序列分解。

如何选择方法

先数状态,再看季节是平滑因子还是滞后多项式。水平 → SES。水平+斜坡 → Holt。再加按 s 重复的因子、你接受点预测多于机制 → 本页。要把季节写成 (P,D,Q)_s 并给区间路径 → SARIMA。只想看四张分解图、不更新三个折扣 → 分解法。α、β、γ 都在 (0,1);γ 接近 0 几乎冻结初值季节,接近 1 让每一季都重写因子。

  • Winters:1 条定量序列 + 周期 s + 可加/可乘;输出淡/平/旺占用、三分量拟合与带节拍的外推。

  • Holt:没有 s_t,外推是一条斜线。

  • SES:没有 b_t 也没有 s_t,外推抄水平。

  • SARIMA / 分解:多项式季节或探索性拆分,不是三次折扣。

输入、输出与限制

输入

分析序列须为定量、等间隔,并指定季节周期 s(月度常取 12,季度取 4)。可加或可乘在运行前选定:振幅不随水平变大选可加,高峰一年比一年高选可乘。α、β、γ 可手填或按样本内误差自动选。

  • 分析序列:最少 1 个,最多 1 个,定量。

  • 季节周期 s:正整数,至少能放下 2 个完整季节。

  • 可加 / 可乘:决定 s_t 是加减还是相乘。

  • 预测期数:正整数,外推里季节因子按 s 循环使用。

输出

占用表给出淡季、平季、旺季箱的频数与占比。图为历史水平、样本内拟合,以及虚线后带节拍(或末端爬升后略收)的橙色路径。季节因子向量若出现在工作台其他位置,以那些数字写进方法;主表不是 (P,D,Q)。

产品限制

  • 有效期数建议不少于 2s,否则 γ 不稳。

  • 合计 233 是季节箱条数,不必等于 36 期。

  • 类别 A/B/C 不是 1 月/2 月/3 月,而是淡/平/旺强度箱。

  • 本页不估计季节 AR/MA;s=12 不能写成 P=1。

  • 周期漂移(旺季每年挪一周)时,固定 s 会把峰对错格子。

案例

研究问题。 月销售额带着春节/国庆一类的固定高峰,同时后半段整体在抬。Holt 能跟上斜坡,但会把高峰摊进 b_t,明年同一月对不上。研究者要一套可循环的季节因子,而不想先搜 (P,D,Q)_s。

教学占用合计 233:淡季箱 43(18.45%),平季箱 51(21.89%),旺季箱 139(59.66%)。旺季箱比淡、平两箱之和还厚,说明分箱听见了重复高峰,而不是把所有期平均对待。下载时间序列表后,可用带年周期的产值或客流列练习;「returns」个股收益几乎没有稳定旺季,本页主要用来看「不该开 Winters」时 γ 会怎样乱抖。占用 233 与工作表行数不必相等。

下载教学示例表(时间序列)

在 StatsX 中操作

  1. 步骤 1 · 送入工作台

    打开工作台,把 Excel / CSV / JSON 拖进上传区。练习季节用月度或季度列;练习「不该用」用近乎白噪声的收益。单文件不超过 20 MB。

  2. 步骤 2 · 先数完整季节

    至少两圈同样的 s。一圈半不要估 γ。峰谷幅度随水平涨,勾可乘;幅度几乎恒定,勾可加。

  3. 步骤 3 · 选「Winters法」

    在算法目录搜「Winters」或「季节指数平滑」,点选 Winters法。不要在双指数页找季节开关,那边没有 s_t。

  4. 步骤 4 · 设定 s 与三次常数

    分析序列勾一列。s 填 12 或 4。α、β、γ 可留空自动选。填预测期数,最好覆盖下一整季。点运行。

  5. 步骤 5 · 看旺季箱与循环外推

    确认旺季箱是否明显厚于淡季箱。虚线右侧若只是一条无节拍斜线,对照占用:旺季箱仍占 59.66% 时,应检查图是否被坐标压扁,或 s 填错。

StatsX 工作台上传供 Winters 法的季节序列
将教学示例表拖入工作台上传区。
列画像确认带季节的定量序列
核对待平滑列为定量、间隔整齐、能数出周期。
在目录中选择 Winters 法
在算法目录中选定「Winters法」。
为 Winters 指定序列、周期与可加或可乘
分析序列勾选定量列并设定 s 与季节模式后运行。

如何阅读输出

占用表把 233 条季节记录分进三箱。淡季 43(18.45%),平季 51(21.89%),旺季 139(59.66%)。这是强度分箱,不是 12 个季节指数本身。不要把 59.66% 写成「季节因子 = 1.60」;因子若出现在工作台,可加时在 0 附近摆动,可乘时在 1 附近摆动。

Winters法结果表
项目类别统计量取值
Winters法类别 A频数43
Winters法类别 B频数51
Winters法类别 C频数139
Winters法合计有效样本 N233
Winters法类别 A占比(%)18.45
Winters法类别 B占比(%)21.89
Winters法类别 C占比(%)59.66

左右滑动可查看完整表格

教学示例表在 StatsX 工作台中的计算结果口径。

Winters 淡季、平季与旺季占用表
工作台中的季节期次分箱,数字应与上表一致。
历史水平在末端爬升,虚线后橙色外推带轻微收势
第 36 期虚线之后橙色继续高位运行。若完全看不见节拍,先对旺季箱:59.66% 说明季节占用仍偏高峰,不要改口写成 Holt。

旺季箱 59.66% 压过淡、平两箱,和「必须保留 s_t」同向。图上后半段从约 40 爬到 55,Holt 也能画出斜坡;差别在于下一圈同一相位应再抬一次。三箱几乎均分时,γ 往往接近 0,这时降回 Holt 更干净。要看趋势、季节、残差四面板且不外推,去分解页。

阅读顺序:s 是否写对 → 旺季箱是否最厚 → 可加还是可乘 → 虚线右侧是否按相位循环 → 要多项式季节还是只要因子。只要斜坡用 Holt;只要水平用 SES;要 (P,D,Q)_s 用 SARIMA。

理论与公式

可加 Winters 把季节当作对水平的加减项。一个常见递归是:

可乘形式把 y_t 除以 s_{t−s} 再更新水平,预报改为 (ℓ_T+h b_T)s_{T+h−s}。分解法的可加 / 可乘与这里同名,但分解通常用移动平均一次性抽出 T、S、I,不递归更新,也不默认外推。SARIMA 的季节部分是滞后多项式与季节差分,参数是 Φ、Θ,不是 γ。Holt 令所有 s_t 为常数(可加时为 0,可乘时为 1)即退回双指数。

注意事项

  • 旺季箱厚 ≠ 已经证明存在季节单位根;那是 ADF / 季节差分的事。

  • 可加因子与可乘因子不能直接比大小,先统一模式再谈「哪个月最高」。

  • 有效期不足 2s 时,γ 会把仅有的一圈高峰当成永恒。

  • Holt 的后段爬升窗与本页旺季箱不是同一套分箱,数字不能对拍。

  • 233 是分箱条数,写方法时同时报告 s、可加或可乘、以及 αβγ。

  • 结构断裂(某年取消促销)会让旧季节因子污染外推。

常见问题

参考文献

  • Winters, P. R. Forecasting sales by exponentially weighted moving averages[J]. Management Science, 1960, 6(3): 324–342.

  • Holt, C. C. Forecasting seasonals and trends by exponentially weighted moving averages[J]. International Journal of Forecasting, 2004, 20(1): 5–10.

  • Hyndman, R. J., Koehler, A. B., Ord, J. K., & Snyder, R. D. Forecasting with Exponential Smoothing[M]. Springer.

  • Hyndman, R. J., & Athanasopoulos, G. Forecasting: Principles and Practice[M]. OTexts.