时间序列建模与滚动预测
时间序列预测根据按时间排列的既有观测,估计未来一个或多个时点的数值及其不确定性。在第 时刻作出的 步预测记为 ;竖线右边的 表示预测时最多能看到 。这一记法能直接暴露一个常见错误:若预测 时使用了 或依据它计算的特征,所谓“预测”其实借用了未来信息。
先建立可复查的基线
设逐日记录为 。最简单的朴素预测把下一日预测为上一日观测,即 。如果分别在第三、第四、第五日结束时预测下一日,得到
| 预测时点 | 已知最后值 | 对 的预测 | 真实值 | 绝对误差 |
|---|---|---|---|---|
| 3 | 11 | 11 | 14 | 3 |
| 4 | 14 | 14 | 13 | 1 |
| 5 | 13 | 13 | 15 | 2 |
这三个滚动测试点的平均绝对误差为 。此数只说明在这三次预测上的表现,样本太少,不能据此宣称未来误差恒为二。图中每一行的训练段都止于预测时点,测试点在其右侧;下一次测试才把刚发生的观测纳入历史。
有明确的周季节性时,还应比较季节性朴素预测 (右边的下标必须已经不超过 ;更远的预测要退回到最近一个已观测的同季节时点),其中 是每季的观测数。复杂模型若连这些基线也不能稳定胜过,就没有仅凭训练拟合误差部署它的理由。
趋势、季节与随机波动
把序列画成时间图后,可用 描述趋势 、季节项 和剩余变化 ;这是一种分解假设,不是观测自动告诉我们的三个真实机制。季节长度要结合日历和采样频率解释。若销量在节假日骤升、传感器更换、政策改变,旧的趋势或季节幅度可能不能平移到未来。对数或差分可以帮助处理某些尺度变化,但还原预测时必须恢复原单位。
一个可逐式计算的动态例子是均值为 的一阶自回归模型 假设 是均值零、方差 、与过去不相关的扰动。给定时点 的信息,未来扰动条件期望为零,于是 再把这一步代入下一步,得到 ;继续递推便是 。若 ,一、二步预测分别为十二和十一,逐渐回到长期均值十。
若再假定扰动相互独立, 步预测误差是 ,交叉协方差为零,故误差方差 上例两步误差方差为 ,大于一步的 。若误差并不独立、参数估计也不准,这个公式会低估或错估预测不确定性;具体区间要连同假设检验和回测覆盖率报告。
滚动回测与区间
先明确实际任务是“每周预测下一周”还是“一次预测未来三个月”,然后使回测的预测跨度 与之相同。对多个预测原点 ,每次只在 上完成缺失值处理、参数拟合和模型选择,再预测后续 期。所有模型用同一批原点比较,并把损失写成有单位的平均绝对误差、均方根误差,或与决策成本匹配的指标。图上遮住的未来值只能用于打分,不能用于调整那一折的模型。
预测区间说明随机结果可能落入的范围,它不同于参数置信区间。若声称百分之九十覆盖,需在真正未参与调参的滚动测试中检查约有多少真实值落入区间,并按一步、两步等跨度分别检查。残差长期同号、季节峰值被系统低估、预测区间在极端时段失效,都提示模型机制或误差分布需要重审。时间采样不规则或不同设备的数据混合时,先厘清时间戳、时区、缺测与记录频率;把缺测点简单补零可能制造假趋势。