⬆︎
×

时间序列预测任务简介

时间序列预测(Time Series Prediction)常见任务简介

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)

预测任务挑战

依赖提取中存在的挑战:

  1. 时域信息(intra-series):不同时间点之间所包含的序列变化信息
  2. 频域信息:傅里叶变换;周期信息
  3. 多变量依赖关系(inter-series)
  4. 局部与全局信息:RNN和注意力模型对全局信息提取较强,CNN着重于局部信息
  5. 信息对齐(多视角)
各种时序预测Transformers在依赖提取方面的改进……
  1. 时域信息(Autoformer时序分量解纠缠;PatchTST从点语义变为片段语义;Sageformer利用全局token进行信息的浓缩)
  2. 频域信息(Autoformer利用样本特征在频域的情况来找周期)
  3. 多变量依赖关系(iTransformer注意力用在多变量关系依赖的提取上;Sageformer用GCN,且用全局token强调独立序列)
  4. 局部与全局信息(Transformer的注意力机制与RNN、CNN的优势)
  5. 信息对齐(iTransformer舍去逐点逐片段方式,减缓不同变量时间信息不对齐的影响)

数据噪声:虽然是公开数据集,但不可否认其中存在着类似异常的离群点,且大量存在


2 预测模型的基本原理与应用

任务背景:数据增强、异常检测、隐私保护和域迁移面的需求不断增长

2.1 时间序列生成(TSG)

时间序列生成(Time Series Generation,TSG)旨在生成类似于原始的时间序列,保留时间依赖性和维度相关性,同时确保生成的时间序列对于各种下游任务仍然有用。

带条件的时间序列生成:

带条件的时间序列生成

应用场景:光伏发电量预测、园区用电量预测、股票价格预测、交通流量预测、天气预报……

TSG应用

2.2 常用方法与评价指标

常用方法:

  • MLP线性预测:线性层、RNN、CNN、GNN
  • Transformers

一般步骤:

  1. 数据处理分析(数据来源、采样步长、分布差异)
    • 数据处理方式:归一化、趋势分解、傅里叶分析
  2. 预测方法实现
  3. 模型对比评估

常用方法

(在一些简单数据集上,传统的统计学习方法并不劣于深度学习):

一般步骤图

评价指标:

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 相关数据集

以下是时序预测任务的部分常用数据集:

《时间序列预测任务简介》有1条评论

发表评论