LSTNet论文笔记

Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks

Posted by fennel on January 9, 2022

论文pdf


前言

Purpose:多元时间序列预测是一个重要的机器学习问题。而在许多实际应用中时序数据往往是长短期混合的,这就导致如自回归模型和高斯过程等传统方法失效。传统的RNN模型如:GRU、LSTM对于长时序数据也会有梯度消失的问题。
Method:提出了一种新颖的深度学习框架,即长期和短期时间序列网络 (LSTNet)。LSTNet 使用 CNN 和 RNN 来提取数据中的短期局部依赖模式,并发现时间序列趋势的长期模式。并且利用传统的自回归模型来解决神经网络模型的尺度不敏感问题
Results:LSTNet 显着改善了多个基准数据集上时间序列预测的结果,成功地捕获了数据中的短期和长期重复模式,并结合了线性和非线性模型来进行预测。

LSTNetf1 目前如何捕获多个变量之间的动态依赖是多元时序预测面临的问题,就是在现实需求往往需要短期与长期循环的混合模式。就比如上图是每小时高速公路车流量,对于它而言短期循环模式是每天(短期)与每周(长期)的循环。短期反应早高峰与晚高峰的时间;长期反应工作日和周末的区别。而一个成功的时序预测模型需要同时准确预测短期与长期的重复模式。传统的方法都无法有效区分长短期的循环模式。

预测太阳能输出问题 短期:每一时刻云层运动、风向变化 长期:白天与夜晚、夏季与冬季


设计思路

  • 循环神经网络(RNN):在自然语言处理任务中有很不错的效果。且RNN的两种变体:长短期记忆(LSTM)与门控循环单元(GRU)在机器翻译、语音领域的任务中可以有效地捕获长期和短期的词义。
  • 卷积神经网络(CNN):卷积神经网络具有平移不变性与局部性,基于这两种特性在计算机视觉领域有不错的性能。

用CNN来捕获局部多维输入与循环层之间的依赖,得到短期循环模式,用RNN来捕获时序数据的长期循环模式。再通过一种跳跃式的结构获取输入时序数据中的周期性特性。

Architecture

LSTNetf2

CNN部分

LSTNet的第一部分是没有pooling层的CNN,目的是捕获短期特征。

输入X为输入矩阵,*为卷积操作,所以输出的h为一个向量,设置多个卷积核就可以得到多个向量。

RNN部分

在更新隐藏状态处作者使用了ReLU作为激活函数,因为使用ReLU激活函数在反向传播时梯度不易消失,更容易传播。

在CNN后加入了门控循环单元并使用ReLU激活函数作为隐藏状态的激活函数,重置门与更新门则使用sigmoid作为激活函数。

Recurrent-skip部分

由于梯度消失GRU与LSTM不容易捕获长期的依赖,所以在GRU中加入Recurrent-skip。 所以GRU的迭代式子可以修改为:

作者使用dense layer将RNN与Recurrent-skip的输出结合在一起,接收的输入为RNN在t时刻的隐藏状态与Recurrent-skip在t时刻以前的所有隐藏状态。

注意力机制

上面的Recurrent-skip有一个严重的问题就是跳跃间隔p需要预定义,所以引入注意力机制。 注意力分数计算:

注意力分数的计算函数为:点积、余弦或由简单的多层感知器。 最后注意力层第t层的输出为连接加权向量与t-1层的隐藏状态再做一个线性变换。

自回归

由于CNN与RNN都是非线性的,这就造成了神经网络的产出规模对投入规模不敏感,降低了神经网络模型的预测精确度。所以在最后预测时分成线性部分与非线性部分,线性部分关注关注局部缩放问题,非线性部分 关注长短期循环模式。线性部分采用自回归模型(AR),最后累加线性与非线性部分的结果作为最终的预测结果。

训练策略

  • 损失函数:Linear SVR、L1-loss、平方误差损失函数(根据验证集来决定使用的损失函数)
  • 优化器:Adam

实验

LSTNetf4 在交通、太阳能和电力数据存在高自相关性的重复模式,但在汇率数据没有

实验使用了四个公开可用的数据集,所有数据集按时间顺序分为训练集(60%)、验证集(20%)和测试集(20%)。

  • Traffic: 加州交通部的48个月(2015-2016)每小时数据的集合。该数据描述了旧金山湾区高速公路上不同传感器测量的道路占用率。
  • Solar-Energy: 阿拉巴马州2006年的太阳能发电记录,每10分钟从137个光伏电站采样一次。
  • Electricity: 321个客户2012年到2014年的电力消耗,每15分钟记录一次电力消耗,单位为千瓦时。数据转换为每小时消耗量。
  • Exchange-Rate: 1990-2016年澳大利亚、英国、加拿大、瑞士、中国、日本、新西兰、新加坡等8个国家的每日汇率汇总。

实验结果如下图所示: LSTNetf5

绘制预测结果与实际数据对比可以发现模型成功识别的短期与长期的循环模式。 LSTNetf6