Skip to content
知识

/knowledge/time-series-analysis

时间序列分析

顺序就是一切的数据。当每个点都依赖于它之前的那些点时,普通统计学背后的独立性假设便破裂了——而预测需要它自己的一套工具。

学于
时间序列分析数据科学硕士 · CSIRO
时间
墨尔本大学 · CSIRO 2023
应用于
气候风险 · 预测
阅读 / 复习
约 16 分钟阅读2026-06-26

大多数统计方法假设你的观测是独立的——假设顺序无关紧要。时间序列数据恰恰相反:它是 一串穿越时间的测量(一个股价、每月降雨、每日病例数),而每个点都与它周围的那些点紧密相连。昨天 关于今天告诉你很多。那种时间依赖既是挑战,也是信号,它需要它自己的一门学科。

我在 CSIRO 与时间序列打过交道,建模厄尔尼诺—南方涛动如何与大宗商品的波动性和风险相关联。这一页 是实用的内核:如何分解一个序列、让它可被分析、给它建模,以及——人们最常弄错的那部分——诚实地预测并评估它

01

当顺序要紧时

时间序列的决定性特征是时间依赖:一个值与它自己的过去相关(这就是下面的自相关)。 那一个事实,打破了统计学回归页背后的独立性假设——你不能随便 打乱那些行,而一个朴素的模型会严重低估它自己的不确定性。

目标也是不同的。有时你想理解结构(趋势是什么,有没有周期?);通常你想预测——从过去预测未来的值。两者都以同样的方式开始:把序列拆开,分成藏在它里面的 那些模式。

02

趋势、季节、噪声

基础性的一步是分解——把一个序列分离成三个可解释的部分:

  • 趋势——长期的方向(销售逐年增长、一条变暖的基线)。
  • 季节性——以固定周期重复的模式(每年十二月更高的零售额、每日的交通高峰、一个 一年一度的气候周期)。
  • 残差 / 噪声——一旦趋势与季节性被移除后剩下的;那不规则的部分,理想情况下是 随机的。

分解是对任何序列要做的第一件事,因为它让结构变得可见、告诉你你在打交道的是什么。一个预测, 本质上,就是把趋势与季节性向前投射,并对噪声保持诚实。

观测趋势季节噪声
分解。一个原始序列,是一条缓慢的趋势、一个重复的季节周期、和不规则噪声之和。把它们拆开,是理解——以及预测——任何时间序列的第一步。

03

平稳性

核心的技术概念是平稳性:如果一个序列的统计性质——均值、方差——不随时间改变,它就 是平稳的。大多数经典方法都要求它,因为你没法可靠地对一个移动的目标建模。一个带趋势、 或方差不断增长的序列是非平稳的,必须先被驯服。

标准的修法是差分——对从一步到下一步的变化建模,而非原始的水平,这会移除一个 趋势。你正式地检验平稳性(ADF 检验),而非靠肉眼判断。

04

自相关

时间序列有它自己的诊断工具:自相关——序列与它自己一个滞后副本之间的相关。「今天与 7 天前有多相关?」ACF(自相关函数)与 PACF(偏自相关函数)图就是 那个读数,它们既是你检测结构的方式(在月度数据里,滞后 12 处的一个尖峰高喊着一年一度的 季节性),也是你选择模型参数的方式。

读 ACF/PACF 是一项核心技能:这些图的形状告诉你一个模型需要多少个过去的项。它是时间序列分析师 版本的残差图——那张告诉你数据在做什么的图。

05

AR、MA 与 ARIMA

经典的主力家族结合了三个简单的想法,而整件事都被 ARIMAp,d,qp, d, q) 这个名字所捕获:

  • AR(自回归,阶 pp)——从一个值自己最近的值来预测它。 今天是过去 pp 天的一个加权和。
  • I(整合,阶 dd)——你为达到平稳而差分的次数。
  • MA(移动平均,阶 qq)——从最近的预测误差来 预测,把冲击抹平。

一个 AR(p) 模型,最直观的那一块,不过是对过去的一次回归:

Xt=c+i=1pφiXti+εtX_t = c + \sum_{i=1}^{p} \varphi_i\, X_{t-i} + \varepsilon_t

你从 ACF/PACF 图和信息准则(又是 AIC/BIC——拟合对复杂度)里挑出 (p,d,q)(p, d, q),用极大似然来拟合,并且——关键 地——检查残差:如果残差里还剩下任何东西,模型就漏掉了结构,预测就会有偏。 残差诊断是没得商量的。

06

季节性

当数据有一个重复的周期时——而气候、零售、运营数据几乎总是有——你扩展到 SARIMA, 它在季节滞后处(月度—年度数据为 12,日度—周度为 7)加入季节性的 AR、MA 与差分项。陷阱是误判周期:假设了错误的周期长度,会毁掉模型。季节子序列图和 ACF(在季节滞后处的一个 尖峰)是你把它钉死、而非猜测的方式。

07

诚实地预测

这是时间序列最常出错的地方,而错误很微妙:你不能用一次普通的随机训练/测试拆分来评估 一个预测。打乱行让模型偷看未来来预测过去——一种美化了分数、却对真实表现撒谎的泄漏。

相反,你按时间拆分:在过去上训练,在它从未见过的未来上测试。更好的是用一个滚动原点 做回测——反复地训练到某一点、预测接下来的一段,再向前滑动——这会展示模型在许多个 时期上的表现,而非一个走运的窗口。并且对预测视野保持诚实:你看得越远,预测就越 衰减,所以一个提前一步的分数,关于一个十二步的预测什么也说明不了。

08

现代方法

ARIMA 是地基,但工具包已经长大了。指数平滑(ETS)是一个简单、稳健的经典替代品。Prophet 几乎不用调参就能处理多重季节性和节假日。而机器学习与深度学习模型(在滞后 特征上的梯度提升、LSTM、transformer)在你有足够数据时能捕获复杂的非线性模式——尽管对许多真实 问题,一个拟合良好的 ARIMA 或 ETS 仍然难以被击败,而且远更容易解释。一如既往:能把活干完的 最简单的模型。

09

它在我工作中的体现

10

60 秒回顾

本页关于预测评估与 ARIMA 的指引,反映了当前关于回测与常见陷阱的从业者与学术参考文献,以及 亲身的工作。