基于改进RNN的多变量时间序列缺失数据填充算法
孙晓丽; 郭艳; 李宁; 宋晓祥
【期刊名称】《《微型机与应用》》
【年(卷),期】2019(038)011
【总页数】7页(P47-53)
【关键词】缺失数据填充; 多变量时间序列; LSTM; 衰减机制; 上海空气质量数据集; AReM数据集
小学英语阅读100篇【作 者】孙晓丽; 郭艳; 李宁; 宋晓祥
【作者单位】中国人民解放军陆军工程大学通信工程学院 江苏南京210007
【正文语种】中 文
retail是什么意思【中图分类】TP911.7海词
0 引言
多元时间序列数据在医疗保健[1]、神经科学[2]、语音识别[3]、金融营销[4-5]、气象[6-7]、交通工程[8-9]等诸多应用领域都有丰富的应用。然而由于多种原因,如医疗事故、节约成本、异常现象以及设备故障等,这些多变量时间序列不可避免地会存在部分缺失数据。缺失数据的存在会影响数据分析的精度、正确的模型建立,甚至会带来灾难性的后果。因此,如何对缺失数据进行准确地填充已经成为大数据研究领域的一个热点。
缺失数据的填充是数据得以进一步开发利用的关键。目前,专家学者在各个领域进行了大量的研究工作,提出了许多有效的缺失数据填充算法[10]。处理时间序列数据中随机信息缺失的标准方法有插值法[11-12]和填充法[13-15]。其中,插值法试图通过利用单个序列中的时间关系来重建缺失数据。填充法则试图通过利用多个数据序列来填充缺失数据。文献[16]以静态数据为研究背景,将模型约束为线性模型来填充缺失数据。然而,这种方法不能捕捉非线性和时间序列的特性。除此之外,包括自回归移动平均模型(Autoregressive Integrated Moving Model,ARIMA)[17]、季节性差分自回归滑动平均模型(Seasonal ARIMA,SARIMA)[18]等在内的自回归方法旨在将时间序列中的非平稳部分进行剔除,拟合
出参数化的平稳模型。基于矩阵分解的方法也经常[19]被用来解决缺失数据填充问题,但是通常只适用于静态数据,并且需要较强的假设。
递归神经网络(Recurrent Neural Network,RNN)具有很好的性能,如强大的预测能力以及捕获长期时间依赖关系和可变长度观察的能力。近年来,RNN,如LSTM[20]和门控递归单元(Gated Recurrent Unit,GRU)[21],在时间序列或序列数据的许多应用中凸显了至关重要的地位。文献[22]提出了多向递归神经网络(Multi-directional Recurrent Neural Network,M-RNN)的方法,并利用双向RNN来进行数据填充,但是删除了缺失变量之间的关系,将M-RNN的输入值作为常数进行处理,在网络中得不到充分的更新。文献[23]将深度神经网络的思想与卡尔曼滤波器相结合,提出了一种非线性状态空间模型——深度卡尔曼滤波器。文献[24]引入随机递归神经网络(Stochastic Recurrent Neural Network,SRNN),将RNN与状态空间模型相结合,形成随机序列神经生成模型。
为了更好地解决多元时间序列的缺失数据问题,本文提出了一种基于RNN的缺失数据填充算法。该算法通过利用RNN自身能够捕捉长期时间依赖关系以及预测能力的特性,在RNN的基础上引入了衰减机制,从而使得改进后的模型能够充分利用观测数据中的隐藏信息来
提高数据填充的准确率。而后,通过对现有的观测数据进行学习,实现对缺失数据的填充,提高了数据填充的准确率。本文以上海空气质量数据集以及AReM数据集为实验数据,对所提算法进行检验。实验结果表明,与其他算法相比,在缺失率较低的情况下,所提算法的填充误差更小,填充效果更优。
1 缺失数据表示
假设一组含有N个变量、时间长度为T的多元时间序列数据X表示为:X={x1,x2,…,xT}T∈T×N,对于t∈{1,2,…,T},xt表示为t时刻时所有变量的观测值,即N,那么则表示为t时刻第n个变量的观测值。设st为时间戳,即t时刻观测到数据的时间。
对于多元缺失数据,给定每个时刻每个变量的观测值一个缺失向量m∈{0,1},并且有:
(1)
定义时间间隔为第n个变量在t时刻被观测到的时间与上一次被观测到时的时间的差值,表示为:
(2)
对缺失时间序列数据进行以上处理,可以在原数据集的基础上得到{X,M,Δ},其中:
2 LSTM
长短时记忆(Long-Shokl-Term Memory,LSTM)网络[20]是RNN的一种,能够解决一般RNN存在的长期依赖问题,并且可以解决长序列训练过程中出现的梯度爆炸和梯度消失的问题,因而LSTM适用于处理、预测时间序列中时间间隔较长的问题。LSTM的结构如图1所示。
图1 LSTM结构图
一个经典的LSTM网络由单元或者记忆块组成,并且LSTM单元一般会有两个输出:单元状态C和隐藏状态h,将其传递到下一个LSTM单元,因此LSTM有三个输入:t-1时刻的单元状态Ct-1、隐藏状态ht-1以及t时刻的输入xt,有两个输出:t时刻的单元状态Ct、隐藏状态ht。记忆块通过三种门控制记忆隐藏状态和前面时刻发生的时间,三种门分别为:遗忘门、输入门和输出门。
LSTM的计算更新过程可以表示为:
it=σ(Wxixt+Whiht-1+bi)
(3)
ft=σ(Wxfxt+Whfht-1+bf)
(4)
(5)
(6)
ot=σ(Wxoxt+Whoht-1+bo)
(7)
ht=ot⊙tanh(Ct)
(8)
其中it、ft、ot分别为输入门、遗忘门、输出门,W为权重矩阵,b为偏置矩阵,为用于更新的备选内容,σ为sigmoid激活函数,tanh为激活函数,⊙表示逐元素相乘。
若此时的LSTM单元为网络中的最后一个单元,那么,网络最终的输出为:
y=softmax(W⊙ht+b)
(9)
其中,softmax为激活函数,W为权重矩阵,b为偏置矩阵。
3 提出的模型
3.1 γ-LSTM模型
结合时间序列中缺失数据的填充过程进行分析,会注意到,以往的RNN算法中,若缺失数据的丢失时间间隔过长,那么就导致缺失数据对当前时刻的输出影响随着时间间隔的增加而有所减弱。因此,本文在RNN的基础上引入了衰减机制,来捕获输入变量、隐藏变量与相应缺失数据时间间隔的关系,并且衰减系数γ的值因变量而异。改进后的RNN结构如图2
所示,将其称之为γ-LSTM。
图2 γ-LSTM结构图
由图2可以看出,γ-LSTM在LSTM的基础上,使用时间衰减系数γt对LSTM单元的输入进行修正,并使用缺失向量mt对网络的中间结果进行一定的修正,使其更加充分地捕获数据间的相关关系,定义γt为:
γt=exp{-max (0,Wγδt+bγ)}
(10)
(11)
airfield
(12)
其中,Wγ、bγ为公式(10)的参数,且分别为修正后的Ct-1、ht-1。
儿童英文歌γ-LSTM对于输入的xt做了相应的处理,以其是否为缺失数据进行数值的确定,且有:
(13)
的确定根据文献[25]的实验结果设定:
(14)
其中,为第n个变量的上一个观测值,为第n个变量的观测均值:
(15)
此时γ-LSTM的计算过程表示为:
(16)
(17)
(18)
what are words什么意思(19)
(20)
ht=ot⊙tanh(Ct)
(21)
由更新计算过程可以看出γ-LSTM与LSTM的不同:分别用代替了ht-1、xt,并将缺失向量mt引入模型中。
3.2 γ-PLSTM模型
pif由图1的结构图可以看出,t时刻LSTM门的输入包含两部分:网络输入与t-1时刻网络的输出,若在t时刻时输出门关闭(值接近0),那么t时刻网络的输出将为0,t+1时刻LSTM网络的门将仅与网络的输入有关系,因此会导致历史信息的缺失,从而影响最终的结果。因此,文献[26]提出了一种LSTM的变体“猫眼”LSTM (Peephole LSTM,PLSTM),其在LSTM的基础上增加了“猫眼”连接(图3中的虚线部分),允许门查看细胞状态。PLSTM模型的计算过程如下:
图3 PLSTM结构图幽默哲理故事
(22)i will be back什么意思
apfs
(23)
(24)
(25)
(26)
ht=ot⊙tanh (Ct)
(27)
其中it、ft、ot分别为输入门、遗忘门、输出门,W为权重矩阵,b为偏置矩阵,为用于更新的备选内容,σ为sigmoid激活函数,tanh为激活函数。
LSTM中,单元状态C用于存储信息,有效地保持信息在多个时间步长中的清晰度;隐藏状态h用于上层输出,并且捕获单元状态中与当前时刻输出密切相关的部分。而PLSTM通过“猫眼”连接,即便是在信息匮乏的情况下,也可以生成精确的时间间隔事件。