社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习时间序列的综述

kaggle竞赛宝典 • 1 年前 • 336 次点击  
↑↑↑关注后"星标"kaggle竞赛宝典
  kaggle竞赛宝典  


时间序列的综述

摘要:时间序列一般是指对某种事物发展变化过程进行观测并按照一定频率采集得出的一组随机变量。时间序列预测的任务就是从众多数据中挖掘出其蕴含的核心规律并且依据已知的因素对未来的数据做出准确的估计。由于大量物联网数据采集设备的接入、多维数据的爆炸增长和对预测精度的要求愈发苛刻,导致经典的参数模型以及传统机器学习算法难以满足预测任务的高效率和高精度需求。近年来,以卷积神经网络、循环神经网络和 Transformer 模型为代表的深度学习算法在时间序列预测任务中取得了丰硕的成果。为进一步促进时间序列预测技术的发展,综述了时间序列数据的常见特性、数据集和模型的评价指标,并以时间和算法架构为研究主线,实验对比分析了各预测算法的特点、优势和局限;着重介绍对比了多个基于 Transformer 模型的时间序列预测方法;最后结合深度学习应用于时间序列预测任务存在的问题与挑战对未来该方向的研究趋势进行了展望。(文末附论文下载地址)

1 前言

着社会中物联网传感器的广泛接入,几乎所 有科学领域都在以不可估量的速度产生大量的时 间序列数据。传统参数模型和机器学习算法已难以 高效准确地处理时间序列数据,因此采用深度学习 算法从时间序列中挖掘有用信息已成为众多学者 关注的焦点。分类聚类[1-4]、异常检测[5-7]、事件预测[8-10]、时 间序列预测[11-14]是时间序列数据的四个重点研究方 向。已有的时序预测综述文章,概括了经典的参数模型以及传统机器学习算法的相关内容,但缺少对Transformer 类算法最新成果的介绍和在各行业常用数据集的实验对比分析。余下内容将以深度学习的视角重点分析阐述有关时间序列预测方向的内容,并在多种 GPU 环境下对不同数据集采用多个评价指标进行实验对比分析。基于深度学习的时间序列预测算法发展脉络如图1 所示:

时间序列预测是时间序列任务中最常见和最 重要的应用,通过挖掘时间序列潜在规律,去进行 类推或者延展用于解决在现实生活中面临的诸多 问题,包括噪声消除[15]、股票行情分析[16-17]、电力 负荷预测[18]、交通路况预测[19-20]、流感疫情预警[21] 等。

当时间序列预测任务提供的原始数据仅为目 标数据的历史数据时,为单变量时间序列预测,当 提供的原始数据包含多种随机变量时,为多变量时 间序列预测。时间序列预测任务根据所预测的时间跨度长短,可划分为四类,具体如图2 所示:

文章余下部分主要介绍基于深度学习的时间 序列预测算法研究,其中第二节介绍时间序列数据 特性,第三节介绍了时间序列预测任务的常用数据 集和评价指标,第四节介绍了深度学习的研究进展 及在时间序列预测领域的应用,第五节展望未来深 度学习在时序预测领域的研究方向。

2 时间序列数据的特性 

时间序列预测是对前 t -1个时刻的历史数据学 习分析,来估计出指定未来时间段的数据值。时间 序列数据由于其各变量间固有的潜在联系,常表现 出一种或多种特性,为对时序预测有更全面的认 识,本节将对这些常见特性进行详细介绍。

(1)海量性:随着物联网传感器设备的升级,测 量频率的提高,测量维度的增加,时间序列数据爆 炸性增长,高维度的时间序列数据占据主流[22]。在 数据集层面进行有效的预处理工作,是高质量完成 时间序列预测任务的关键。

(2)趋势性:当前时刻数据往往与前一段时刻数 据有着密切的联系,该特点暗示了时间序列数据受 其他因素影响通常有一定的变化规律,时间序列可能在长时间里展现出一种平稳上升或平稳下降或保持水平的趋势。

(3)周期性:时间序列中数据受外界因素影响,在长时间内呈现出起起落落的交替变化[23],例如,涨潮退潮,一周内潮水高度不符合趋势性变化,并不是朝着某一方向的近似直线的平稳运动。

(4)波动性:随着长时间的推移和外部多因素影响,时间序列的方差和均值也可能会发生系统的变化,在一定程度上影响时间序列预测的准确度。

(5)平稳性:时间序列数据个别为随机变动,在不同时间上呈统计规律,在方差与均值上保持相对稳定。

(6)对称性:若某段时间周期内,原始的时间序列和其反转时间序列的距离控制在一定的阈值以内,曲线基本对齐,即认定该段时间序列具有对称性[24],例如港口大型运输车往复作业,起重机抬臂和降臂工作等。

3.  基于深度学习的时间序列预测方法

基于深度学习的时间序列预测方法 最初预测任务数据量小,浅层神经网络训练速 度快,但随着数据量的增加和准确度要求的不断提 高,浅层神经网络已经远不能满足任务需求。近年 来,深度学习引起了各领域研究者的广泛关注,深 度学习方法在时间序列预测任务中与传统算法相 比表现出了更强劲的性能,得到了长远发展和普遍 应用。深度神经网络与浅层神经网络相比有更好的 线性和非线性特征提取能力,能够挖掘出浅层神经 网络容易忽略的规律,最终满足高精度的预测任务 要求[30]。本节余下部分将介绍可用于解决时间序列 预测问题的三大类深度学习模型。

3.1 卷积神经网络 

3.1.1 卷积神经网络 卷积神经网络(Convolutional Neural Networks, CNN)是一类以卷积和池化操作为核心的深层前馈 神经网络,在设计之初,其用于解决计算机视觉领 域的图片识别问题[31-32]。卷积神经网络做时间序列预测的原理是利用 卷积核的能力,可以感受历史数据中一段时间的变 化情况,根据这段历史数据的变化情况做出预测。池化操作可以保留关键信息,减少信息的冗余,卷 积神经网络可以有效减少以往算法提取特征的人力资源消耗,同时避免了人为误差的产生。卷积神经网络所需的样本输入量巨大,多用于预测具备空间特性的数据集,其网络结构一般有五层,具体结构如图 4 所示:

从表 1 中可以看出模型在样本量巨大的多变量 数据集上处理短期预测任务时,Kmeans-CNN 采用 先聚类分类再由模型训练的思路取得了比较理想 的预测效果,后续也有不少研究人员在解决时序预 测问题时进行类似处理。引入了扩展卷积和残差连 接等架构元素的 TCN 能保有更长的有效历史信息, 同样达到了不错的预测效果,而且其网络较为简单 清晰。目前,CNNs 的预测精度与循环神经网络等其 他网络结构相比已不占优势,难以单独处理步长较 长的时序预测问题,但常作为一个功能强大的模块 接入其他先进算法模型中用于预测任务。

3.2 循环神经网络

RNNs 循环神经网络类算法自提出就一直是解决时间序列预测任务的重要方法,常常作为一个模块嵌入到其他算法中来获得更好的预测效果,在2017 年以前一直作为解决时间序列数据预测问题的主力模型,得到广泛应用。主要循环神经网络类算法实验性能对比和总体分析如表3 和表4所示:


表 3 可以看出,GRU 和 LSTM 在性能上相当, 但都受限于只能从一个方向上学习训练,在预测精 度 上 要 低 于 可 以 从 两 个 方 向 上 获 取 信 息 的 Bi-LSTM 模型。Bi-LSTM 在解决短期时序预测任务 时的优势包括所需的样本数量少,拟合速度快,预 测精度高,如今依然有众多学者研究使用。循环神经网络类方法可以捕获并利用长期和 短期的时间依赖关系来进行预测,但在长序列时间 序列预测任务中表现不好,并且 RNNS 多为串行计 算,导致训练过程中对内存的消耗极大,而且梯度 消失和梯度爆炸问题始终没有得到彻底解决。
3.3 Transformer 类模型 
介绍 Transformer 模型之前先要介绍一下注意力机 制,人类眼睛的视角广阔,但局限于视觉资源,往往重 点关注视线中的特定部分,注意力机制就是以此为灵感 提出,重点关注数据中的更有价值的部分[48-49]。Transformer 所采用的自注意力机制所解决的 情况是:神经网络的输入是很多大小不一的向量, 不同时刻的向量往往存在着某种潜在联系,实际训 练的时候无法充分捕捉输入之间的潜在联系而导致模型训练结果较差。

Transformer 类算法如今广泛用于人工智能领域的各项任务,在Transformer 基础上构建模型可以打破以往算法的能力瓶颈,可以同时具备良好的捕捉短期和长期依赖的能力,有效解决长序列预测难题,并且可以并行处理。上述算法性能对比和总体分析如表 6 和表 7 所示:

从表 6可以看出 Transformer类算法为避免过拟 合需要大量数据来进行自身的训练,在中期和长期 预测任务上都有着不错的性能表现。目前,部分 Transformer 类算法在保留编码器- 解码器架构的同时,开始重新审视注意力机制的作 用,因为在错综复杂的长序列预测任务中自注意力 机制可能不可靠。Informer 等在降低复杂度的同时 选择牺牲了一部分的有效信息,Conformer 使用局 部注意力与全局的 GRU 进行功能互补。Pyraformer 在相对较低的配置下依然表现出不 错的性能,一定程度上缓解了 Transformer 类算法设 备要求高的问题,适合在欠发达地区普及使用。

3.4 总结

文章在对时间序列数据、经典时间序列参数模 型和算法评价指标简单介绍后,系统总结了基于深 度 学 习 的 时 间 序 列 预 测 算 法 , 其 中 以 基 于 Transformer 的模型为主,深入分析了 Transformer 类算法的网络架构优缺点,在注意力机制被提出以 来,时间序列预测任务发展进入快车道取得了令人 瞩目的成果。下面列出了时间序列预测领域的重点 问题和进一步的研究方向,以促进时间序列预测算 法的研究和完善。

(1) 采用随机自然启发优化算法优化深度学习 模型的多个超参数。深度学习算法愈发复杂,需要 处理的超参数越来越多,超参数的选择往往决定着 算法能不能突破局部最优陷阱达到全局最优。随机 自然启发优化算法灵感来自群体智能的各种现象、 为动物的自然行为、物理定律以及进化定律。优化 算法首先基于问题的约束随机生成一定数量的可解解,然后利用算法的各阶段重复寻找全局最优解,在限制范围内寻找最优的超参数以提升模型预测能力。因此,采用随机自然启发优化算法用于模型最优超参数寻找,将成为未来研究热点之一。

(2) 研究适合时间间隔不规则的小数据集的网络架构。现有 Transformer 模型架构复杂,参数多,在周期性好的数据集上表现出优越的性能,但在数据量小,时间间隔不规则的数据集中表现不理想。Transformer 类模型为在小数据上的过拟合问题值得进一步思考和解决。处理时间间隔不规则的数据集时,在模型架构中引入重采样、插值、滤波或其他方法是处理时间序列数据和任务特征的新思路,会是未来一个新的研究方向。

(3) 引入图神经网络(graph neural network,GNN)用于多变量时序预测建模。由于多变量时序预测任务的潜在变量相关性十分复杂,且在现实世界中的数据相关性是变化的,导致准确多变量预测具有挑战性。最近不少学者采用时间多项式图神经网络将动态变量相关性表示为动态矩阵多项式,可以更好地理解时空动态和潜在的偶然性,在短期和长期多变量时序预测上都达到了先进的水平。因此GNN 对多变量时序预测的强大建模能力值得进一步研究。

(4) 研究同时支持精确形状和时间动态的可微损失函数作为评价指标。在时间序列预测领域中已经使用了许多测量度量,并且基于欧氏距离的点误差损失函数,例如MSE,被广泛用于处理时间序列数据,但是其逐点映射,对形状和时间延后失真不 具有不变性。损失函数不仅要最小化预测和目标时 间序列之间的差距还应该考虑整个输出序列和基本 事实之间的相关性,从而帮助模型生成更及时、更 稳健和更准确的预测,而不是仅仅逐点优化模型。如果损失函数能在曲线形状和时间感知上对模型进 行评价能更有利于训练出高效准确的时间序列预测 模型。

论文地址:http://fcst.ceaj.org/CN/10.3778/j.issn.1673-9418.2211108

                       

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/155936
 
336 次点击