首页 / 专利库 / 信号处理 / 线性滤波器 / 一种基于交互式多尺度循环神经网络的时间序列预测方法

一种基于交互式多尺度循环神经网络的时间序列预测方法

阅读:1036发布:2020-05-11

专利汇可以提供一种基于交互式多尺度循环神经网络的时间序列预测方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于交互式多尺度循环神经网络的时间序列预测方法,包括:(1)对待预测的时序序列进行异常值消除处理、归一化处理以及滑动 时间窗 口划分后,获得时序序列段;(2)将时间序列段输入时间序列 预测模型 中,利用多级小波分解网络进行n级分解,得到多尺度子序列集合;将多尺度子序列集合输入到跨尺度交互的循环神经网络中,采用截断、初始化和消息传递三种策略对多尺度子序列进行跨尺度交互过程,输出为表示相邻尺度子序列之间的相关性的多尺度表示;利用利用两级注意 力 机制对多尺度表示进行融合,得到融合表示;将融合表示输入至 单层 的全连接层映射得到预测的时间序列。该方法提升了时间序列预测更加准确。,下面是一种基于交互式多尺度循环神经网络的时间序列预测方法专利的具体信息内容。

1.一种基于交互式多尺度循环神经网络的时间序列预测方法,其特征在于,所述方法包括以下步骤:
(1)对待预测的时间序列进行异常值消除处理、归一化处理以及滑动时间窗口划分后,获得时间序列段;
(2)将时间序列段输入时间序列预测模型中,所述时间序列预测模型包括多级小波分解网络、跨尺度交互的RNNs、以及两级注意机制单元、以及单层的全连接层,利用时间序列预测模型对时间序列段进行时间序列预测,具体过程为:
(2-1)利用多级小波分解网络对时间序列段进行n级分解,得到多尺度子序列集合;
(2-2)将多尺度子序列集合输入到跨尺度交互的循环神经网络中,采用截断、初始化和消息传递三种策略对多尺度子序列进行跨尺度交互过程,输出为表示相邻尺度子序列之间的相关性的多尺度表示;
(2-3)利用第一级注意力机制对多尺度表示进行加权,得到每一个尺度的加权表示;利用第二级注意力机制融合所有加权表示,得到融合表示;
(2-4)将融合表示输入至单层的全连接层映射得到预测的时间序列。
2.如权利要求1所述的基于交互式多尺度循环神经网络的时间序列预测方法,其特征在于,小波分解的过程通过神经网络实现,即时间序列和滤波器做卷积操作,通过如下函数实现:
ai+1=σ(Wi(l)xi(l)+bi(l))
di+1=σ(Wi(h)xi(l)+bi(h))
其中,xi(l)为第i级分解得到的低频子序列,bi(l)和bi(h)是第i级的偏差向量,σ(·)是激活函数,Wi(l)和Wi(h)是滤波矩阵,填充滤波器对应的值。对ai+1和di+1通过一个平均池化层,即可得到第i+1级分解的结果,计算公式如下:
其中, 和 分别表示ai+1、di+1、xi+1(l)和xi+1(h)中第j个元
素。
通过n级分解,最终得到多尺度子序列集合 其中x0表示原始的时
间序列,xi表示第i(03.如权利要求1所述的基于交互式多尺度循环神经网络的时间序列预测方法,其特征在于,所述采用截断、初始化和消息传递三种策略对多尺度子序列进行跨尺度交互过程包括:
第一步,针对输入的多尺度子序列集合 利用截断策略得到不同时间窗口大小的子序列;
第二步,利用初始化策略赋值每一个尺度RNNs的初始隐状态,即一个尺度RNNs的初始隐状态由相邻更大尺度RNNs的隐状态初始化得到;
第三步,利用消息传递策略来建模两个相邻尺度子序列之间的相关性,最终得到多尺度表示Hi(i∈{0,1,…,n})。
4.如权利要求3所述的基于交互式多尺度循环神经网络的时间序列预测方法,其特征在于,所述截断策略即对每个子序列只保留近期的值,对于越低尺度的子序列,其被保留的时间窗口越小,第i个尺度截断后的子序列 表示为:
其中ki表示第i个尺度截断后的起始索引。随着i的增加,被截断的长度更短,即满足k0>k1>...>kn。在本发明中,从最大尺度到最小尺度,依次截断为上一个尺度的一半长度。
5.如权利要求3所述的基于交互式多尺度循环神经网络的时间序列预测方法,其特征在于,针对初始化策略,大尺度RNNs的隐状态包含小尺度子序列被截断值中隐含的信息,一个尺度RNNs的初始隐状态由相邻更大尺度RNNs的隐状态初始化得到,计算公式如下:
其中 表示第i个尺度RNNs的初始隐状态。
6.如权利要求3所述的基于交互式多尺度循环神经网络的时间序列预测方法,其特征在于,所述消息传递策略为将大尺度子序列中的信息层次化的传递到小尺度子序列中;对于第i个尺度RNNs,通过计算前一个时刻隐状态 和第i+1个尺度RNNs中的隐状态之间的相似性得到t时刻的消息
其中σ(·)表示sigmoid激活函数, 表示权重分配矩阵,其在所有时刻
之间共享,m表示隐状态的大小。隐状态 的定义如下:
将消息 和当前时刻的数值 拼接,得到真实输入
其中 在所有时刻之间共享,将所有时刻的真实输入送入RNNs中,采用
GRU循环神经网络,每个GRU单元包括更新z、重置门r和隐状态h;对于第i个尺度,假设当前时刻为t,各个部分的计算公式如下:
其中W和U表示不同的权重矩阵,b表示不同的偏置参数, 表示哈达玛积,σ表示激活函数,GRU单元中使用到了两种激活函数,σg表示sigmoid函数,σh表示tanh函数即双曲正切函数,GRU的输出即为多尺度表示
7.如权利要求1所述的基于交互式多尺度循环神经网络的时间序列预测方法,其特征在于,在第一级注意力机制中,对于第i个尺度的表示 t时刻
的权重 计算如下:
其中 AttScore函数为点乘。根据权重计算得到上下文
向量ci:
将上下文向量ci和最后一个时刻的隐状态 分别做线性转换后再拼接,即可得到第i个尺度加权表示Atti:
在第二级注意力机制中,学习出每一个尺度加权表示的权重,得到表示Atts:
i i
u=σ(WwAtt+bw)
其中Ww为权重矩阵,bw为偏置参数。
8.如权利要求1所述的基于交互式多尺度循环神经网络的时间序列预测方法,其特征在于,时间序列预测模型的训练过程采用的损失函数为预测损失 和权重约束损失之和,其中,以样本对应的真实值yt+h和模型输出的预测值 之间的误差作为预测损失
以小波分解网络中权重矩阵中当前值和初始化值之间的2范数差异作为权重约束损失i i
其中, 和 为小波分解网络中权重矩阵初始值,W (l)和W (h)为小波分解网络中权重矩阵当前值,λ为权衡参数;
则整体损失 为:

说明书全文

一种基于交互式多尺度循环神经网络的时间序列预测方法

技术领域

[0001] 本发明涉及时间序列预测领域,具体涉及一种基于交互式多尺度循环神经网络的时间序列预测方法。

背景技术

[0002] 时间序列广泛存在于电、医疗和金融等领域。时间序列预测是指根据一段历史时间的观测值,预测接下来某个时刻的观测值,是数据挖掘中的重要研究课题。许多现实世界中的时间序列在不同时间尺度上表现出不同的模式。例如,由一个家庭用电量构成的时间序列中,存在两个(每日和每周)重复出现的模式。以日为单位的重复模式(短期依赖)反映了早晚高峰的影响,以周为单位的重复模式(长期依赖)反映了工作日和周末的差异。一个好的时间序列预测模型应该同时捕获这两种依赖模式。
[0003] 循环神经网络(RNNs)在各种时间序列建模任务中表现良好。由于梯度消失和爆炸问题,捕获长期依赖仍然面临挑战。为了更好的捕获长期依赖,现有方法可分为三类。第一类是设计复杂的优化和初始化策略,例如梯度裁剪、近似恒等初始化和正交初始化。这些策略的表达能力有限,只能在一定程度上缓解该问题。
[0004] 第二类是在循环神经网络(RNNs)中设计单元(gate units),特殊设计的门单元能灵活控制信息的转换和选择,使模型学习到鲁棒的序列表示。然而,这些门单元只能保留当前时刻认为重要的信息,而对未来某个时刻很重要的信息可能被丢弃。
[0005] 第三类是多尺度模式的建模。其具体可分为两小类,第一小类是通过层次化结构堆叠多个隐层。较低层中的隐单元更新频率高,用于学习短期依赖。较高层中的隐单元更新频率低,用于学习长期依赖。这种设计符合许多时间序列中潜在的多尺度结构,即短期依赖关系对局部细粒度变化敏感,而长期依赖关系更关心缓慢变化的趋势信息。然而,堆叠多个隐层是一种隐式建模时间依赖关系的方法,并且不能灵活控制每一层实际捕获的信息。第二小类通过将时间序列分解为多个不同尺度的子序列来显式建模多尺度模式。然而,现有方法都是独立地对每个子序列建模,忽略了这些子序列之间的相关性,从全局度来看不能达到最优。

发明内容

[0006] 本发明的目的是提供一种基于交互式多尺度循环神经网络的时间序列预测方法,该时间序列预测方法在时间序列预测模型中同时考虑长期和短期的依赖关系,使得时间序列预测更加准确。
[0007] 为实现上述发明目的,本发明的技术方案为:
[0008] 一种基于交互式多尺度循环神经网络的时间序列预测方法,所述方法包括以下步骤:
[0009] (1)对待预测的时序序列进行异常值消除处理、归一化处理以及滑动时间窗口划分后,获得时间序列段;
[0010] (2)将时间序列段输入时间序列预测模型中,所述时间序列预测模型包括多级小波分解网络、跨尺度交互的RNNs、以及两级注意力机制单元、以及单层的全连接层,利用时间序列预测模型对时间序列段进行时间序列预测,具体过程为:
[0011] (2-1)利用多级小波分解网络对时间序列段进行n级分解,得到多尺度子序列集合;
[0012] (2-2)将多尺度子序列集合输入到跨尺度交互的循环神经网络中,采用截断、初始化和消息传递三种策略对多尺度子序列进行跨尺度交互过程,输出为表示相邻尺度子序列之间的相关性的多尺度表示;
[0013] (2-3)利用利用第一级注意力机制对多尺度表示进行加权,得到每一个尺度的加权表示;利用第二级注意力机制融合所有加权表示,得到融合表示;
[0014] (2-4)将融合表示输入至单层的全连接层映射得到预测的时间序列。
[0015] 本发明考虑时间序列中蕴含的多尺度信息,并引入多种策略建模不同尺度子序列之间的相关性,与现有的方法相比,其优点在于:
[0016] 1)利用多级小波分解网络将时间序列分解为多尺度子序列,同时考虑这些子序列中隐含的时间依赖和不同尺度子序列之间的相关性;
[0017] 2)引入三种策略(截断、初始化和消息传递)建模不同尺度子序列之间的相关性;利用两级注意力机制捕获多尺度时间依赖以及判别不同尺度子序列的重要性。
附图说明
[0018] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
[0019] 图1是本发明实施例提供的基于交互式多尺度循环神经网络的时间序列预测方法中时间序列预测模型中训练过程的流程图
[0020] 图2是本发明实施例提供的基于交互式多尺度循环神经网络的时间序列预测方法中时间序列预测过程的流程框图
[0021] 图3是发明实施例提供的三级小波分解过程示意图;
[0022] 图4是发明实施例提供的小波分解网络结构示意图;
[0023] 图5是发明实施例提供的跨尺度交互的循环神经网络(RNNs)中的跨尺度交互过程示意图;
[0024] 图6是发明实施例提供的消息传递过程示意图。

具体实施方式

[0025] 为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
[0026] 实施例提供的基于交互式多尺度循环神经网络的时间序列预测方法通过构建的时间序列预测模型,同时考虑了长期时间和短期时间的依赖关系,使得时间序列预测更加准确。该基于交互式多尺度循环神经网络的时间序列预测方法包括时间序列预测模型的构建和时间序列预测模型的应用两个阶段,下面针对每阶段进行详细说明。
[0027] 时间序列预测模型的构建阶段
[0028] 该阶段主要包括训练集的构建、网络模型的构建、损失函数的构建以及网络模型的训练以获得能够进行时间序列预测的时间序列预测模型。
[0029] S101,训练集的构建
[0030] S1011,对给定的时间序列进行异常值消除处理和归一化处理,并利用滑动时间窗口对处理后的数据进行划分得到训练集。
[0031] 具体地,首先,对给定的时间序列进行异常值检测,将超出正常范围的值和零值去除,然后,对时间序列中所有值进行min-max归一化处理,使处理后每一个数值都归一化到[-1,1]的范围内,转换公式如下:
[0032]
[0033] 其中,x为原始时间序列中的数值,Xmin为时间序列中的最小值,Xmax为时间序列中的最大值,x′为归一化之后的数值。
[0034] 最后,根据经验人为设定时间窗口大小T,利用固定长度的滑动步长对归一化后的数据进行划分得到训练集。
[0035] S1012,将训练集按照固定的批量大小进行分批,批次总数为N。
[0036] 具体地,根据经验人为设定的批量大小M对训练集进行分批,批次总数为N。具体计算方式如下:
[0037]
[0038] 其中,NSamples为训练集中样本总数。
[0039] S102,网络模型的构建
[0040] 网络模型包括多级小波分解网络、跨尺度交互的RNNs、两级注意力机制单元、以及单层的全连接层(NN)。
[0041] (a)多级小波分解网络的输入为样本时间序列x,对输入的样本时间序列x进行n级分解,每一级分解得到一条子序列,得到多尺度子序列集合 其中x0i
表示原始的时间序列,x表示第i(0
[0042] 给定一条样本时间序列x,小波分解利用一个高通滤波器 和一个低通滤波器 (K为滤波器的长度)将x分解,分别得到一个高频子序
列和一个低频子序列,再将低频子序列送入下一级分解,同样得到一个高频子序列和一个低频子序列。每一次分解得到的子序列长度是输入序列长度的一半。通过逐级分解,可以得到多个不同尺度的子序列。小尺度子序列可以保留数据中细粒度的细节信息,大尺度子序列可以捕捉缓慢变化的趋势信息。图3示例性地给出了三级小波分解过程。
[0043] 上述小波分解的过程通过神经网络实现,如图4所示,即序列数据和滤波器做卷积操作,通过如下函数实现:
[0044] ai+1=σ(Wi(l)xi(l)+bi(l))  (3)
[0045] di+1=σ(Wi(h)xi(l)+bi(h))  (4)
[0046] 其中,xi(l)为第i级分解得到的低频子序列,bi(l)和bi(h)是第i级的偏差向量,σ(·)是激活函数,Wi(l)和Wi(h)是滤波矩阵,填充滤波器对应的值。对ai+1和di+1通过一个平均池化层,即可得到第i+1级分解的结果,计算公式如下:
[0047]
[0048]
[0049] 其中, 和 分别表示ai+1、di+1、xi+1(l)和xi+1(h)中第j个元素。
[0050] 通过n级分解,最终得到多尺度子序列集合 其中x0表示原始的时间序列,xi表示第i(0
[0051]
[0052] (b)跨尺度交互的RNNs主要是对多尺度子序列集合中的时间子序列进行建模,并引入截断、初始化和消息传递三种策略来建模不同尺度子序列之间的相关性。
[0053] 跨尺度交互的RNNs的输入为多尺度子序列集合 经过跨尺度交互过程,输出为表示相邻尺度子序列之间的相关性的多尺度表示Hi(i∈{0,1,…,n})。
[0054] 如图5所示,跨尺度交互过程分为三步,分别为:
[0055] 第一步,针对输入的多尺度子序列集合 利用截断策略得到不同时间窗口大小的子序列。
[0056] 由于不同尺度子序列用于捕获不同的信息,小尺度子序列用于捕获细粒度的信息,大尺度子序列用于捕获较长期的信息。因此,我们引入截断策略,即对每个子序列只保留近期的值,对于越低尺度的子序列,其被保留的时间窗口越小,第i个尺度截断后的子序列 表示为:
[0057]
[0058] 其中ki表示第i个尺度截断后的起始索引。随着i的增加,被截断的长度更短,即满足k0>k1>…>kn。在本发明中,从最大尺度到最小尺度,依次截断为上一个尺度的一半长度。
[0059] 第二步,利用初始化策略赋值每一个尺度RNNs的初始隐状态,即一个尺度RNNs的初始隐状态由相邻更大尺度RNNs的隐状态初始化得到。
[0060] 针对初始化策略,大尺度RNNs的隐状态可以包含小尺度子序列被截断值中隐含的信息,一个尺度RNNs的初始隐状态由相邻更大尺度RNNs的隐状态初始化得到。计算公式如下:
[0061]
[0062] 其中 表示第i个尺度RNNs的初始隐状态。
[0063] 通过逐级传递,小尺度子序列中仍然可以学习到部分被截断值中隐含的信息,同时避免了梯度消失和爆炸的问题。
[0064] 第三步,利用消息传递策略来建模两个相邻尺度子序列之间的相关性,最终得到多尺度表示Hi(i∈{0,1,…,n})。
[0065] 在初始化之后,消息传递策略为将大尺度子序列中的信息层次化的传递到小尺度子序列中。如图6所示,对于第i个尺度RNNs,通过计算前一个时刻隐状态 和第i+1个尺度RNNs中的隐状态 之间的相似性得到t时刻的消息
[0066]
[0067] 其中σ(·)表示sigmoid激活函数, 表示权重分配矩阵,其在所有时刻之间共享,m表示隐状态的大小,g表示输出维度。隐状态 的定义如下:
[0068]
[0069] 将消息 和当前时刻的数值 拼接,得到真实输入
[0070]
[0071] 其中 在所有时刻之间共享。将所有时刻的真实输入送入RNNs中。本发明中实际采用GRU循环神经网络。GRU是一种RNNs的变体,每个GRU单元包括更新门z、重置门r和隐状态h。对于第i个尺度,假设当前时刻为t,各个部分的计算公式如下:
[0072]
[0073]
[0074]
[0075] 其中W和U表示不同的权重矩阵,b表示不同的偏置参数, 表示哈达玛积。σ表示激活函数,GRU单元中使用到了两种激活函数,σg表示sigmoid函数,σh表示tanh函数即双曲正切函数。GRU的输出即为多尺度表示
[0076] (c)两级注意力机制单元主要用于对多尺度表示Hi进行融合,利用第一级注意力i i机制对多尺度表示H进行加权,得到每一个尺度的加权表示Att (i∈{0,1,…,n});利用第二级注意力机制融合加权表示Atti(i∈{0,1,…,n}),得到融合表示Atts。
[0077] 在第一级注意力机制中,对于第i个尺度的表示 t时刻的权重 计算如下:
[0078]
[0079] 其中 AttScore函数为点乘。根据权重计算得到上下文向量ci:
[0080]
[0081] 将上下文向量ci和最后一个时刻的隐状态 分别做线性转换后再拼接,即可得到第i个尺度加权表示Atti:
[0082]
[0083] 在第二级注意力机制中,学习出每一个尺度加权表示的权重,得到表示Atts:
[0084] ui=σ(WwAtti+bw  (19)
[0085]
[0086]
[0087] 其中Ww为权重矩阵,bw为偏置参数。
[0088] (d)在获得表示Atts之后,对于表示Atts,利用单层的全连接层映射得到预测输出其中h表示预测步长。
[0089] Atts通过如下公式得到预测输出
[0090]
[0091] 其中Woutput为权重矩阵。
[0092] S103,时间序列预测模型的训练过程采用的损失函数的构建
[0093] 损失函数包括预测损失 和权重约束损失 之和,其中,以样本对应的真实值yt+h和模型输出的预测值 之间的误差作为预测损失
[0094]
[0095] 以小波分解网络中权重矩阵中当前值和初始化值之间的2范数差异作为权重约束损失
[0096]
[0097] 其中, 和 为小波分解网络中权重矩阵初始值,Wi(l)和Wi(h)为小波分解网络中权重矩阵当前值,λ为权衡参数;
[0098] 则整体损失 为:
[0099]
[0100] S104,网络模型的训练
[0101] 抽取训练集中的每个批次的训练样本对构建的模型进行训练,即根据批中所有样本的损失 对整个模型中的网络参数进行调整。
[0102] 批中所有样本的损失
[0103]
[0104] 其中 为批中第m个样本的损失,M为每个批中样本的数量。在本发明中,根据损失 对整个模型中的网络参数进行调整。Wi(l)和Wi(h)的更新公式如下:
[0105]
[0106]
[0107] 除Wi(l)和Wi(h)以外的其他可学习参数记为θ,更新公式如下:
[0108]
[0109] 其中η为学习率。
[0110] 当达到指定迭代次数后,参数调优结束后即获得了时间序列预测模型,利用该时间序列预测模型即可以进行时间序列预测。
[0111] 时间序列预测模型的应用阶段
[0112] 该应用阶段的主要过程为:
[0113] S201,对待预测的时序序列进行异常值消除处理、归一化处理以及滑动时间窗口划分后,获得时序序列段;
[0114] S202,将时间序列段输入多级小波分解网络中,每一级分解得到一条子序列,通过n级分解,得到多尺度子序列集合;
[0115] S203,将多尺度子序列集合输入到跨尺度交互的循环神经网络中,采用截断、初始化和消息传递三种策略对多尺度子序列进行跨尺度交互过程,输出能表示相邻尺度子序列之间的相关性的多尺度表示;
[0116] S204,利用第一级注意力机制对多尺度表示进行加权,得到每一个尺度的加权表示;利用第二级注意力机制融合所有加权表示,得到融合表示;
[0117] S205,将融合表示输入至单层的全连接层映射得到预测的时间序列。
[0118] 以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈