一种基于时空注意力机制的交通缺失数据补全方法

文档序号:25821750发布日期:2021-07-09 14:57阅读:225来源:国知局
一种基于时空注意力机制的交通缺失数据补全方法

1.本发明属于交通领域,涉及一种基于时空注意力机制的交通缺失数据补全方法。


背景技术:

2.随着互联网技术和交通信息化的快速发展,交通数据的规模越来越大,在智能交通系统中,完整有效的交通数据对交通管理的意义重大。但是实际生活中采集交通数据时,由于一些不可避免的事件的发生(如设备损坏、恶劣天气等),会导致数据采集中断,造成部分数据的缺失,这降低了数据集的有效性,制约了智能交通建设的发展。对交通数据集中的缺失值进行有效的补全,具有重要的理论和实际的研究意义。然而交通数据的补全具有非常大的挑战性,一方面,道路交通数据随着时间的变化是非平稳的,比如早晚高峰、节假日等都会影响交通数据的变化趋势,在临近时间上,交通数据具有很强的时间依赖性,同时,交通数据还呈现出显著的长时周期相关性;另一方面,真实世界中的交通路网具有复杂的空间结构,不同路网节点之间存在着空间相关性。此外,数据的缺失模式对缺失值的补全也存在影响。现有的补全方法在处理数据缺失时,对这些特性的建模不充分。比如li等人通过对输入向量进行分解后,结合lstm和支持向量机(support vector regression,简称svr)通过多视角的方法来进行时间序列数据补全,忽略了数据之间时空相关性的动态变化,同时没有考虑交通数据所存在的显著周期相关性。
3.注意力机制被广泛地使用在自然语言处理、语音识别以及图像识别等各种不同类型的深度学习任务中,是如今深度学习技术中最值得关注与了解的核心技术之一。所以,对于使用深度学习技术进行研究的研究人员来说,熟悉注意力机制的相关知识是很有必要的。从注意力机制的命名方式来看,很明显这是借鉴了人类的注意力这一概念,在人类对事物进行观察时,通常会把注意力集中在特定的某些部分,由此来获得得到目标问题所需要的相关性更高的信息。以人类视觉的选择性注意力机制为例,视觉注意力机制是人类所特有的大脑信号处理机制。在对图像进行观测时,通过对全局图像的快速扫描,可以选择出需要更多注意力来关注的目标区域,这也就是一般所说的注意力焦点。然后对这一块区域投入更多的注意力资源来获取所需要关注的目标的更多细节信息,同时也降低注意力分配给其他无用信息的比重。这是人类利用有限的注意力资源从大量信息中快速筛选出更具有价值的信息的方式,这一机制极大地提高了视觉信息处理的效率与准确性,是人类长期进化中形成的一种生存机制。深度学习中的注意力机制的核心目标也是从众多的信息中选择出对当前任务目标更有价值的信息。
4.神经网络最开始是受生物神经系统的启发,为了模拟生物神经系统而出现的,由大量的节点(或称神经元)之间相互联接构成。神经网络根据输入的变化,对权值进行调整,改善系统的行为,自动学习到一个能够解决问题的模型。lstm(长短记忆网络)是rnn(循环神经网络)的一种特殊形式,有效地解决多层神经网络训练的梯度消失和梯度爆炸问题,能够处理长时时间依赖序列。lstm能够捕获交通数据的序列特性,使用lstm模型能够有效提高补全精度。
5.lstm网络由lstm单元组成,lstm单元由单元,输入门、输出门和遗忘门组成。
6.遗忘门:决定从上一个单元的输出状态中丢弃多少信息,公式如下:
7.f
t
=σ
g
(w
f
x
t
+u
f
h
t
‑1+b
f
)
8.其中,f
t
是遗忘门的输出,x
t
是输入序列,h
t
‑1是上一个单元的输出,σ
g
表示sigmoid函数,w
f
表示输入的权重参数矩阵,u
f
表示上一个单元输出的权重参数矩阵,b
f
表示偏差参数向量。
9.输入门:决定让多少新的信息加入到cell状态中,并对单元状态c进行更新,公式如下:
10.i
t
=σ
g
(w
i
x
t
+u
i
h
t
‑1+b
i
)
[0011][0012]
其中,c
t
表示当前单元的单元状态,σ
g
和σ
c
表示sigmoid函数,表示矩阵乘积,w
i
表示输入的权重参数矩阵,u
i
表示上一个单元输出的权重参数矩阵,b
i
表示偏差参数向量,f
t
是遗忘门的输出,c
t
‑1是上一个单元的单元状态,表示矩阵乘积,w
c
表示输入的权重参数矩阵,u
c
表示上一个单元输出的权重参数矩阵,b
c
表示偏差参数向量。
[0013]
输出门:基于当前的单元状态输出结果。
[0014]
o
t
=σ
g
(w
o
x
t
+u
o
h
t
‑1+b
o
)
[0015][0016]
其中,h
t
表示当前单元的输出,σ
g
和σ
h
表示sigmoid函数,表示矩阵乘积,w
o
表示输入的权重参数矩阵,u
o
表示上一个单元输出的权重参数矩阵,b
o
表示偏差参数向量。


技术实现要素:

[0017]
本发明提出了一种基于时空注意力机制的交通缺失数据补全方法,是一种针对交通数据的临近时间相关性、动态的空间相关性和长时的周期相关性建模的深度学习方法,目的在于提高交通缺失数据的补全精度。
[0018]
为了达到上述目的,本发明采用的技术方案为:
[0019]
一种基于时空注意力机制的交通缺失数据补全方法,步骤如下:
[0020]
第一步、对原始数据进行预处理
[0021]
获取所有车流量数据作为原始数据,对原始数据进行预处理,将数据按k分钟的时间间隔做聚合操作,同时去除异常值并进行数据的标准化处理。
[0022]
第二步、根据数据的不同缺失模式处理数据
[0023]
将通过第一步获得的预处理后的数据进行数据点丢失处理,构建带有缺失点的数据集,然后记录缺失点所在的位置信息,同时保存缺失点对应的车流量数据真实值,作为验证值,用来验证数据补全模型的补全效果。
[0024]
同时,结合缺失点所在的位置信息构建时空相关性衰减矩阵。当数据中存在缺失值时,利用其它存在观测值的点的信息来对当前缺失点补全时,由于不同观测点和当前点之间时间间隔和空间距离的增大,其它观测点的信息对当前缺失点的补全产生的作用会随之衰减,这会影响最终的补全精度。通过构建时空相关性衰减矩阵来捕获相关性的衰减。时间维度影响衰减性矩阵定义如下:
[0025][0026]
其中,表示第i个路段,t时刻的观测点和它时间上距离最近且存在观测值的点之间的时间间隔;t
t
表示t时刻观测点在整个时间序列中的时刻信息。
[0027]
空间维度影响衰减性矩阵定义如下:
[0028][0029]
其中,表示第i个路段,t时刻的观测点和它空间上距离最近且存在观测值的点之间的空间距离,l
i
表示第i个路段在整个路网中所在的位置信息。
[0030]
的定义如下:
[0031][0032]
第三步、补全模型的输入定义
[0033]
所述的补全模型的输入由周期性输入和临近性输入组成:
[0034]
临近性输入序列包括正向临近性输入序列和反向临近性输入序列:
[0035]
正向临近性输入序列定义为:
[0036][0037]
其中,l
f
表示模型需要的正向临近性输入数据时间观测窗口的长度;表示t时刻,长度为l
f
的时间序列车流量观测值。
[0038]
反向临近性输入序列定义为:
[0039][0040]
其中,l
b
表示模型需要的反向临近性输入数据时间观测窗口的长度;表示t时刻,长度为l
b
的时间序列车流量观测值。
[0041]
周期性输入序列包括正向周期性输入序列和反向周期性输入序列。
[0042]
正向周期性输入序列定义为:
[0043][0044]
其中,l
f
表示模型需要的正向周期性输入数据时间观测窗口的长度;n表示模型输入所需要的周期数;f
t,j
表示在t时刻的周期数据集合内第j个周期的观测值。
[0045]
反向周期性输入序列定义为:
[0046][0047]
其中,l
b
表示模型需要的正向周期性输入数据时间观测窗口的长度;n表示模型输入所需要的周期数;f
t,j
表示在t时刻的周期数据集合内第j个周期的观测值。
[0048]
第四步、构建数据补全模型。
[0049]
结合第三步获得的补全模型的输入,构建数据补全模型。整个数据补全模型包括基于空间注意力机制的编码器模块、基于时间注意力机制的解码器模块、和基于时间卷积网络的周期性特征提取模块,各个模块的结构及训练机制如下:
[0050]
(1)基于空间注意力机制的编码器模块:是由全连接网络和双向长短期记忆网络组合成的模型,通过全连接网络对输入序列进行特征提取和映射,降低输入序列的维度。然后使用双向长短期记忆网络对序列进行编码,编码的同时,利用空间注意力机制捕获其它路段对目标路段的影响。
[0051]
基于空间注意力机制的编码器模块的实现细节:首先将正向临近性输入f
fs
和反向临近性输入f
bs
通过全连接网络进行映射,然后将降维后的向量输入bi

lstm网络中,通过空间注意力机制给不同的路段分配权重系数,然后输入bi

lstm单元中,在更新bi

lstm单元的隐藏层输出时,同时加入第二步得到的空间维度影响衰减性矩阵,获取编码器的输出。
[0052]
(2)基于时间注意力机制的解码器模块:由多层长短期记忆网络组合,将编码器的输出作为输入,通过解码过程获取最终的缺失数据补全值。
[0053]
基于时间注意力机制的解码器模块实现细节:将编码器模块的输出作为输入,通过时间注意力机制捕获不同时间点和目标时间点的相关性程度并分配权重系数,然后输入lstm单元中,在更新lstm单元的隐藏层输出时,同时加入第二步得到的时间维度影响衰减性矩阵,获取解码器的输出。
[0054]
(3)基于时间卷积网络的周期性特征提取模块:由多层时间卷积网络构成的模块。通过对周期性数据特征的提取,获取历史数据中、同一个传感器、同一个时间段车流量的变化规律,然后将提取到的特征输出。
[0055]
实现细节:首先将正向周期性输入f
fl
和反向周期性输入f
bl
通过全连接网络进行映射,将输出的两个映射向量进行拼接,然后用基于无因果卷积的时间卷积网络对周期性特征进行提取。
[0056]
第五步、对第二步处理后的数据集进行划分,按6:2:2的比例划分为训练集、验证集和测试集。在训练集上对模型进行训练获取最优的参数,在验证集上对当前最优参数组合下模型的效果进行验证,最后在测试集上测试模型最终的补全效果。使用训练集数据对数据补全模型进行预训练,对模型的参数进行初始化,提前优化基于时空注意力机制的数据补全模型的参数,避免在整体训练时将参数优化到局部最优点。
[0057]
第六步、在第五步获得的带有初始化参数的模型上,使用训练集和验证集数据对第四步构建的数据补全模型同时进行整体性训练,获取数据补全模型最优的参数组合:
[0058]
将预处理后的数据分别输入到数据补全模型相应的模块中,同时对所有模块进行整体性训练。计算每次训练后的补全值和车流量数据的真值的损失函数值,将模型的参数训练到目标值。根据模型在训练集、验证集上的效果,不断调试模型的超参数,在减小过拟合的条件下提高补全精度。在使用验证集时,将数据补全模型的学习率设置为0,防止数据
泄露的发生。
[0059]
所述的输入数据包括:正向临近性输入(t时刻前t1个时间间隔的车流量数据)、反向临近性输入(t时刻后t1个时间间隔的车流量数据)、正向周期性输入(t时刻前t2天内所有同一时刻的车流量数据)、反向周期性输入(t时刻后t2天内所有同一时刻的车流量数据)、时间维度影响衰减性矩阵空间维度影响衰减性矩阵缺失点位置信息矩阵
[0060]
经过一次迭代后,得到的是经过一次补全操作之后的车流量数据。将这次迭代后的数据作为下一次迭代的输入,之前缺失点虽然有了补全值,但是由于标签还是表示缺失,后续迭代过程中,目标还是对这些缺失点进行数据补全,但是由于已经存在相对接近真值的数据,提供了先验知识,可以提升模型收敛的速度以及补全精度。
[0061]
第七步、使用测试集利用第六步训练好的数据补全模型进行车流量数据补全。具体如下:
[0062]
输入数据为:正向临近性输入反向临近性输入正向周期性输入反向周期性输入时间维度影响衰减性矩阵空间维度影响衰减性矩阵缺失点位置信息矩阵
[0063]
通过第六步的数据补全模型得到缺失的车流量数据的补全值,和第二步进行丢失处理后得到的验证值进行对比,验证模型的补全效果。
[0064]
进一步的,所述第一步中,预处理的具体过程为:
[0065]
(1)时间粒度划分:将所有车流量数据按k分钟的时间粒度处理为每k分钟的车流量数据;
[0066]
(2)对数据进行标准化:采用最小值和最大值对车流量数据进行标准化,公式如下:
[0067][0068]
其中,x表示原始值,x
min
表示原始值的最小值,x
max
表示原始值的最大值,max为归一化的上限值,min为归一化的下限值,[min,max]表示归一化后的区间,x
*
为标准化后的结果。
[0069]
进一步的,所述第四步中,基于时空注意力机制的编码器模块、解码器模块的计算过程如下:
[0070]
在基于空间注意力机制的编码器模块中,使用注意力机制提取不同路段数据之间的空间相关性,公式如下:
[0071]
z
t
=relu(w
e
z
s
+b
e
)
[0072]
[0073][0074]
其中,relu是选用的激活函数,w
e
,w
l
,u
l
,b
l
模型训练过程中不断更新的参数,“.;.”表示张量拼接操作。β
t
表示最终获得的包含空间关联性信息的权重系数。
[0075]
然后加入空间维度影响衰减性矩阵来捕获空间距离对空间相关性的影响,公式如下:
[0076][0077][0078]
其中,表示t时刻的空间相关性衰减因子,h
t
‑1表示上一时刻的隐藏层状态。
[0079]
在基于时间注意力机制的解码器模块中,通过注意力机制捕获不同时刻和当前时刻之间的时间相关性,公式如下:
[0080][0081][0082]
其中,s
t
‑1表示lstm单元的前一时刻的隐藏状态,c
t
‑1表示lstm单元前一时刻的cell状态,w
d
、u
d
表示的是模型在训练过程中不断学习更新的参数,.;.表示向量连接操作,表示的就是第i个编码器状态在对当前时刻的缺失值进行补全时的权重系数,也就是在时间维度上,其他时刻与当前时刻的时间关联性强度。
[0083]
进一步的,所述第六步中,计算每次迭代所得到的车流量补全值和第二步中保存的车流量数据真实值的均方误差mae,使用adam方法最小化mae。
[0084][0085]
其中,x

j
表示第j个缺失点的车流量数据真实值,x
j
表示第j个缺失点的车流量数据补全值,n表示总的缺失点个数。
[0086]
与现有技术相比,本发明的有益效果:
[0087]
首先,对交通数据空间相关性特征的捕获上的改进,以往的方法在利用数据的空间相关性时,通常都是考虑临近路段对当前路段的影响,同时没有考虑空间相关性随着时间的变化而动态变化,本发明通过注意力机制的方式,捕获了路网中所有的路段在当前时刻对路网交通状态的影响程度大小,并在不同时刻重新捕获空间相关性信息,大幅提高了数据补全的精度。
[0088]
其次,考虑到交通数据的时序性,不同时刻的交通数据对当前时刻的数据影响程度是不一样的,本发明通过时间注意力机制捕获这种不一致的时间相关性信息,在对当前缺失数据补全时保留最有效的信息,提升了模型的补全效果。
[0089]
最后,在利用时空注意力机制捕获交通数据的时空相关性同时,考虑了数据之间
的相关性受到空间距离和时间间隔的增大而衰减,加入了时空衰减性矩阵,提高了补全精度。本发明的方法不仅大幅提高低缺失率车流量数据的补全精度,而且能够在数据缺失率较高的情况下达到很好的补全效果。
附图说明
[0090]
图1是本发明涉及的补全模型结构图。
[0091]
图2是数据缺失率为20%的缺失率补全结果与真实值的对比图。
[0092]
图3是数据缺失率为50%的缺失率补全结果与真实值的对比图。
[0093]
图4是数据缺失率为80%的缺失率补全结果与真实值的对比图。
[0094]
具体实施方法
[0095]
下面将结合具体实施例和附图对本发明的技术方案进行进一步的说明。
[0096]
一种基于时空注意力机制的交通缺失数据补全方法,步骤如下:
[0097]
第一步,将车流量数据预处理
[0098]
(1)时间粒度划分:将所有车流量数据按5分钟的时间粒度处理为每5分钟的车流量数据;
[0099]
(2)对数据进行标准化:采用最小值最大值对车流量数据进行标准化,公式如下:
[0100][0101]
其中,x表示原始值,x
min
表示原始值的最小值,x
max
表示原始值的最大值,max为归一化的上限值,min为归一化的下限值,[min,max]表示归一化后的区间,x
*
为标准化后的结果。
[0102]
第二步,将预处理后的数据进行数据点丢失处理,采用随机数的方法,分别按20%、50%和80%的数据缺失率处理数据,将随机数对应的数据点设置为数据缺失点,保存缺失点对应的车流量数据真实值用来验证数据补全模型最终的补全效果。
[0103]
同时,结合缺失点的位置信息构建时空相关性衰减矩阵。当序列数据中存在缺失值时,利用其它存在观测值的点的信息来对当前缺失点补全时,由于不同观测点和当前点之间时间间隔和空间距离的增大,其它观测点的信息对当前缺失点的补全产生的作用会随之衰减,这会影响最终的补全精度。通过构建时空相关性衰减矩阵来捕获相关性的衰减。
[0104]
第三步、模型的输入由周期性输入和临近性输入组成:
[0105]
临近性输入序列包括正向临近性输入序列和反向临近性输入序列。正向临近性输入序列定义为:
[0106][0107]
其中l
f
表示模型需要的正向临近性输入数据时间观测窗口的长度,表示t时刻,长度为l
f
的时间序列车流量观测值。
[0108]
反向临近性输入序列定义为:
[0109][0110]
其中l
b
表示模型需要的反向临近性输入数据时间观测窗口的长度,表示t
时刻,长度为l
b
的时间序列车流量观测值。
[0111]
周期性输入序列包括正向周期性输入序列和反向周期性输入序列。正向周期性输入序列定义为:
[0112][0113]
其中l
f
表示模型需要的正向周期性输入数据时间观测窗口的长度,n表示模型输入所需要的周期数,f
t,j
表示在t时刻的周期数据集合内第j个周期的观测值。
[0114]
反向周期性输入序列定义为:
[0115][0116]
其中l
b
表示模型需要的正向周期性输入数据时间观测窗口的长度,n表示模型输入所需要的周期数,f
t,j
表示在t时刻的周期数据集合内第j个周期的观测值。
[0117]
第四步、结合第三步获得的补全模型的输入,构建数据补全模型。整个数据补全模型包括基于空间注意力机制的编码器模块、基于时间注意力机制的解码器模块、和基于时间卷积网络的周期性特征提取模块,各个模块的结构及训练机制如下:
[0118]
(1)基于空间注意力机制的编码器模块:是由全连接网络和双向长短期记忆网络组合成的模型,通过全连接网络对输入序列进行特征提取和映射,降低输入序列的维度。然后使用双向长短期记忆网络对序列进行编码,编码的同时,利用空间注意力机制捕获其它路段对目标路段的影响。
[0119]
基于空间注意力机制的编码器模块的实现细节:首先将正向临近性输入f
fs
和反向临近性输入f
bs
通过全连接网络进行映射,然后将降维后的向量输入bi

lstm网络中,通过空间注意力机制给不同的路段分配权重系数,然后输入bi

lstm单元中,在更新参数时,加入空间维度衰减性矩阵,获取编码器的输出。
[0120]
(2)基于时间注意力机制的解码器模块:由多层长短期记忆网络组合,将编码器的输出作为输入,通过解码过程获取最终的缺失数据补全值。
[0121]
基于时间注意力机制的解码器模块实现细节:将编码器模块的输出作为输入,通过时间注意力机制捕获不同时间点和目标时间点的相关性程度并分配权重系数,同时,加入时间维度衰减性矩阵,获取解码器的输出。
[0122]
(3)基于时间卷积网络的周期性特征提取模块:由多层时间卷积网络构成的模块。通过对周期性数据特征的提取,获取历史数据中、同一个传感器、同一个时间段车流量的变化规律,然后将提取到的特征输出。实现细节:首先将正向周期性输入f
fl
和反向周期性输入f
bl
通过全连接网络进行映射,将输出的两个映射向量进行拼接,然后用基于无因果卷积的时间卷积网络对周期性特征进行提取。
[0123]
第五步、对第二步处理后的数据集进行划分,按6:2:2的比例划分为训练集、验证集和测试集。在训练集上对模型进行训练获取最优的参数,在验证集上对当前参数组合下模型的效果进行验证,最后在测试集上测试模型最终的补全效果。使用训练集数据对模型进行预训练,提前优化基于时空注意力机制的数据补全模型的参数,避免在整体训练时将参数优化到局部最优点。
[0124]
第六步、在第五步获得的带有初始化参数的模型上,使用训练集和验证集数据对第四步构建的数据补全模型进行整体性训练,获取模型最优的参数组合(在训练时,设置最
大迭代次数为1000,学习率为0.001):
[0125]
将第三步获得的输入数据分别输入到相应的模块中,同时对所有模块进行整体性训练。通过每次训练后的补全值和车流量数据的真实值计算损失函数值,将模型的参数训练到目标值。根据模型在训练集、验证集上的效果,不断调试模型的超参数,在减小过拟合的条件下提高补全精度。在使用验证集时,将模型的学习率设置为0,防止数据泄露的发生。训练过程中,计算每次迭代所得到的车流量数据补全值和第二步中保存的车流量数据真值的mae(均方误差),使用adam方法最小化mae。
[0126][0127]
其中,x

j
表示第j个缺失点的车流量数据真实值,x
j
表示第j个缺失点的车流量数据补全值,n表示总的缺失点个数。
[0128]
第七步、使用测试集利用第六步训练好的模型进行车流量数据补全。
[0129]
图2是数据缺失率为20%的补全结果与真实值的对比图,模型补全结果与车流量真实值的均方误差mae是19.88。
[0130]
图3是数据缺失率为50%的补全结果与真实值的对比图,模型补全结果与车流量真实值的均方误差mae是20.87。
[0131]
图4是数据缺失率为80%的补全结果与真实值的对比图,模型补全结果与车流量真实值的均方误差mae是25.82。
[0132]
以上所述实施例仅表达本发明的实施方式,但并不能因此而理解为对本发明专利的范围的限制,应当指出,对于本领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些均属于本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1