时间序列预测:核心问题与范式演变
时间序列预测作为数据科学的核心分支,其根本目标在于利用观测序列的历史信息构建数学模型,以推断其未来演化路径。这一任务贯穿于金融资产定价、气象预报、能源负荷预测、零售需求规划等关键领域,其预测精度直接影响着经济决策的风险控制与资源优化配置的效率。然而,时间序列数据固有的非平稳性、趋势与季节性耦合、外部变量干扰以及噪声污染等特性,使得预测问题极具挑战性。一个严谨的预测框架必须首先明确定义预测目标(点预测、区间预测或概率预测),并建立与之匹配的量化评估体系,进而根据数据生成机制选择适当的模型范式。
预测问题的形式化与评估体系
时间序列预测问题可形式化定义为:给定历史观测序列 $\mathbf{y} = \{y_1, y_2, \dots, y_T\}$,其中 $y_t \in \mathbb{R}$ 表示时刻 $t$ 的标量观测值(或多变量情形下的向量),目标是构建映射函数 $f$ 使得 $\hat{y}_{T+h} = f(\mathbf{y}; \boldsymbol{\theta})$,其中 $h$ 为预测步长,$\boldsymbol{\theta}$ 为模型参数。根据输出形式,预测任务可分为三类:点预测(输出单一数值估计)、区间预测(输出置信区间)和概率预测(输出完整概率分布)。不同任务对应不同的损失函数与评估指标,选择不当可能导致模型优化方向与业务需求背离。
在点预测场景中,最常用的评估指标包括:
- **平均绝对误差(MAE)**:$ \text{MAE} = \frac{1}{N}\sum_{i=1}^{N} |y_i - \hat{y}_i| $,对异常值相对稳健,解释性强。
- **均方误差(MSE)**:$ \text{MSE} = \frac{1}{N}\sum_{i=1}^{N} (y_i - \hat{y}_i)^2 $,对较大误差赋予更高权重,数学性质优良。
- **均方根误差(RMSE)**:$ \text{RMSE} = \sqrt{\text{MSE}} $,与目标变量量纲一致。
- **平均绝对百分比误差(MAPE)**:$ \text{MAPE} = \frac{100\%}{N}\sum_{i=1}^{N} \left|\frac{y_i - \hat{y}_i}{y_i}\right| $,便于跨序列比较,但分母为零时不可用。
- **对称平均绝对百分比误差(sMAPE)**:$ \text{sMAPE} = \frac{100\%}{N}\sum_{i=1}^{N} \frac{|y_i - \hat{y}_i|}{(|y_i|+|\hat{y}_i|)/2} $,解决了MAPE的不对称问题,但仍非严格度量。
对于概率预测,常用指标包括:
- **连续排序概率得分(CRPS)**:$ \text{CRPS}(F, y) = \int_{-\infty}^{\infty} (F(z) - \mathbb{I}(y \leq z))^2 dz $,其中 $F
时间序列预测作为数据科学的核心分支,其根本目标在于利用观测序列的历史信息构建数学模型,以推断其未来演化路径。这一任务贯穿于金融资产定价、气象预报、能源负荷预测、零售需求规划等关键领域,其预测精度直接影响着经济决策的风险控制与资源优化配置的效率。然而,时间序列数据固有的非平稳性、趋势与季节性耦合、外部变量干扰以及噪声污染等特性,使得预测问题极具挑战性。一个严谨的预测框架必须首先明确定义预测目标(点预测、区间预测或概率预测),并建立与之匹配的量化评估体系,进而根据数据生成机制选择适当的模型范式。
预测问题的形式化与评估体系
时间序列预测问题可形式化定义为:给定历史观测序列 $\mathbf{y} = \{y_1, y_2, \dots, y_T\}$,其中 $y_t \in \mathbb{R}$ 表示时刻 $t$ 的标量观测值(或多变量情形下的向量),目标是构建映射函数 $f$ 使得 $\hat{y}_{T+h} = f(\mathbf{y}; \boldsymbol{\theta})$,其中 $h$ 为预测步长,$\boldsymbol{\theta}$ 为模型参数。根据输出形式,预测任务可分为三类:点预测(输出单一数值估计)、区间预测(输出置信区间)和概率预测(输出完整概率分布)。不同任务对应不同的损失函数与评估指标,选择不当可能导致模型优化方向与业务需求背离。
在点预测场景中,最常用的评估指标包括:
- **平均绝对误差(MAE)**:$\text{MAE} = \frac{1}{N}\sum_{i=1}^{N} |y_i - \hat{y}_i|$,对异常值相对稳健,解释性强。
- **均方误差(MSE)**:$\text{MSE} = \frac{1}{N}\sum_{i=1}^{N} (y_i - \hat{y}_i)^2$,对较大误差赋予更高权重,数学性质优良。
- **均方根误差(RMSE)**:$\text{RMSE} = \sqrt{\text{MSE}}$,与目标变量量纲一致。
- **平均绝对百分比误差(MAPE)**:$\text{MAPE} = \frac{100\%}{N}\sum_{i=1}^{N} \left|\frac{y_i - \hat{y}_i}{y_i}\right|$,便于跨序列比较,但分母为零时不可用。
- **对称平均绝对百分比误差(sMAPE)**:$\text{sMAPE} = \frac{100\%}{N}\sum_{i=1}^{N} \frac{|y_i - \hat{y}_i|}{(|y_i|+|\hat{y}_i|)/2}$,解决了MAPE的不对称问题,但仍非严格度量。
对于概率预测,常用指标包括:
- **连续排序概率得分(CRPS)**:$\text{CRPS}(F, y) = \int_{-\infty}^{\infty} (F(z) - \mathbb{I}(y \leq z))^2 dz$,其中 $F$ 为预测分布函数,$\mathbb{I}$ 为指示函数。CRPS 是概率预测的“黄金标准”,其值越小表示预测分布与真实观测值的匹配度越高,且对分位数预测具有一致性激励。
- **对数似然(Log-Likelihood)**:对于参数化分布(如高斯分布),最大化对数似然等价于最小化负对数似然,可直接作为训练损失。
- **分位数损失(Pinball Loss)**:用于评估分位数预测,定义为 $\text{QL}_\tau = \frac{1}{N}\sum_{i=1}^{N} \rho_\tau(y_i - \hat{y}_{i,\tau})$,其中 $\rho_\tau(u) = u(\tau - \mathbb{I}(u < 0))$,$\tau$ 为目标分位数。
实践案例:电力负荷预测中的指标选择 某区域电网需预测未来24小时负荷,用于调度安排。若仅使用MAE评估,模型可能倾向于规避极端峰值误差(因绝对值惩罚线性增长),但调度部门更关注峰值预测不准导致的停电风险(即大误差的代价极高)。此时采用RMSE或分位数损失(如90%分位数)更为合适,因其对大误差施加二次惩罚,迫使模型优先保证极端值的预测能力。一项针对ISO New England负荷数据的研究显示,当以RMSE为优化目标时,LSTM模型在峰值时段的误差比MAE目标降低17%,但非峰值时段误差上升5%,体现了指标选择与业务目标的紧密耦合。
统计预测范式的系统演进
统计预测范式建立在严密概率论基础上,其演进路径体现了对数据生成机制(Data Generating Process, DGP)认知的深化。从简单平均到ARIMA,每一步都是对先前假设的放宽与精细化。
1.1 朴素基准方法:无模型基准
在缺乏任何结构假设时,朴素方法提供无模型基准:
- **历史平均(Historical Average)**:$\hat{y}_{T+h} = \frac{1}{T}\sum_{t=1}^{T} y_t$,适用于平稳序列,但对趋势/季节性完全无效。
- **随机游走(Random Walk)**:$\hat{y}_{T+h} = y_T$,即“明天等于今天”,是金融时间序列的常见基准。其隐含假设为:一阶差分 $\Delta y_t = y_t - y_{t-1}$ 为白噪声。
- **季节性朴素(Seasonal Naive)**:$\hat{y}_{T+h} = y_{T+h-s}$,其中 $s$ 为季节周期(如月度数据 $s=12$),适用于强季节性序列。
实例分析:航空乘客数据 使用经典AirPassengers数据集(1949-1960年月度国际航空乘客数,单位千人次),其呈现明显上升趋势与年度季节性。若采用历史平均预测1961年1月值,结果为$\frac{1}{144}\sum_{t=1}^{144} y_t \approx 182$,而实际值为1961年1月的实际值(约196),误差达14人次;若采用季节性朴素(取1950年1月值112),误差高达84人次。这凸显了 naive 方法在非平稳序列中的根本局限——它们无法捕捉动态演化模式。
1.2 指数平滑家族:局部平稳假设
指数平滑法通过递归方式赋予观测值指数衰减权重,其核心思想是:近期观测比远期观测包含更多未来信息。基本形式为: $$ \hat{y}_{T+1} = \alpha y_T + (1-\alpha) \hat{y}_T $$ 其中 $\alpha \in [0,1]$ 为平滑参数,控制对新信息的响应速度。该模型等价于单指数平滑(SES),仅适用于无趋势、无季节性的平稳序列。
当序列存在趋势时,Holt线性趋势法引入水平 $l_t$ 与趋势 $b_t$ 两个状态方程: $$ \begin{aligned} l_t &= \alpha y_t + (1-\alpha)(l_{t-1} + b_{t-1}) \\ b_t &= \beta (l_t - l_{t-1}) + (1-\beta) b_{t-1} \\ \hat{y}_{T+h} &= l_T + h b_T \end{aligned} $$ 其中 $\beta$ 为趋势平滑参数。该模型假设趋势为线性且恒定,无法处理趋势斜率变化。
对于季节性数据,Holt-Winters三指数平滑进一步加入季节成分 $s_t$(周期 $m$): $$ \begin{aligned} l_t &= \alpha \frac{y_t}{s_{t-m}} + (1-\alpha)(l_{t-1} + b_{t-1}) \\ b_t &= \beta (l_t - l_{t-1}) + (1-\beta) b_{t-1} \\ s_t &= \gamma \frac{y_t}{l_t} + (1-\gamma) s_{t-m} \\ \hat{y}_{T+h} &= (l_T + h b_T) s_{T+h-m} \end{aligned} $$ 其中 $\gamma$ 为季节平滑参数。该模型可处理加性或乘性季节性(通过除法/减法实现),但假设季节模式固定不变。
局限性与实践陷阱: 指数平滑法的核心假设是局部平稳性——即序列在短期窗口内可近似为平稳,且趋势/季节性成分缓慢变化。然而,真实数据常出现:
- **结构断点**:如2020年疫情导致全球航空需求骤降,Holt-Winters模型因过度依赖历史季节性而严重失真。
- **非线性趋势**:如技术产品生命周期呈S型增长,线性趋势假设失效。
- **多季节性**:如每小时电力数据同时具有日周期(24小时)、周周期(168小时)、年周期(8760小时),传统Holt-Winters仅支持单一周期。
一项针对M3 Competition数据集的回顾分析显示,Holt-Winters在制造业月度数据上表现良好(因季节性稳定),但在金融高频数据上显著落后于ARIMA,凸显其假设的脆弱性。
1.3 ARIMA建模框架:Box-Jenkins方法论
自回归积分滑动平均(ARIMA)模型由Box和Jenkins系统化,其通用形式为ARIMA$(p,d,q)$,其中:
- $p$:自回归阶数,使用过去 $p$ 个值
- $d$:差分阶数,使序列平稳化
- $q$:移动平均阶数,使用过去 $q$ 个误差
模型方程: $$ \phi(B)(1-B)^d y_t = \theta(B) \varepsilon_t $$ 其中 $B$ 为滞后算子($B y_t = y_{t-1}$),$\phi(B)=1-\phi_1 B-\dots-\phi_p B^p$ 为自回归多项式,$\theta(B)=1+\theta_1 B+\dots+\theta_q B^q$ 为移动平均多项式,$\varepsilon_t \sim \text{WN}(0,\sigma^2)$ 为白噪声。
建模流程(Box-Jenkins方法): 1. 平稳性检验:通过ADF(Augmented Dickey-Fuller)检验判断 $d$。若序列不平稳,逐阶差分直至平稳(通常 $d \leq 2$)。 2. 模型识别:根据平稳序列的自相关函数(ACF)与偏自相关函数(PACF)图确定 $p,q$:
- AR($p$):ACF拖尾,PACF在 $p$ 阶截尾
- MA($q$):ACF在 $q$ 阶截尾,PACF拖尾
- ARMA($p,q$):ACF/PACF均拖尾
3. 参数估计:采用极大似然估计(MLE)或条件最小二乘法。 4. 模型诊断:检验残差是否为白噪声(Ljung-Box检验),若不满足则调整 $p,q$。 5. 预测:基于估计模型进行滚动预测。
实例:美国工业产出指数 以美国联邦储备局的工业产出指数(1967-2020年月度数据)为例:
- 原始序列显示明显上升趋势与商业周期波动,ADF检验p值>0.05,不平稳。
- 一阶差分后序列平稳(ADF p<0.01),ACF在滞后1处显著,PACF在滞后1、2处截尾,初步判定ARIMA(2,1,0)。
- 拟合后残差Ljung-Box检验p>0.05,模型通过诊断。
- 预测显示:模型能捕捉中长期趋势,但对2008年金融危机导致的骤降反应滞后约3个月,因ARIMA依赖历史线性关系,难以预见结构突变。
ARIMA的深层局限:
- **线性假设**:$\phi(B) y_t$ 为线性组合,无法捕捉阈值效应(如“油价高于80美元时需求弹性变化”)或交互作用。
- **同方差假设**:残差方差恒定,但金融序列常呈现波动聚集(Volatility Clustering),需引入GARCH族模型扩展。
- **单变量局限**:无法直接纳入外部变量(如气温对电力需求的影响),需依赖外生ARIMAX或动态回归,但参数解释复杂。
- **平稳性强制**:差分虽可平稳化序列,但也滤除了长期趋势信息,可能导致过度差分损失信号。
- **参数选择主观性**:ACF/PACF截尾判断依赖经验,自动化工具(如`auto.arima`)虽缓解但无法保证全局最优。
1.4 状态空间模型与卡尔曼滤波:更一般的框架
ARIMA可视为状态空间模型的特例。一般状态空间模型定义如下: $$ \begin{aligned} \text{观测方程:} \quad & y_t = Z_t \alpha_t + \varepsilon_t, \quad \varepsilon_t \sim N(0, H_t) \\ \text{状态方程:} \quad & \alpha_{t+1} = T_t \alpha_t + R_t \eta_t, \quad \eta_t \sim N(0, Q_t) \end{aligned} $$ 其中 $\alpha_t$ 为不可观测的状态向量(如水平、趋势、季节成分)。通过卡尔曼滤波递归计算状态的最优估计(给定历史数据),实现预测、平滑与滤波。
Holt-Winters模型可轻松表示为状态空间形式,且允许模型不确定性(如$\alpha,\beta,\gamma$随机游走)。更一般的结构时间序列模型(如局部线性趋势模型、带季节效应的结构模型)均在此框架下统一。其优势在于:
- **统一处理缺失值**:卡尔曼滤波天然支持不规则时间序列。
- **时变参数**:状态转移矩阵 $T_t$ 可设计为时变,适应结构变化。
- **与贝叶斯推断结合**:通过MCMC或粒子滤波处理非线性非高斯状态空间模型。
然而,状态空间模型仍属于线性高斯框架,对非线性关系需扩展为非线性状态空间模型,但此时卡尔曼滤波不再最优,需采用扩展卡尔曼滤波(EKF)或无迹卡尔曼滤波(UKF),计算复杂度与误差均显著增加。
机器学习范式的兴起:驱动因素与核心优势
21世纪初以来,机器学习方法在时间序列预测领域迅速渗透,其驱动力源于统计模型在复杂现实场景中的系统性失效,以及计算资源与数据可用性的革命性提升。
2.1 特征工程自动化:从手动构造到数据驱动
传统统计模型依赖人工构造特征(如滞后项、移动平均、季节虚拟变量),这一过程需要领域知识且难以覆盖复杂模式。机器学习通过自动特征提取与特征选择突破此瓶颈:
- **滞后特征矩阵化**:将单变量序列转化为监督学习问题。例如,用过去 $p$ 个时刻值预测当前值,构造特征矩阵 $\mathbf{X} \in \mathbb{R}^{T-p \times p}$,标签 $\mathbf{y} \in \mathbb{R}^{T-p}$。此操作将时间序列问题转化为标准回归问题,可直接应用任意回归模型。
- **滚动统计特征**:自动计算窗口统计量(均值、标准差、偏度、峰度、自相关系数等),捕捉局部动态。例如,`tsfresh`库可自动提取750+时间序列特征,并通过假设检验筛选显著特征。
- **频域特征**:通过傅里叶变换或小波变换提取主导频率成分,适用于强周期性序列(如电网负荷的日/周周期)。
实例:M5 Forecasting竞赛 2020年M5竞赛预测沃尔玛42个门店商品未来28天销量,数据包含历史销量、价格、促销、节假日等。获胜方案(如Second Place的“FFORMA”)核心创新在于: 1. 使用`tsfresh`从每个商品时间序列自动提取数百个特征(如滞后1-7天销量、滚动7天标准差、季节性强度等)。 2. 训练元学习器(如LightGBM)学习“哪种基准模型(如ARIMA、ETS、Theta)在特定特征下表现最佳”。 3. 为每个商品动态选择最优基准模型组合。 该方案击败了纯深度学习模型,证明**特征工程自