跳到正文
格致开物MATHWIKI

时间序列建模与滚动预测

时间序列预测根据按时间排列的既有观测,估计未来一个或多个时点的数值及其不确定性。在第 T 时刻作出的 h 步预测记为 ŷT+h∣T;竖线右边的 T 表示预测时最多能看到 y1,…,yT。这一记法能直接暴露一个常见错误:若预测 T+1 时使用了 yT+2 或依据它计算的特征,所谓“预测”其实借用了未来信息。

先建立可复查的基线

设逐日记录为 10,12,11,14,13,15。最简单的朴素预测把下一日预测为上一日观测,即 ŷt∣t−1=yt−1。如果分别在第三、第四、第五日结束时预测下一日,得到

预测时点 T 已知最后值 yT 对 T+1 的预测 真实值 绝对误差
3 11 11 14 3
4 14 14 13 1
5 13 13 15 2

这三个滚动测试点的平均绝对误差为 (3+1+2)/3=2。此数只说明在这三次预测上的表现,样本太少,不能据此宣称未来误差恒为二。图中每一行的训练段都止于预测时点,测试点在其右侧;下一次测试才把刚发生的观测纳入历史。

三行时间轴分别用第一至第三日预测第四日、第一至第四日预测第五日、第一至第五日预测第六日,测试点总在训练段右侧
滚动预测原点:每次只用当时已经发生的数据。

有明确的周季节性时,还应比较季节性朴素预测 ŷT+h∣T=yT+h−m(右边的下标必须已经不超过 T;更远的预测要退回到最近一个已观测的同季节时点),其中 m 是每季的观测数。复杂模型若连这些基线也不能稳定胜过,就没有仅凭训练拟合误差部署它的理由。

趋势、季节与随机波动

把序列画成时间图后,可用 yt=Tt+St+εt 描述趋势 Tt、季节项 St 和剩余变化 εt;这是一种分解假设,不是观测自动告诉我们的三个真实机制。季节长度要结合日历和采样频率解释。若销量在节假日骤升、传感器更换、政策改变,旧的趋势或季节幅度可能不能平移到未来。对数或差分可以帮助处理某些尺度变化,但还原预测时必须恢复原单位。

一个可逐式计算的动态例子是均值为 μ 的一阶自回归模型 yt−μ=ϕ(yt−1−μ)+εt,|ϕ|<1. 假设 εt 是均值零、方差 σ2、与过去不相关的扰动。给定时点 T 的信息,未来扰动条件期望为零,于是 ŷT+1∣T=μ+ϕ(yT−μ). 再把这一步代入下一步,得到 ŷT+2∣T=μ+ϕ2(yT−μ);继续递推便是 ŷT+h∣T=μ+ϕh(yT−μ)。若 μ=10,ϕ=1/2,yT=14,一、二步预测分别为十二和十一,逐渐回到长期均值十。

若再假定扰动相互独立,h 步预测误差是 ∑j=0h−1ϕjεT+h−j,交叉协方差为零,故误差方差 Var⁡(yT+h−ŷT+h∣T)=σ2∑j=0h−1ϕ2j. 上例两步误差方差为 1.25σ2,大于一步的 σ2。若误差并不独立、参数估计也不准,这个公式会低估或错估预测不确定性;具体区间要连同假设检验和回测覆盖率报告。

滚动回测与区间

先明确实际任务是“每周预测下一周”还是“一次预测未来三个月”,然后使回测的预测跨度 h 与之相同。对多个预测原点 T1,…,TK,每次只在 1:Tk 上完成缺失值处理、参数拟合和模型选择,再预测后续 h 期。所有模型用同一批原点比较,并把损失写成有单位的平均绝对误差、均方根误差,或与决策成本匹配的指标。图上遮住的未来值只能用于打分,不能用于调整那一折的模型。

预测区间说明随机结果可能落入的范围,它不同于参数置信区间。若声称百分之九十覆盖,需在真正未参与调参的滚动测试中检查约有多少真实值落入区间,并按一步、两步等跨度分别检查。残差长期同号、季节峰值被系统低估、预测区间在极端时段失效,都提示模型机制或误差分布需要重审。时间采样不规则或不同设备的数据混合时,先厘清时间戳、时区、缺测与记录频率;把缺测点简单补零可能制造假趋势。

参考资料与相关词条