时间序列预测(Time Series Prediction)常见任务简介
Hyplus目录
1 时序预测的基本概念
以IoT场景为例,海量设备产生的各种指标数据可视为时序数据。单个设备产生的多种指标的时序数据,或多个设备产生的同一变量的数据,构成了多变量时序数据。
预测未来数据:提前使设备开始执行容器的创建或资源分配,以使设备面对未来到来的运行压力时尽可能处于运算资源充分的状态,从而提高系统运行效率;预测信息还可用于提前告警等多个业务场景。
1.1 时序任务分类
给定历史观测窗口X=\{x_i\}_{i=1}^L
,预测一段长度的未来时间序列窗口Y=\{y_j\}_{j=L+1}^{L+\tau}
,x_i,y_j\in \mathbb{R}^M
,其中L
为历史观测窗口大小,M
为每个时间点可记录的数据维度(即变量数量),\tau
为预测长度。根据不同尺度,可将时序预测分为:
- 变量数量
- 单变量预测:
M=1
- 多变量预测:
M \gt 1 \text{ or } M \gg 1
- 单变量预测:
- 预测长度
- 长时序预测:
L \lt \tau \text{ or } \tau \gg 1
- 段时序预测:
L \gt \tau \text{ or } \tau = 1
- 长时序预测:
常见的任务:预测、缺失值插补、异常检测、时间序列数据分类、时序数据生成……

四大主要任务:异常点检测、长/短期预测、缺失值填补、时序数据分类
1.2 时序预测任务的挑战
常见的预测任务挑战:周期性(Seasonality)、趋势性(Trend)、概念漂移(Shifting)、平稳性(Stationarity)、转移(Transition)
依赖提取中存在的挑战:
- 时域信息(intra-series):不同时间点之间所包含的序列变化信息
- 频域信息:傅里叶变换;周期信息
- 多变量依赖关系(inter-series)
- 局部与全局信息:RNN和注意力模型对全局信息提取较强,CNN着重于局部信息
- 信息对齐(多视角)
各种时序预测Transformers在依赖提取方面的改进……
- 时域信息(Autoformer时序分量解纠缠;PatchTST从点语义变为片段语义;Sageformer利用全局token进行信息的浓缩)
- 频域信息(Autoformer利用样本特征在频域的情况来找周期)
- 多变量依赖关系(iTransformer注意力用在多变量关系依赖的提取上;Sageformer用GCN,且用全局token强调独立序列)
- 局部与全局信息(Transformer的注意力机制与RNN、CNN的优势)
- 信息对齐(iTransformer舍去逐点逐片段方式,减缓不同变量时间信息不对齐的影响)
数据噪声:虽然是公开数据集,但不可否认其中存在着类似异常的离群点,且大量存在
2 预测模型的基本原理与应用
任务背景:数据增强、异常检测、隐私保护和域迁移面的需求不断增长
2.1 时间序列生成(TSG)
时间序列生成(Time Series Generation,TSG)旨在生成类似于原始的时间序列,保留时间依赖性和维度相关性,同时确保生成的时间序列对于各种下游任务仍然有用。
带条件的时间序列生成:
应用场景:光伏发电量预测、园区用电量预测、股票价格预测、交通流量预测、天气预报……
2.2 常用方法与评价指标
常用方法:
- MLP线性预测:线性层、RNN、CNN、GNN
- Transformers

一般步骤:
- 数据处理分析(数据来源、采样步长、分布差异)
- 数据处理方式:归一化、趋势分解、傅里叶分析
- 预测方法实现
- 模型对比评估
(在一些简单数据集上,传统的统计学习方法并不劣于深度学习):
评价指标:
MAE = \frac1h \sum\limits_{k=1}^h |F_k-Y_k| \\
MSE = \frac1h \sum\limits_{k=1}^h (F_k-Y_k)^2
2.3 时间信息编码示例
示例代码与详解:
傅里叶变换、小波变换:
2.4 季节趋势分解
3 相关数据集
以下是时序预测任务的部分常用数据集:
- Electricity Load Diagrams 2011-2014 (UCI): 包含约3年内370个用户(主要是企业)的15分钟电力负载数据,常用于负载预测、能耗异常检测等任务。
- Beijing Multi-Site Air-Quality Data: 包含北京多个站点的空气质量指标与气象数据,可用于空气质量预测、污染物浓度预测等多变量时序任务。
- Traffic Forecasting (PEMS-BAY & METR-LA): 包括加州湾区(PEMS-BAY)和洛杉矶(METR-LA)的高速公路交通流量数据,常用于交通流量预测和图时序建模。
- M4 Time Series Dataset: 覆盖金融、宏观经济、人口、行业、其他领域等多个层次的10万条真实时间序列,适合通用序列预测算法的评测。
- Weather Dataset (Jena Climate): 包含德国Jena地区10分钟粒度的气象数据,适合多步天气预测等任务。
- Exchange Rate Dataset: 涵盖8种国家货币对美元的汇率数据,常用于金融时间序列的多变量预测。
- ETT (Electricity Transformer Temperature): 包含变压器电气量、温度、负载等信息,适合多步、多变量的工业时序预测。
- Solar Energy Dataset: 记录美国多个太阳能发电站的太阳能产出,常用于可再生能源发电量预测。
- Kaggle Web Traffic Time Series Forecasting: 包含Wikipedia页面浏览量,适合大规模网页流量预测、异常检测等任务。
- Rossmann Store Sales: 德国Rossmann药店的每日销售及相关信息,常用于零售销售预测。
- Yahoo Webscope S5 Dataset: 真实与合成的多类时间序列数据集,广泛用于异常检测任务。
- NASDAQ 100 Stock Data: 包含纳斯达克100指数下多只股票的分钟级交易数据,适合金融市场预测相关研究。
- Air Passenger Dataset: 经典的航空旅客月统计数据,常用于时间序列预测入门案例。
- COVID-19 Time Series Data: 新冠疫情全球每日病例与死亡人数数据,适用于疫情传播趋势建模与预测。
- PhysioNet Challenge Datasets: 包含多种生理信号的时序数据集,广泛应用于医疗时序预测与异常检测。
- WeatherBench: 高分辨率全球气象再分析数据集,适合气象变量预测和天气预报模型训练。
《时间序列预测任务简介》有1条评论