时间序列预测概述:范式演进与方法分类
时间序列预测概述:范式演进与方法分类
时间序列预测的核心挑战,在于如何在有限的历史数据中提取有效信息,同时应对未来不确定性带来的预测风险。这一挑战并非纯粹的技术问题,而是根植于时间序列数据本身的本质特性:过去的行为模式能否代表未来?当外部环境发生结构性变化时,历史模式是否仍然适用?预测误差会随着时间跨度增加而累积放大,如何在计算成本与预测精度之间取得平衡?这些问题构成了时间序列预测理论与实践的基石,也是一切建模方法的出发点。
理解时间序列预测的本质,需要从数据自身的结构特征出发。不同于横截面数据中各观测值相互独立的假设,时间序列数据最根本的特征在于相邻观测之间存在依赖关系——今天的股票价格与昨天相关,本月的销售额与上月相连。这种依赖关系既是我们进行预测的依据,也是预测方法设计的核心关切。本章将系统阐述时间序列的数学表示、预测方法的演进脉络、方法分类的体系框架,并最终为读者勾勒出本书的知识版图与阅读路径。
时间序列的数学定义与结构分解
形式化定义与基本记号
从数学角度审视,时间序列可定义为在离散时间点上观测得到的随机变量序列。设 $T = \{1, 2, 3, \ldots, N\}$ 表示时间索引集合,则一条时间序列可表示为:
$$Y = \{y_1, y_2, y_3, \ldots, y_N\}$$
其中 $y_t$ 表示在时间点 $t$ 的观测值。当讨论多个相关时间序列时,引入向量记号更为便利:$\mathbf{y}_t = (y_{1,t}, y_{2,t}, \ldots, y_{m,t})^\top$ 表示 $m$ 维时间序列在时刻 $t$ 的取值。时间序列分析的核心任务是利用历史信息 $\mathcal{F}_t = \{y_1, y_2, \ldots, y_t\}$ 推断未来值 $y_{t+h}$,其中 $h \geq 1$ 称为预测步长或预测视野。
平稳性是时间序列分析中最基础也是最重要的概念之一。一个时间序列若满足以下两个条件,则称为严格平稳:对于任意时间间隔 $k$ 和任意时间点 $t$,联合分布 $(y_t, y_{t+1}, \ldots, y_{t+k})$ 与 $(y_{t+h}, y_{t+h+1}, \ldots, y_{t+h+k})$ 完全相同。严格平稳的条件过于苛刻,实际应用中更常用的是宽平稳假设:序列的均值和协方差结构不随时间变化。具体而言,宽平稳要求 $\mathbb{E}[y_t] = \mu$ 为常数,$\text{Cov}(y_t, y_{t-k}) = \gamma_k$ 仅依赖于时间间隔 $k$ 而与具体时间无关。协方差结构 $\gamma_k$ 随滞后阶数 $k$ 的变化构成了自协方差函数,这一函数在时间序列建模中扮演关键角色。
平稳性之所以重要,是因为它提供了一种可预测性的理论保证。在非平稳序列中,历史模式可能随时间根本性改变,基于历史数据的统计推断变得无效甚至误导。例如,若序列存在单位根或趋势漂移,则其方差会随时间无限增长,条件期望预测将失去意义。因此,时间序列预处理的首要任务往往是识别并恰当处理非平稳性。
时间序列的四大组成成分
经典时间序列分析将观测值分解为若干可解释的组成成分,这一思想可追溯至20世纪早期的工作。尽管现代方法越来越强调数据的自适应分解,但理解这些经典成分及其数学表示,仍然是构建时序认知框架的基础。
趋势成分 $T_t$ 描述了序列的长期变化方向。趋势可以是线性的、指数的、多项式的,甚至是非参数化的平滑曲线。在经典加法分解中,趋势通过移动平均或多项式拟合提取;在乘法分解中,趋势与季节成分相乘。形式上,若考虑带有漂移的随机游走模型:
$$y_t = \mu_t + \epsilon_t, \quad \mu_t = \mu_{t-1} + d$$
其中 $\mu_t$ 为时变均值,$d$ 为漂移项。趋势的非平稳性意味着序列不存在回复到固定均值的倾向,这对预测行为有深刻影响。
季节性成分 $S_t$ 反映了在固定周期内的重复模式。季节性广泛存在于经济社会数据中:零售销售额呈现年度周期,航空公司乘客数量有周模式和年模式,电力负荷随日周期和年周期波动。季节性的数学表示可分为加法季节性与乘法季节性。加法季节性假设:
$$y_t = T_t + S_t + \epsilon_t$$
其中 $S_t$ 满足周期性约束 $\sum_{j=1}^{p} S_j = 0$($p$ 为季节周期)。乘法季节性则表示为:
$$y_t = T_t \times S_t \times \epsilon_t$$
或等价地在对数空间中处理为加法形式。现代方法如STL分解允许季节性强度随时间变化,引入了更灵活的半加法分解形式。
周期性成分 $C_t$ 与季节性的区别在于其周期长度不固定,且周期本身可能随时间演变。经济数据中的商业周期、行业特有的库存周期都属于这一范畴。周期性成分通常通过谱分析或滤波方法提取,其频率特征是识别周期的关键。
残差/噪声成分 $\epsilon_t$ 代表不能被上述确定性成分解释的随机波动。在经典分解中,残差通常被假设为白噪声或低阶自相关过程。然而在真实数据中,残差往往仍然存在自相关结构,这也是Box-Jenkins方法等现代建模技术的出发点。处理残差自相关是提高预测精度的关键环节。
时间序列分解模型可统一表示为:
$$y_t = f(T_t, S_t, C_t) + \epsilon_t$$
其中 $f$ 可以是加法、乘法或更一般的函数形式。分解的目标是分离这些成分,使得每一成分可以独立建模或更简单地处理。多变量时间序列中,还需要考虑不同序列间的交叉依赖关系,这使得分解问题变得更加复杂。
随机过程视角下的时间序列
从概率论角度,时间序列被视为随机过程的一次实现。这一视角对于理解预测的本质至关重要:我们尝试基于单次实现推断随机过程的分布特征,并据此做出预测。
设 $\{Y_t, t \in \mathbb{Z}\}$ 为严格平稳的随机过程,则其概率结构完全由有限维分布族决定。由于有限维分布通常不可知,实际分析依赖于矩函数:均值函数 $\mu_t = \mathbb{E}[Y_t]$,自协方差函数 $\gamma(t, s) = \text{Cov}(Y_t, Y_s)$。对于平稳过程,均值函数为常数,自协方差仅依赖时间间隔 $\gamma_k = \text{Cov}(Y_t, Y_{t+k})$。自协方差随滞后阶数 $k$ 的衰减速度反映了序列的记忆深度:快速衰减意味着近期观测对未来预测贡献更大,而缓慢衰减则表明长期依赖关系的存在。
频域分析提供了理解时间序列的另一个维度。谱密度函数定义为自协方差函数的傅里叶变换:
$$f(\omega) = \sum_{k=-\infty}^{\infty} \gamma_k e^{-i\omega k}, \quad \omega \in [-\pi, \pi]$$
谱密度刻画了序列方差在不同频率成分上的分布。周期图是谱密度的非参数估计,通过快速傅里叶变换可高效计算。频域方法的优势在于能够直观揭示数据中隐藏的周期性结构,尤其适用于多周期叠加的复杂序列。
预测方法的范式演进
时间序列预测方法的发展经历了若干范式转换,每一次转换都代表着对预测问题本质理解的深化和建模技术的进步。从统计建模到机器学习,从线性假设到非线性建模,从参数化方法到端到端学习,这一演进脉络既反映了统计学与计算机科学的学科交叉,也体现了应用需求驱动下的技术迭代。
朴素方法与指数平滑的奠基时代
时间序列预测的实践可以追溯至19世纪末期。早期方法主要关注描述序列的历史模式和简单的趋势外推。朴素预测(Naive Forecast)是最朴素的预测策略:假设未来值等于最近一次观测,即 $\hat{y}_{t+1} = y_t$。这一方法虽然简单,却常常作为基准模型,用于评估更复杂方法的价值。如果一个先进模型的预测效果无法显著超越朴素预测,则说明该模型并未捕获序列中的有效信息。
移动平均方法通过计算最近 $k$ 期观测的算术平均来预测未来值:
$$\hat{y}_{t+1} = \frac{1}{k} \sum_{i=0}^{k-1} y_{t-i}$$
移动平均隐含地假设序列存在局部平稳性,$k$ 的选择决定了平滑程度与响应速度之间的权衡。较大的 $k$ 能够过滤更多噪声,但对趋势变化的响应较慢;较小的 $k$ 响应较快但预测更不稳定。这一权衡关系贯穿于几乎所有预测方法的设计。
指数加权移动平均(Exponentially Weighted Moving Average, EWMA)引入指数衰减权重:
$$\hat{y}_{t+1} = \alpha y_t + \alpha(1-\alpha) y_{t-1} + \alpha(1-\alpha)^2 y_{t-2} + \cdots$$
其中 $\alpha \in (0, 1)$ 为平滑参数,值越大意味着近期观测权重越高、对趋势变化的响应越快。EWMA可以递归表示为 $\hat{y}_{t+1} = \alpha y_t + (1-\alpha)\hat{y}_t$,这一形式使得计算极为高效。
Holt线性趋势方法将EWMA扩展至包含趋势成分:
$$\ell_t = \alpha y_t + (1-\alpha)(\ell_{t-1} + b_{t-1})$$ $$b_t = \beta(\ell_t - \ell_{t-1}) + (1-\beta) b_{t-1}$$ $$\hat{y}_{t+h} = \ell_t + h b_t$$
其中 $\ell_t$ 为水平估计,$b_t$ 为趋势估计,$\alpha$ 和 $\beta$ 分别为水平和趋势的平滑参数。Holt-Winters方法进一步引入季节性成分,处理包含周期模式的序列:
$$\ell_t = \alpha \frac{y_t}{s_{t-p}} + (1-\alpha)(\ell_{t-1} + b_{t-1})$$ $$b_t = \beta(\ell_t - \ell_{t-1}) + (1-\beta) b_{t-1}$$ $$s_t = \gamma \frac{y_t}{\ell_t} + (1-\gamma) s_{t-p}$$ $$\hat{y}_{t+h} = (\ell_t + h b_t) s_{t-p+h}$$
其中 $p$ 为季节周期,$s_t$ 为季节因子,$\gamma$ 为季节平滑参数。乘法形式的Holt-Winters假设季节效应与趋势呈比例关系,适用于季节波动随趋势增长的序列。
指数平滑方法的核心思想是:近期观测包含更多关于未来的信息,信息的价值随时间指数衰减。这一直觉虽然简单,但在一系列应用场景中表现出色。2000年代的系统性比较研究(如M3竞赛)表明,精心调参的指数平滑方法与更复杂的模型性能相当,凸显了简单方法的持久价值。
Box-Jenkins方法与ARIMA族模型
1970年,George Box和Gwilym Jenkins出版了《时间序列分析:预测与控制》一书,系统阐述了ARIMA模型的理论与方法,标志着时间序列分析进入了一个新的时代。这一方法框架的核心是将时间序列视为由白噪声驱动的随机过程,通过识别、估计、诊断检验的迭代过程建立合适的模型。
自回归模型(AR)假设当前值可由过去值的线性组合加上随机冲击表示:
$$y_t = \phi_1 y_{t-1} + \phi_2 y_{t-2} + \cdots + \phi_p y_{t-p} + \epsilon_t$$
其中 $\epsilon_t \sim WN(0, \sigma^2)$ 为白噪声,$p$ 为模型阶数。引入滞后算子 $L y_t = y_{t-1}$,AR($p$)模型可写为 $\phi(L) y_t = \epsilon_t$,其中 $\phi(z) = 1 - \phi_1 z - \phi_2 z^2 - \cdots - \phi_p z^p$ 为特征多项式。平稳性要求特征多项式的根全部位于单位圆外。
滑动平均模型(MA)直接对白噪声序列加权求和:
$$y_t = \epsilon_t + \theta_1 \epsilon_{t-1} + \theta_2 \epsilon_{t-2} + \cdots + \theta_q \epsilon_{t-q}$$
MA($q$)模型总是平稳的,但可逆性要求特征多项式 $1 + \theta_1 z + \theta_2 z^2 + \cdots + \theta_q z^q$ 的根在单位圆外。可逆性保证了MA过程可以表示为无穷阶AR过程,便于模型识别和预测。
ARMA模型结合了AR和MA的优点:
$$\phi(L) y_t = \theta(L) \epsilon_t$$
ARMA模型的识别依赖于样本自相关函数(ACF)和偏自相关函数(PACF)。ACF衡量 $y_t$ 与 $y_{t-k}$ 的线性相关性,PACF则度量在剔除中间变量影响后 $y_t$ 与 $y_{t-k}$ 的直接相关性。AR($p$)模型的ACF呈拖尾状、PACF在滞后$p$阶后截尾;MA($q$)模型则呈现相反模式——PACF拖尾、ACF截尾。ARMA($p,q$)模型的识别更为复杂,通常需要结合信息准则如AIC、BIC进行阶数选择。
差分整合滑动平均模型(ARIMA)通过差分处理将非平稳序列转化为平稳序列后再建模:
$$\phi(L) \Delta^d y_t = \theta(L) \epsilon_t$$
其中 $\Delta = 1 - L$ 为差分算子,$d$ 为差分阶数。若序列存在单位根,适当的差分可实现平稳化。然而过度的差分会引入不必要的随机性,导致预测效率下降。
季节性ARIMA(SARIMA)在模型中同时纳入季节和非季节成分:
$$\Phi(L^S) \phi(L) \Delta^D \Delta_s^d y_t = \Theta(L^S) \theta(L) \epsilon_t$$
其中 $S$ 为季节周期,$\Delta_s = 1 - L^S$ 为季节差分,$\Phi$ 和 $\Theta$ 分别为季节AR和MA多项式。SARIMA能够同时捕捉短期动态和季节性模式,在经济预测和供应链管理中有广泛应用。
Box-Jenkins方法的实施流程包括:数据预处理与平稳性检验、模型识别、参数估计、诊断检验与模型诊断。这一迭代过程需要分析师具备丰富的经验和对数据特性的深入理解。自动化模型选择算法的发展使得这一过程可以在一定程度上解放人力,但专家知识在处理异常情况和复杂序列时仍然不可或缺。
状态空间模型与贝叶斯预测
状态空间模型为时间序列分析提供了一个统一的概率框架。在状态空间形式下,观测序列被视为由潜在状态变量驱动的输出:
观测方程:$y_t = Z_t \alpha_t + \epsilon_t$ 状态方程:$\alpha_t = T_t \alpha_{t-1} + R_t \eta_t$
其中 $\alpha_t$ 为不可观测的状态向量,$Z_t$ 和 $T_t$ 分别为观测矩阵和状态转移矩阵,$\epsilon_t$ 和 $\eta_t$ 为独立的白噪声过程。状态空间模型的显著优势在于其对缺失值和非规则采样的自然处理能力,以及通过卡尔曼滤波实现的在线预测更新。
贝叶斯预测在状态空间框架下自然展开。先验分布结合似然函数产生后验预测分布:
$$p(y_{t+1:h} | y_{1:t}) = \int p(y_{t+1:h} | \alpha_{t:h}) p(\alpha_{t:h} | y_{1:t}) d\alpha_{t:h}$$
这一积分通常无法解析求解,需借助近似方法。粒子滤波通过序贯重要性采样近似后验分布:
$$\hat{p}(\alpha_t | y_{1:t}) \approx \sum_{i=1}^{N} w_t^{(i)} \delta(\alpha_t - \alpha_t^{(i)})$$
其中 $\alpha_t^{(i)}$ 为粒子,$w_t^{(i)}$ 为归一化权重,$N$ 为粒子数目。粒子滤波允许处理非线性、非高斯的状态空间模型,但面临粒子退化和贫化问题。
指数平滑与状态空间模型的联系是方法论发展的重要成果。Hyndman等人证明,所有指数平滑方法都可以表示为特定形式的状态空间模型,反之亦然。这一发现使得指数平滑方法获得了坚实的概率基础,也使得模型选择问题转化为比较不同状态空间模型的问题。基于这一联系发展的ETS模型(Error, Trend, Seasonal)提供了统一的模型框架和基于信息准则的自动模型选择算法。
机器学习方法的兴起
20世纪80-90年代,机器学习方法的兴起为时间序列预测带来了新的视角。与传统统计方法相比,机器学习方法通常对数据的分布假设更加宽松,能够处理高维特征和复杂的非线性关系。
特征工程是机器学习方法应用于时间序列的关键环节。原始时间序列需要转化为监督学习可用的格式:滞后的目标变量作为输入特征,同时提取时间相关特征如小时、星期、月份、假日标记等。这一过程称为时间序列的监督学习转化。设原始序列为 $\{y_1, y_2, \ldots, y_N\}$,转化后的数据集包含 $N - L$ 个样本,其中第 $i$ 个样本的输入为 $[y_{i-1}, y_{i-2}, \ldots, y_{i-L}]$,输出为 $y_i$,$L$ 为选择的最大滞后阶数。
回归树和随机森林是最早应用于时间序列预测的机器学习模型。回归树通过递归二元分裂最大化节点纯度,能够捕捉非线性关系和变量间的交互作用。随机森林通过集成多棵树的预测减少方差,提高泛化能力。特征工程的质量直接决定了这些模型的表现,领域知识在构造滞后特征、趋势特征、季节特征中发挥关键作用。
支持向量回归(SVR)通过核函数将数据映射到高维特征空间,在该空间内寻找最优线性回归函数。核函数的选择(如径向基核、多项式核)决定了模型对非线性关系的建模能力。SVR在小样本情况下表现较好,但参数调优和核函数选择需要经验。
梯度提升方法通过迭代拟合残差构建加法模型:
$$f^{(m)}(x) = f^{(m-1)}(x) + \eta \cdot h_m(x)$$
其中 $h_m$ 为第 $m$ 次迭代拟合的基学习器(通常是浅层决策树),$\eta$ 为学习率。XGBoost、LightGBM、CatBoost等实现进一步优化了计算效率和正则化策略。梯度提升方法在Kaggle等竞赛中表现出色,在时间序列预测领域也取得了显