基于深度学习的多元时间序列多层时空依赖建模方法与流程

文档序号:22178055发布日期:2020-09-11 21:34阅读:796来源:国知局
基于深度学习的多元时间序列多层时空依赖建模方法与流程

技术领域:

本发明属于深度学习领域,涉及到基于深度学习的多元时间序列预测的方法,属于深度学习在时间序列数据上的应用。



背景技术:

多元时间序列普遍存在于各个领域,其本身具有复杂时间特性以及空间特性。通过使用深度学习工具对多元时间序列数据进行时空特征的表征,来预测其未来的发展趋势,在能源消耗、交通流量和空气质量等各个领域具有重要的实际应用价值。

为了捕捉多元时间序列固有的时空特性,人们已经提出了各种方法。在传统的时间序列预测方法中,自回归移动平均模型(arima)能够有效的提取序列本身的长期依赖性,但是往往忽略了多元序列的空间相关性,并且arima模型对数据本身的要求也很严格,其只适用于平稳性时序数据。因此,arima模型不适用非平稳性以及多元时间序列预测。基于机器学习的回归方法,如支持向量回归(svr),在对时间序列进行预测的过程中,svr将外源序列映射在高维空间中,更加关注于外源序列的空间性而忽视了序列的时间依赖性,并且对于样本非常大的数据来说,映射的高维空间维度更大,svr的计算成本也随之增大。

深度学习的方法适合处理大样本数据并且能够拟合各种复杂函数,良好的内在特性使得其能够挖掘出多元时间序列中复杂的时空特征。现已提出了各种神经网络模型来完成多元时间序列预测任务,基于循环神经网络(rnn)的模型对时间特征的提取受到了很大的关注。尤其是rnn的变体长短期神经网络(lstm)通过引入门控机制添加外部信息,以便捕获时间序列数据的长期依赖并且缓解了梯度爆炸和消失的问题。lstm更加关注于序列数据上的时间依赖性,对于多元时间序列来说,多个序列之间的空间联系对预测结果也是极为重要的。近年来,基于注意力机制的神经网络已经被研究人员广泛用于时间序列预测,从不同的研究角度基于不同的时空特征构建注意力机制。例如,长短期时序网络(lstnet)引入了时间注意力机制,对当前预测结果有更大影响的历史数据将得到更多的关注,同时,lstnet的循环跳跃组件使其在处理周期性数据方面更胜一筹。然而,在lstnet的卷积层中,每个变量维度都被平等的对待,因此,在空间特征的捕捉上无法捕捉对当前预测结果影响更大的特征。基于双阶段注意力的循环神经网络(da-rnn)在第一个阶段引入时间注意力机制来捕捉外源数据与目标序列的时间相关性,尚未考虑外源数据不同组成部分之间的空间相关性。以上深度学习的方法中未充分的捕捉多元时间序列的时空特征,并且从网络中不同层获得的时空依赖的差异被忽略,这可能导致特征冗余并影响时空相关性的提取,对多元时间序列预测的结果带来不利的影响。



技术实现要素:

本发明的目的在于解决当前深度学习在对多元时间序列数据捕捉时空特征来完成预测任务的过程中,忽视了不同层特征之间的差异由此对预测结果带来的影响。据此,本发明提出一种解决这个问题的方法-基于深度学习的多元时间序列多层时空依赖建模方法。本发明引入三种新颖的注意力机制来对网络中不同层提取的时空特征做更加细粒度的处理。该模型包括一个堆叠的长短期神经网络-卷积神经网络(lstm-cnn),基于卷积神经网络的空间注意力机制,基于卷积神经网络的通道注意力机制,时间注意力机制以及自回归组件来进行联合训练。堆叠的lstm-cnn网络利用lstm捕捉时间序列数据的长期依赖性,而cnn则捕捉多元输入变量之间的空间相关性和短期依赖。考虑到堆叠的lstm-cnn网络中深层和浅层网络捕捉的时空特性的不同,利用新颖的注意力结构来对其进行更加细粒度的处理。浅层网络捕捉的时空信息更加丰富并且信息在特征图的不同空间中差异很大,所以使用基于cnn的空间注意力机制来处理该部分时空信息,可以更加方便的过滤出冗余信息。深层网络捕捉的时空特性更加抽象,其在不同卷积通道中的差异更大,所以使用基于cnn的通道注意力机制来挖掘出哪个通道的信息对预测结果更加重要。自回归组件的使用主要是捕捉多元时间序列特征中的线性关系并且加强模型的可解释性及鲁棒性。

本发明的技术方案是:

基于深度学习的多元时间序列多层时空依赖建模方法,包括以下步骤:

步骤一:原始数据进行预处理,包括以下步骤:

(1)对多元时间序列数据进行z-score标准化;

(2)引入滑动窗口对多元时间序列数据进行滚动处理,滑动窗口中的值作为属性,下一时刻的值作为标签,其滑动窗口的步长设置为1,滑动窗口的大小根据实际数据性质自行设定;

(3)将处理好的数据按照6:2:2的比例分成训练集、验证集和测试集;

步骤二:输入训练数据集,训练神经网络模型,包括以下步骤:

(1)首先多元时间序列的训练数据y={y1,y2,...,yt}输入到堆叠的4层lstm-cnn模型中,依次进入lstm1、cnn1、lstm2、cnn2层获取主要的时空依赖特征,将第二层的输出作为浅层提取的时空特征c1,将最后一层的输出作为深层提取的时空特征c2

(2)将浅层提取的时空依赖特征c1输入基于cnn的空间注意力模型中过滤掉冗余信息,首先使用一个不带池化层的卷积层以及sigmoid函数作为激活函数得到与时空特征图在高度和宽度两个维度相等的空间注意力权重图,然后浅层时空特征图c1与空间注意力权重图做元素积得到带有空间注意力权重的浅层时空特征图c1*

(3)将深层提取的时空依赖特征c2输入基于cnn的通道注意力模型中,首先使用全局平均池化来获得通道特征向量,然后将该通道特征向量输入到两个全连接层(fc1和fc2)中来获得通道注意力权重图,最后对深层时空特征图c2与通道注意力权重图做元素积得到带有通道注意力权重的深层时空特征图c2*

(4)将带有空间注意力权重的浅层时空特征图c1*与带有通道注意力权重的深层时空特征图c2*做特征融合,将特征融合之后的特征输入lstm3层中得到输出特征h3

(5)将h3输入时间注意力机制中,使用编码器(encoder)对h3进行特征压缩处理,其中encoder为全连接层,然后进入softmax中获得特征权重向量,将h3与特征权重向量做元素点积获得带权重的输出并作为神经网络部分的输出。

(6)将训练数据y={y1,y2,...,yt}输入自回归模型中,保持输出数据的维度对输入数据维度的敏感性,捕捉多元时间序列的线性特征,并作为自回归模型部分的输出;

(7)将神经网络部分捕获的时空特征与自回归模型中捕获的特征进行融合作为整个模型的最后输出;

步骤三:使用验证数据进行模型的检测,包括以下步骤:

(1)训练数据训练完模型之后,再使用验证数据输入已经训练好的模型中,对验证数据进行误差以及预测分析;

(2)比较训练数据以及验证数据的预测误差,判断模型是否过拟合;

(3)一旦发现模型出现过拟合的情况,使用早停策略停止模型的训练,保存当前模型作为最佳模型;

步骤四:使用测试数据进行预测,包括以下步骤:

(1)将测试数据输入保存好的模型中进行预测;

(2)输出下一时刻的预测值。

相比于现有技术,本发明的有益效果为:

1.本发明引入多层时空依赖概念,并分别使用基于cnn的空间注意力和基于cnn的通道注意力对不同层时空依赖进行更加细粒度的处理,有效的过滤出冗余的特征信息并且提取对预测结果影响更大的时空依赖信息,提高预测的准确性。

2.本发明将深度学习中的神经网络与自回归模型相结合训练,可加强模型的可解释性以及鲁棒性。

3.本发明中的模型在交通、环境、能源、金融等各领域的多元时间序列数据集上表现出先进的性能,并且可扩展到单元时间序列的预测任务上。

附图说明:

图1为本发明中整体模型的全局图;

图2是本发明中堆叠的4层lstm-cnn模型图;

图3是本发明中基于cnn的空间注意力的模型图;

图4是本发明中基于cnn的通道注意力的模型图;

图5是本发明中的改进的时间注意力的模型图;

具体实施方式:

下面结果附图和具体实施方式对本发明作进一步详细的说明:

本发明的目的在于解决当前深度学习在对多元时间序列数据捕捉时空特征来完成预测任务的过程中,忽视了不同层特征对预测结果带来的影响。

如图1、2、3、4、5所示,本发明提供的是一种基于深度学习的多元时间序列多层时空依赖建模方法,包括以下步骤:

步骤一:原始数据进行预处理,包括以下步骤:

(1)对多元时间序列数据进行z-score标准化;

(2)引入滑动窗口对多元时间序列数据进行滚动处理,滑动窗口中的值作为属性,下一时刻的值作为标签,其滑动窗口的步长设置为1,滑动窗口的大小根据实际数据性质自行设定;

(3)将处理好的数据按照6:2:2的比例分成训练集、验证集和测试集;

步骤二:输入训练数据集,训练神经网络模型,包括以下步骤:

(1)首先多元时间序列的训练数据y={y1,y2,...,yt}输入到堆叠的4层lstm-cnn模型中,依次进入lstm1、cnn1、lstm2、cnn2层获取主要的时空依赖特征,将第二层的输出作为浅层提取的时空特征c1,将最后一层的输出作为深层提取的时空特征c2

(2)将浅层提取的时空依赖特征c1输入基于cnn的空间注意力模型中过滤掉冗余信息,首先使用一个不带池化层的卷积层以及sigmoid函数作为激活函数得到与时空特征图在高度和宽度两个维度相等的空间注意力权重图,然后浅层时空特征图c1与空间注意力权重图做元素积得到带有空间注意力权重的浅层时空特征图c1*

(3)将深层提取的时空依赖特征c2输入基于cnn的通道注意力模型中,首先使用全局平均池化来获得通道特征向量,然后将该通道特征向量输入到两个全连接层(fc1和fc2)中来获得通道注意力权重图,最后对深层时空特征图c2与通道注意力权重图做元素积得到带有通道注意力权重的深层时空特征图c2*

(4)将带有空间注意力权重的浅层时空特征图c1*与带有通道注意力权重的深层时空特征图c2*做特征融合,将特征融合之后的特征输入lstm3层中得到输出特征h3

(5)将h3输入时间注意力机制中,使用编码器(encoder)对h3进行特征压缩处理,其中encoder为全连接层,然后进入softmax中获得特征权重向量,将h3与特征权重向量做元素点积获得带权重的输出并作为神经网络部分的输出。

(6)将训练数据y={y1,y2,...,yt}输入自回归模型中,保持输出数据的维度对输入数据维度的敏感性,捕捉多元时间序列的线性特征,并作为自回归模型部分的输出;

(7)将神经网络部分捕获的时空特征与自回归模型中捕获的特征进行融合作为整个模型的最后输出;

步骤三:使用验证数据进行模型的检测,包括以下步骤:

(1)训练数据训练完模型之后,再使用验证数据输入已经训练好的模型中,对验证数据进行误差以及预测分析;

(2)比较训练数据以及验证数据的预测误差,判断模型是否过拟合;

(3)一旦发现模型出现过拟合的情况,使用早停策略停止模型的训练,保存当前模型作为最佳模型;

步骤四:使用测试数据进行预测,包括以下步骤:

(1)将测试数据输入保存好的模型中进行预测;

(2)输出下一时刻的预测值。

最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制。参照该实施例的说明,本领域的普通技术人员应该可以理解并对本发明的技术方案进行相关的修改或替换,而不脱离本发明的实质和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1