季节分解模型

所属分类:时间序列分析

这个方法是做什么的

把一条序列拆成三块:长期趋势 T、固定周期重复的季节成分 S、以及剩下的残差 R。加性模型认为 Y=T+S+R(季节波动的绝对幅度大致恒定),乘性模型认为 Y=T×S×R(季节波动按比例放大缩小)。趋势用中心化移动平均提取,季节成分则是各相位去趋势值的平均。

它不只是画三条曲线。卡① 给“季节性到底存不存在”的两项独立证据:滞后 m 阶的自相关是否超出 Bartlett 界,以及把各相位的去趋势值当成 m 个组做 Kruskal-Wallis 检验。卡② 逐相位给出季节指数、95% 置信区间与显著性(周期数达到 3 个以上才有区间)。卡④ 用 Wang-Smith-Hyndman 的趋势强度 F_T 与季节强度 F_S、三成分方差占比承担效应量的角色,并用 Ljung-Box 查残差里还剩多少结构。读这份报告的着眼点是:季节周期 m 是你填进去的,它填错时报告不会报错,只会安静地给出一份“没有季节性”的结论。

需要准备什么数据

  • 放入时间序列变量:1 个,定量变量(数值)
  • 放入时间变量(可选)(可选):0~1 个

数据要求

  • 数据表至少 36 行。
  • 单列缺失率不超过 5%。
  • 不接受取值全都一样的列(零方差列没有可分析的变异)。

以上条目由系统从该方法的校验规则直接生成,与上传数据时的实际拦截规则一致。

什么时候用它

  • 想知道剔除季节波动之后,指标的真实水平到底是升是降(看季节调整序列)
  • 需要量化每个月/每个季度相对全年平均高多少低多少,且要带置信区间
  • 判断趋势和季节各自解释了多少波动,决定预测模型该带哪些成分
  • 建模前的探索:先看清结构,再决定用 ARIMA 还是指数平滑

前提是等间隔且相位对齐——中间缺失整行会让后续所有观测的相位错位,因此缺失容忍度只有 5%。序列长度至少覆盖 2 个完整周期,要给季节指数置信区间则需要 3 个周期;行数下限 36 行,35 行会被直接拦下。乘性分解要求所有取值严格大于 0。拖入“时间变量”后模块会按它排序:把演示数据行序打乱重跑,输出逐字不变。

什么时候不要用它

  • 你要的是未来的预测值:分解不外推,用「季节性ARIMA模型」,或用「指数平滑模型」的 Holt-Winters 设定。
  • 周期长度不知道是多少:先用「谱分析」找出主导周期,它给 Fisher 精确检验判断周期性是否成立。
  • 要检验的是“有没有长期趋势”这个命题本身:分解只是把趋势画出来给你看,正式检验用「Mann-Kendall趋势检验」。
  • 序列的变化是一次台阶而不是周期波动:用「突变点检测(Pettitt)」。
  • 只想看局部走势与局部波动、不关心周期:用「时序滑窗特征」。

容易误读的地方

  • 周期 m 填错,报告不会报错,只会告诉你“没有季节性”。 同一份月度演示数据:m=12 时季节强度 F_S=0.7697、Kruskal-Wallis H(11)=93.608(p<0.001);把 m 改成 4,季节强度掉到 0.0215、Kruskal-Wallis p=0.380,结论变成“季节效应证据不足”。两次运行都是“成功”的。所以卡① 的两项季节性证据必须先看:它们同时不显著时,先怀疑 m 填错了,再怀疑序列真的没有季节性。
  • 加性与乘性的方差占比不是同一把尺子,不能横着比。 换成乘性分解后,同一份数据的趋势方差占比变成 99.99%、季节只剩 0.01%。这不是说季节性消失了——乘性口径下季节成分是围绕 1 的比值,量纲和数量级都与原变量不同,方差自然极小,而它的季节强度 F_S 仍有 0.7651。判断成分强弱要用 F_T 与 F_S(它们是无量纲的),方差占比只在同一种模型内部有意义。
  • “分解完成”不等于“分解干净”。 演示的残差 Ljung-Box(24)=71.559、p<0.001,残差里仍有显著自相关,说明经典分解没有提取完序列的结构。这不影响你读季节指数,但意味着不能把残差当成白噪声去做后续推断;此时可尝试调整周期、改用 STL,或者在残差上再建一个 ARMA 模型。
  • 两端各 m/2 期的趋势是外推出来的,端点最不可靠。 中心化移动平均在序列首尾没有足够的邻居,模块用 freq 外推补齐。最新的几期恰恰是大家最关心的,而它们正是整份分解里最不稳的部分——用季节调整序列判断“最近是不是转折了”时要格外小心。
  • 经典分解假定季节模式在全样本期内完全恒定。 每个相位的季节指数是所有周期该相位的平均,一旦季节振幅逐年变化,这种变化会被整个推给残差,图上看是残差里出现规则的波形。演示每个相位有 10 个周期的观测支撑,指数比较稳;周期数只有三四个时,逐相位 t 检验的功效很低,且卡② 的表注写明这些逐相位检验未做多重比较校正——整体季节效应是否存在应以卡① 的 Kruskal-Wallis 为准。

报告里有什么

  1. 输出结果一:数据概览与前提检验
  2. 输出结果二:分解摘要与季节指数
  3. 输出结果三:分解成分可视化
  4. 输出结果四:成分强度与残差诊断
  5. 输出结果五:结论与学术表述
原序列、趋势成分与季节调整序列
图1 原序列、趋势成分与季节调整序列
原序列、提取出的趋势成分,以及剔除季节因素后的「季节调整序列」叠加对比。
季节成分(逐期)与季节指数(逐相位)
图2 季节成分(逐期)与季节指数(逐相位)
季节成分逐期展开:经典分解假定它在每个周期内完全重复。
逐相位季节指数(加性口径,中性值=0)
图3 逐相位季节指数(加性口径,中性值=0)
逐相位季节指数柱状图,红色虚线为中性值 0(加性口径)。
残差成分
图4 残差成分
残差成分:剔除趋势与季节后剩余的部分。

在线统计分析平台 · 233 种分析方法 · AI 智能解读

在线使用
使用教程