第1章:时间序列基础与预测挑战 / Chapter 1: Fundamentals of Time Series and Forecasting Challenges
时间序列是按照时间顺序排列的一系列观测值的数据集合,其核心在于观测值之间存在时间上的依赖关系。这种依赖关系可能表现为短期记忆(如昨日股价影响今日股价)或长期记忆(如经济周期跨越数十年)。时间序列数据普遍存在于自然科学、社会科学、工程技术和商业决策中,其预测价值在于从历史模式中提取信息,以推断未来状态。然而,时间序列预测面临独特挑战:数据通常具有非平稳性、噪声干扰、结构变化,且预测精度随时间 horizon 延长而急剧下降。本章将系统阐述时间序列的基础概念、核心特征、预测任务分类及主要挑战,为全书奠定理论基础。
1.1 时间序列的定义与核心特征
1.1.1 时间序列的正式定义
从数学角度,时间序列是一个随机过程 $\{Y_t\}$ 在离散时间点 $t \in \mathbb{Z}$ 上的实现。通常观测到的是有限长度的样本 $\{y_1, y_2, ..., y_T\}$,其中 $T$ 为序列长度。时间序列分析的前提假设是观测值之间存在自相关性(autocorrelation),即 $Y_t$ 与 $Y_{t-k}$($k>0$)并非相互独立。这种依赖性可通过自相关函数(ACF)和偏自相关函数(PACF)量化。
时间序列数据可分解为四个组成部分,这一分解框架由经典统计学家如布西(Bulushek)和普雷布尔(Preble)在20世纪中叶系统化:
$$y_t = T_t + S_t + C_t + I_t$$
其中:
- $T_t$:趋势(Trend),表示序列的长期运动方向
- $S_t$:季节性(Seasonality),周期固定(如年、季度、月、周)的重复模式
- $C_t$:周期性(Cyclicity),非固定周期的波动,通常与经济周期相关
- $I_t$:不规则性(Irregularity),随机噪声与测量误差
1.1.2 四大核心特征的深入解析
趋势(Trend) 反映序列的长期水平变化,可能表现为线性、指数或多项式形式。例如,全球平均气温序列呈现明显的上升趋势(图1.1a),而某成熟产品的月销量可能因市场饱和呈下降趋势。趋势的识别至关重要,因为许多预测模型要求输入序列为平稳(stationary)——即均值、方差和自相关结构不随时间变化。趋势的存在直接破坏平稳性,因此通常需要差分或去趋势处理。
季节性(Seasonality) 指周期固定且已知的重复模式。典型周期包括:
- 日周期:24小时(如电网负荷、网站访问量)
- 周周期:7天(如零售销售、交通流量)
- 年周期:12个月(如空调销售、旅游收入)
- 季度周期:4季度(如企业财报)
季节性强度可通过季节性指数衡量。例如,某超市12月销售额是年平均值的1.8倍,则12月的季节性指数为1.8。季节性分解方法包括经典分解(加法/乘法模型)、STL(Seasonal-Trend decomposition using Loess)和X-13ARIMA。STL的优势在于能处理任意周期、允许季节性强度随时间变化,且对异常值稳健。
周期性(Cyclicality) 与季节性关键区别在于周期长度不固定且通常较长(>1年)。经济周期(如繁荣-衰退-萧条-复苏)是典型例子,其周期从2年到10年不等。周期性成分难以用固定频率的傅里叶项捕捉,常通过带通滤波(如HP滤波)或状态空间模型分离。
不规则性(Irregularity) 包含两部分: 1. 随机波动:不可预测的随机扰动,理想情况下应服从白噪声(零均值、同方差、无自相关) 2. 异常值(Outliers):显著偏离模式的观测点,可能由测量错误、突发事件(如系统故障、自然灾害)引起
异常值检测方法包括:
- 统计方法:基于3σ原则、IQR(四分位距)
- 模型方法:ARIMA残差分析、状态空间模型的新息检测
- 机器学习:孤立森林、LOF(局部离群因子)
不规则性的方差可能随时间变化,即异方差性(Heteroscedasticity)。金融收益率序列常呈现“波动聚集”(volatility clustering)——大波动后接大波动,小波动后接小波动,需用GARCH类模型处理。
1.1.3 时间序列的分类体系
除按成分分解外,时间序列还可根据其他维度分类:
按时间粒度:
- 高频:Tick数据(毫秒级)、分钟级(如交易数据)
- 中频:小时级、日度
- 低频:月度、季度、年度
按观测连续性:
- 连续时间序列:理论上连续观测(如物理传感器)
- 离散时间序列:固定间隔观测(绝大多数实际数据)
按维度:
- 单变量时间序列(Univariate):仅一个变量随时间变化
- 多变量时间序列(Multivariate):多个变量同时观测,变量间可能存在动态交互(如经济指标系统)
- 面板时间序列(Panel):多个独立序列的集合(如多家公司的股价)
按统计特性:
- 平稳序列:统计特性不随时间变化
- 非平稳序列:含趋势、季节性或结构性断点
- 季节性序列:含固定周期模式
- 稀疏序列:大量缺失值或零值(如销量数据中多数商品多数时点无销售)
1.2 应用场景与领域差异
时间序列预测的价值在于将历史模式转化为未来洞见,但不同领域的数据特性与预测目标差异显著。
1.2.1 金融领域:高频、高噪声、非平稳
典型任务:股价预测、波动率预测、风险价值(VaR)估计、交易信号生成。
数据特性:
- 采样频率高(毫秒至日度)
- 信噪比极低,有效信号常被市场微观结构噪声掩盖
- 非平稳性强,存在结构性断点(如政策变化、金融危机)
- 多尺度依赖:微观(订单流)、中观(日度收益)、宏观(经济周期)
案例:标普500指数日度收益率预测。收益率序列通常接近平稳(均值零),但方差时变。经典预测方法包括GARCH(1,1)捕捉波动聚集,而LSTM可尝试捕捉非线性依赖。然而,有效市场假说认为公开历史信息无法持续获得超额收益,使得预测极具挑战性。
领域特殊挑战:
- 交易成本约束:预测精度需覆盖成本才具经济价值
- 过拟合风险:高维度特征(技术指标)易导致数据窥探偏差
- 非对称损失:上涨预测错误与下跌预测错误的经济后果不同
1.2.2 气象与气候:物理约束、多尺度、空间依赖
典型任务:温度/降水预报、极端天气预警、能源需求预测(基于天气)。
数据特性:
- 物理过程主导,受 Navier-Stokes 方程等约束
- 多尺度现象:日变化(太阳辐射)、季节循环、年际振荡(如ENSO)
- 强空间相关性:相邻气象站数据高度相似
- 观测误差与缺失(如自动站故障)
案例:北京日最高温度预测。传统数值天气预报(NWP)基于物理模型,计算成本高。统计方法如ARIMA可捕捉短期自相关,但难以处理季节转换(如春季到夏季的突变)。机器学习方法(如梯度提升树)使用历史温度、湿度、气压等特征,可提升短期精度,但长期预测仍依赖NWP。
领域特殊挑战:
- 混沌敏感性:初始条件微小误差导致长期预测失效(蝴蝶效应)
- 极端事件稀有性:台风、热浪等样本少,传统方法难以学习
- 气候趋势干扰:全球变暖导致温度序列非平稳,历史模式可能失效
1.2.3 工业与物联网:设备健康、缺失值多、异常检测
典型任务:设备剩余使用寿命(RUL)预测、故障预警、生产质量预测。
数据特性:
- 多传感器同步采集(振动、温度、电流等)
- 运行周期长,多数时间设备正常,故障数据稀少
- 缺失值常见:传感器故障、通信中断
- 概念漂移:设备老化导致模式变化
案例:航空发动机RUL预测。NASA提供公开数据集,包含多个发动机在失效前的多变量传感器序列。挑战在于:正常阶段长,退化阶段短;不同发动机寿命差异大;传感器噪声大。方法上,早期研究用基于模型(如PHM)或特征工程+回归(如随机森林),近年深度学习(如CNN-LSTM)可自动提取退化特征。
领域特殊挑战:
- 标签稀缺:故障事件少,监督学习困难
- 实时性要求:预测需在资源受限边缘设备运行
- 安全关键:误报(不必要停机)与漏报(灾难性故障)代价不对称
1.2.4 零售与需求预测:稀疏、促销干扰、层级结构
典型任务:单品销量预测、库存优化、促销效果评估。
数据特性:
- 零值比例高(长尾分布):多数商品多数时间无销售
- 促销与节假日造成脉冲式峰值
- 产品层级结构:SKU → 品类 → 部门
- 空间关联:邻近门店销量相似
案例:沃尔玛商品周销量预测。数据包含数万SKU,促销日历、价格、节假日信息。挑战包括:新品无历史数据(冷启动)、促销不可预测、季节性复杂(如圣诞季提前)。方法上,传统使用指数平滑(如Croston's method处理稀疏),现代用梯度提升树(如LightGBM)整合促销特征,或深度学习(如DeepAR)学习跨商品共享模式。
领域特殊挑战:
- 预测粒度与聚合权衡:细粒度预测难但价值高,粗粒度易但损失信息
- 促销预测:需建模促销增量(baseline + uplift),但历史促销数据有限
- 决策集成:预测需直接输入库存优化模型,评估需用业务指标(如缺货率、周转率)
1.2.5 能源与电力:强季节性、法规驱动、物理约束
典型任务:电力负荷预测、可再生能源出力预测(风电、光伏)、能源价格预测。
数据特性:
- 强多重季节性:日周期(早晚峰)、周周期(工作日/周末)、年周期(夏天空调/冬季取暖)
- 气象敏感:负荷与温度强相关,光伏出力与日照强度直接挂钩
- 政策影响:补贴、碳交易价格影响新能源投资与出力
- 空间网络:电网节点功率平衡约束
案例:某区域电网日负荷预测。负荷曲线呈明显“双峰”模式(上午8-10点、下午6-8点),周末峰值降低。温度超过25°C后空调负荷急剧上升。预测需整合历史负荷、天气预报、节假日、事件(如大型体育赛事)。误差直接影响调度成本:预测偏高导致备用机组闲置,预测偏低需启动高价燃气轮机。
领域特殊挑战:
- 极端天气:热浪/寒潮导致负荷突破历史极值,模型外推风险高
- 可再生能源不确定性:风电/光伏出力依赖天气,误差大且需概率预测
- 多目标平衡:预测需同时考虑经济性、可靠性与碳排放
1.3 预测任务的基本分类
预测任务根据输出形式分为三大类,其复杂度与信息量递增。
1.3.1 点预测(Point Forecasting)
输出单一最优值 $\hat{y}_{T+h|T}$,作为未来 $h$ 步的预测。这是最传统形式,假设损失函数为二次损失(即最小化均方误差),最优预测为条件期望:
$$\hat{y}_{T+h|T} = \mathbb{E}[Y_{T+h} | \mathcal{F}_T]$$
其中 $\mathcal{F}_T$ 是截至 $T$ 的信息集。
评估指标:
- MAE(平均绝对误差):$\frac{1}{H}\sum_{h=1}^H |y_{T+h} - \hat{y}_{T+h|T}|$
- RMSE(均方根误差):$\sqrt{\frac{1}{H}\sum_{h=1}^H (y_{T+h} - \hat{y}_{T+h|T})^2}$
- MAPE(平均绝对百分比误差):$\frac{100\%}{H}\sum_{h=1}^H \left|\frac{y_{T+h} - \hat{y}_{T+h|T}}{y_{T+h}}\right|$(零值问题)
- sMAPE(对称平均绝对百分比误差):$\frac{100\%}{H}\sum_{h=1}^H \frac{|y_{T+h} - \hat{y}_{T+h|T}|}{(|y_{T+h}| + |\hat{y}_{T+h|T}|)/2}$
适用场景:决策对点估计敏感,如库存补货(需确定订货量)、能源调度(需确定发电计划)。但点预测忽略不确定性,在风险敏感场景(如金融保证金计算)可能误导。
1.3.2 区间预测(Interval Forecasting)
输出预测区间 $[\hat{y}_{T+h|T}^{L}, \hat{y}_{T+h|T}^{U}]$,以一定置信水平(如95%)覆盖未来真实值。
核心参数:
- 置信水平 $1-\alpha$(通常 $\alpha=0.05$)
- 区间长度:反映不确定性大小
- 区间覆盖率(Coverage):真实值落在区间内的比例,应接近 $1-\alpha$
生成方法: 1. 参数化方法:假设预测误差服从正态分布,基于点预测的方差计算。例如,ARIMA模型可导出预测误差方差。 2. 分位数回归:直接预测不同分位数(如0.05, 0.5, 0.95),不假设分布。 3. Bootstrap:从残差重采样生成预测分布,提取分位数。 4. 贝叶斯方法:后验预测分布直接给出区间。
评估指标:
- 区间覆盖率(目标:$1-\alpha$)
- 区间平均宽度(越窄越好,但需保证覆盖率)
- 区间评分(Interval Score):综合覆盖率与宽度的损失函数,如:
$$IS = (U-L) + \frac{2}{\alpha}(L-y)\mathbb{I}(y<L) + \frac{2}{\alpha}(y-U)\mathbb{I}(y>U)$$
适用场景:风险管理(如电力系统备用容量规划需95%置信区间)、库存安全库存设定(基于预测区间确定缓冲)。
1.3.3 概率预测(Probabilistic Forecasting)
输出完整概率分布 $F_{T+h|T}(y) = P(Y_{T+h} \le y | \mathcal{F}_T)$ 或概率密度函数 $f_{T+h|T}(y)$。这是最丰富的形式,包含区间预测所有信息。
表示方式:
- **参数分布**:假设服从正态、对数正态、负二项等,预测参数(均值、方差)
- **分位数函数**:预测一系列分位数(如1%, 5%, ..., 99%)
- **非参数密度**:核密度估计、直方图
- **离散分布**:适用于整数序列(如销量),预测概率质量函数
评估指标:
- **CRPS(连续排序概率评分)**:最常用,惩罚整个分布误差:
$$CRPS(F, y) = \int_{-\infty}^{\infty} [F(z) - \mathbb{I}(y \le z)]^2 dz$$ 对离散分布可计算为分位数加权绝对误差。
- **对数似然**:若模型给出密度,可用负对数似然。
- **分位数损失**:对每个分位数 $\tau$,使用分位数损失(pinball loss):
$$\rho_\tau(y, \hat{q}) = \begin{cases} \tau(y - \hat{q}) & \text{if } y \ge \hat{q} \\ (1-\tau)(\hat{q} - y) & \text{if } y < \hat{q} \end{cases}$$
- **能量分数**、**散布评分**等
适用场景:不确定性主导的决策,如期权定价(需整个收益分布)、电网不确定性调度(需风电/光伏出力分布)、保险理赔预测。概率预测允许决策者根据风险偏好选择行动(如保守者关注左尾,激进者关注右尾)。
1.3.4 三类任务的对比与选择
| 维度 | 点预测 | 区间预测 | 概率预测 | |------|--------|----------|----------| | 信息量 | 最低 | 中等 | 最高 | | 计算复杂度 | 低 | 中 | 高 | | 评估严格性 | 低(单点误差) | 中(覆盖率+宽度) | 高(全分布) | | 决策支持 | 确定性优化 | 风险约束优化 | 期望效用最大化 | | 典型模型 | ARIMA、ETS、线性回归 | 分位数回归、Bootstrap ARIMA | DeepAR、全连接网络+分布头 |
选择指南:
- 若决策损失函数为二次型(如均方误差),点预测最优。
- 若决策需满足置信约束(如“服务水平不低于95%”),需区间预测。
- 若决策为风险厌恶/寻求,需概率预测计算条件风险价值(CVaR)或期望效用。
- 实际中,概率预测可退化为点预测(取中位数)或区间预测(取分位数),但反向不可行。
1.4 核心挑战:从统计难题到现实复杂性
时间序列预测的困难不仅来自模型局限,更源于数据本身的复杂性与现实约束。
1.4.1 非平稳性(Non-stationarity)
定义:序列的统计特性(均值、方差、自相关)随时间变化。平稳性是经典统计模型(如ARIMA)的核心假设,非平稳性会导致模型误设、预测偏差。
类型: 1. 趋势非平稳:均值线性/非线性变化。例如,全球CO2浓度呈指数增长。 2. 方差非平稳(异方差):方差时变。例如,股票收益率平方序列显示波动聚集。 3. 结构突变(Structural Break):分布参数在某一时点永久改变。如2008年金融危机后,股市波动率水平上升。 4. 季节性强度变化:如零售业“黑色星期五”促销导致11月季节性指数逐年增长。
诊断方法:
- **图形诊断**:时序图、滚动均值/方差图
- **统计检验**:
- ADF检验(Augmented Dickey-Fuller):检验单位根(趋势非平稳)
- KPSS检验:检验趋势平稳(原假设为平稳,与ADF互补)
- 方差比检验:检验方差稳定性
- **变化点检测**:PELT、Binary Segmentation、Window-based方法
处理方法:
- **差分**:$y_t' = y_t - y_{t-1}$ 消除趋势,可能需季节性差分 $y_t' = y_t - y_{t-s}$($s$为季节周期)
- **变换**:对数变换稳定方差(尤其适用于乘法模型),Box-Cox变换 generalize
- **去趋势/去季节**:拟合趋势项(线性、局部线性如LOESS)或季节因子后取残差
- **分段建模**:检测变化点后分段拟合不同模型
- **自适应模型**:允许参数随时间变化,如状态空间模型、在线学习
案例:美国实际GDP序列。经对数变换后仍含趋势,一阶差分后近似平稳,但2008年金融危机后波动率上升,需GARCH处理残差异方差。
1.4.2 缺失值(Missing Values)
来源:
- 系统故障:传感器断电、通信中断
- 人工剔除:数据清洗移除异常
- 自然稀疏:零售中多数商品多数时点无销售
- 隐