基于深度时空残差网络的流量预测方法及装置
文献发布时间:2023-06-19 11:45:49
技术领域
本发明涉及人工智能技术领域,更具体地,涉及一种基于深度时空残差网络的流量预测方法及装置。
背景技术
由于物联网技术的广泛应用,智慧城市中存在大量时空数据,为公共安全预警、资源配置、商业设施选择等提供了数据基础。随着深度学习在计算机视觉、自然语言处理等领域取得突破性进展,业界开始探索将深度学习技术应用在时空数据预测领域。基于特定时空数据,如浮动车GPS、手机信令、新能源汽车充电数据等,可以进行城市不同区域交通流量、人流量等流量预测。
在AAAI 2017会议上,微软亚洲研究院提出了一种基于深度时空残差网络的城市人流量预测方法。该方法将整个城市根据经纬度划分成若干个均匀的网格区域,并定义了每个网格区域的流入(Inflow)和流出(Outflow)两种类型的流量。Inflow是一定时间间隔内从其他网关区域进入该区域的人流数量,Outflow是一定时间间隔内从该网格区域去往其他网格区域的人流数量。根据所获得的整个城市区域时空轨迹数据就可以得到每个网格中流入流出量,并可以热度图的形式进行展现。某一时间点的所有网格区域的流入流出量数据可以生成一张类似二维图像的流量矩阵,多个时间点的流量矩阵,就构成了一个图像序列。为了挖掘相邻时刻的交通流量变化的平滑特征,该人流量预测方法将最近邻几帧的数据,输入到一个深度残差网络里;又把对应时间点不同日期的对应时刻作为输入,模拟交通流量变化的周期性;从更长的时间维度模拟交通流量变换的趋势;最后将平滑、周期和趋势三个结果融合,在这一阶段仅考虑时间属性和空间属性。由于事件和天气等外部因素会对交通数据带来全局性的影响,因此,再与外部的事件、天气等因素做二次融合。该方法通过抽取关键帧作为输入,极大的简化了网络结构,同时也保证了训练的质量和效果。
上述基于深度时空残差网络的城市人流量预测方法将整个城市按照经纬度均匀的划分成网格的方式,有可能导致一个重点关注的行政区域或者一个兴趣点周围区域划分到不同的网格中,从而不能直接预测出用户关注区域的人流量。图1为现有技术对城市进行网格化划分的示意图,按照图1所示方法对城市进行网格化划分,可能导致出现用户所关注的为D区域的人流量预测,而D被划分到了不同的网格中而无法准确预测的问题。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的基于深度时空残差网络的流量预测方法及装置。
第一方面,本发明实施例提供一种基于深度时空残差网络的流量预测方法,包括:
基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,获取各子区域当前时刻的流量数据以及历史流量数据;
按照预设排列方法对所述各子区域的流量数据进行处理,生成流量矩阵;
将所述流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果。
其中,训练获得所述深度时空残差网络模型的步骤,具体包括:
将目标城市区域划分为N个子区域;
获取各子区域当前时刻的流量数据和历史流量数据;
任意选择一个子区域的流量数据作为第一个元素,其后按照预设规则依次排列同一时刻其他子区域的流量数据,形成一个N维向量,再依次选择其他子区域作为第一个元素,按照所述预设规则形成其余N-1个N维向量;
利用N个所述N维量向量组成一个N*N维的流量矩阵;
依次选择所述流量矩阵的前1列,前2列,……,前N列构造出N种元素规模由小到大的样本;
利用所述样本对所述深度时空残差网络模型进行训练,直至满足预设训练结束条件;
其中,N为大于1的自然数。
其中,利用所述样本对所述深度时空残差网络模型进行训练,直至满足预设训练结束条件,具体包括:
利用所述样本按照元素规模由小到大的顺序依次对所述深度时空残差网络模型进行训练,当在某种元素规模的样本下得到的模型满足预设训练条件时,停止训练过程,保存当前训练所述深度时空残差网络模型的参数,获得训练完成的深度时空残差网络模型;或者,
利用所有所述样本对所述深度时空残差网络模型进行训练,在得到的N个模型中选择性能最好的模型作为训练完成的深度时空残差网络模型。
其中,所述按照预设排列方法对所述各子区域的流量数据进行处理,生成流量矩阵,具体包括:
任意选择一个子区域的流量数据作为第一个元素,其后按照预设规则依次排列同一时刻其他子区域的流量数据,形成一个N维向量,再依次选择其他子区域作为第一个元素,按照所述预设规则形成其余N-1个N维向量;
利用N个所述N维向量组成一个N*N维的流量矩阵;
基于所述N*N维的流量矩阵,选取与所述训练完成时或性能最好的深度时空残差网络模型的输入样本元素规模相同的列,作为流量预测的输入流量矩阵;相对应地,
将所述流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果,具体为:
将所述输入流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果。
其中,所述获取各子区域当前时刻的流量数据以及历史流量数据,具体包括:
获取各子区域当前时刻按照预设统计方法统计的流量数据;
获取距离当前时刻预设时间间隔、在各个子区域按照所述预设统计方法统计的历史流量数据;
其中,所述预设统计方法包括:基于轨迹的数据统计方法或基于信令的数据统计方法。
其中,所述基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,具体包括:
按照行政区划将所述整个目标区域划分为多个子区域;或者,
按照道路结构将所述整个目标区域划分为多个子区域;或者,
以兴趣点为中心在所述整个目标区域内构造沃洛诺伊单元,将每个沃洛诺伊单元作为一个子区域对所述整个目标区域进行划分;或者,
按照用户自定义的其他子区域划分方式将所述整个目标区域划分为多个子区域。
第二方面,本发明实施例提供一种基于深度时空残差网络的流量预测装置,包括:
区域划分模块,用于基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,获取各子区域当前时刻的流量数据以及历史流量数据;
流量矩阵生成模块,用于按照预设排列方法对所述各子区域的流量数据进行处理,生成流量矩阵;
预测模块,用于将所述流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的基于深度时空残差网络的流量预测方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的基于深度时空残差网络的流量预测方法的步骤。
本发明实施例提供的基于深度时空残差网络的流量预测方法及装置,基于特定时空数据,支持采用任意的划分方式将整个城市区域划分成若干子区域,使得可以利用深度时空残差网络直接预测各子区域内的流量,可以用于进行城市不同区域交通流量、人流量等流量预测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术对城市进行网格化划分的示意图;
图2为本发明实施例提供的基于深度时空残差网络的流量预测方法的流程示意图;
图3为本发明实施例提供的对偶元三角网的示意图;
图4为本发明实施例所获得的沃洛诺伊单元的示意图;
图5为本发明实施例提供的深度时空残差网络模型的结构示意图;
图6为本发明另一实施例提供的基于深度时空残差网络的流量预测装置的结构示意图;
图7为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的基于深度时空残差网络的流量预测方法的流程示意图,包括:
步骤100、基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,获取各子区域当前时刻的流量数据以及历史流量数据;
具体地,本发明实施例提出一种基于深度时空残差网络的流量预测方法,通过将整个目标区域划分为多个子区域,利用预先训练完成的深度时空残差网络模型对各子区域进行流量预测。
本发明实施例支持规则划分或非规则划分方法进行子区域的划分,也即划分方式可以是任意的,例如如果关注各行政区域内的流量预测,可以按照行政区划进行划分,如果关注不同兴趣点周围区域的流量,可以按照将所有兴趣点构成的沃洛诺伊单元(VoronoiCell)对整个区域进行划分。
所述基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,具体包括:
按照行政区划将所述整个目标区域划分为多个子区域;或者,
按照道路结构将所述整个目标区域划分为多个子区域;或者,
以兴趣点为中心在所述整个目标区域内构造沃洛诺伊单元,将每个沃洛诺伊单元作为一个子区域对所述整个目标区域进行划分;或者,
按照用户自定义的其他子区域划分方式将所述整个目标区域划分为多个子区域。
以兴趣点为中心在所述整个目标区域内构造沃洛诺伊单元,将每个沃洛诺伊单元作为一个子区域对所述整个目标区域进行划分,具体包括:
将所述整个目标区域作为沃洛诺伊单元的中心,利用德洛内三角剖分算法生成对偶元三角网;
确定所述对偶元三角网中每一个三角形的外接圆圆心,连接各相邻三角形的外接圆圆心,形成以所述每一个三角形的顶点为生成元的多边形网,获得沃洛诺伊单元;
按照所述沃洛诺伊单元将所述用户关注区域划分为多个子区域。
例如,假设整个用户关注区域共有A~F共6个兴趣点。
将给定的A~F共6个兴趣点作为沃洛诺伊单元的中心;
生成沃洛诺伊单元的算法很多,这里采用德洛内(Delaunay)三角剖分算法,生成其对偶元三角网,如图3所示,为本发明实施例提供的对偶元三角网的示意图;
然后,找出所生成的对偶元三角网中每一个三角形的外接圆圆心,连接各相邻三角形的外接圆圆心,形成以每一个三角形顶点为生成元的多边形网,即可得到沃洛诺伊单元,如图4所示,为本发明实施例所获得的沃洛诺伊单元的示意图。然后,可按照所述沃洛诺伊单元将所述用户关注区域划分为多个子区域。
本发明实施例基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,能够避免现有技术中可能出现的将一个关注的整体区域划分到不同网格中导致无法直接预测该区域内流量的问题。
其中,所述获取各子区域当前时刻的流量数据以及历史流量数据,具体包括:
获取各子区域当前时刻按照预设统计方法统计的流量数据;
获取距离当前时刻预设时间间隔、在各个子区域按照所述预设统计方法统计的历史流量数据;
其中,所述预设统计方法包括:基于轨迹的数据统计方法或基于信令的数据统计方法。
在本发明实施例中,流量数据可以是指人流量数据,也可以是车流量数据,可以是流入量数据,也可以是流出量数据,值得说明的是,本发明实施例中上下文提到的流量数据均是同一类型的流量数据,例如,人流入量数据,人流出量数据,车流入量数据,车流出量数据等。
步骤200、按照预设排列方法对所述各子区域的流量数据进行处理,生成流量矩阵;
具体地,任意选择一个子区域的流量数据作为第一个元素,其后按照预设规则依次排列同一时刻其他子区域的流量数据,形成一个N维向量,再依次选择其他子区域作为第一个元素,按照所述预设规则形成其余N-1个N维向量;
利用N个所述N维量向量组成一个N*N维的流量矩阵;
例如,以图4所生成的子区域为例,N=6,某一时刻每个子区域的流入量为N
以子区域A为中心,将流入量N
选取与子区域A最近邻的子区域F作为中心,其流入量N
依次执行下去,直到所有的子区域均作为参考中心为止,得到6个6维向量。将6个6维向量组成一个类似二维图像的6*6维流入量矩阵。
最后,基于所述N*N维的流量矩阵,选取与所述训练完成的深度时空残差网络模型的输入样本元素规模相同的列,作为流量预测的输入流量矩阵。
步骤300、将所述流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果。
具体地,所述深度时空残差网络模型采用与现有技术中相同的结构,如图5所示,为本发明实施例提供的深度时空残差网络模型的结构示意图。
通过构造训练样本对所述深度时空残差网络模型进行训练,训练结束后,训练完成的深度时空残差网络具有对流量进行预测的能力。选取与所述训练完成的深度时空残差网络模型的输入样本元素规模相同的列,作为流量预测的输入流量矩阵,将所述输入流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果。
本发明实施例提供的基于深度时空残差网络的流量预测方法,基于特定时空数据,支持采用任意的划分方式将整个城市划分成子区域,使得利用深度时空残差网络将一个关注的整体区域划分到不同网格中也能够直接预测该区域内的流量,可以用于进行城市不同区域交通流量、人流量等流量预测。
基于上述实施例的内容,训练获得所述深度时空残差网络模型的步骤,具体包括:
将目标城市区域划分为N个子区域;
获取各子区域当前时刻的流量数据和历史流量数据;
任意选择一个子区域的流量数据作为第一个元素,其后按照预设规则依次排列同一时刻其他子区域的流量数据,形成一个N维向量,再依次选择其他子区域作为第一个元素,按照所述预设规则形成其余N-1个N维向量;
利用N个所述N维向量组成一个N*N维的流量矩阵;
依次选择所述流量矩阵的前1列,前2列,……,前N列构造出N种元素规模由小到大的样本;
利用所述样本对所述深度时空残差网络模型进行训练,直至满足预设训练结束条件;
其中,N为大于1的自然数。
具体地,首先确定子区域划分,将目标城市区域划分为N个子区域,如上述实施例所述,划分方式可以是任意的,可以按照行政区划、按照道路交通网、按照兴趣点等方式进行划分。
获取各子区域当前和历史流量数据:获取距离当前时刻预设时间间隔内各个子区域按照预定方法统计的流量数据,通常可分别统计各子区域的流入量和流出量。所述预定方法可以为基于轨迹的数据统计方法、基于信令的数据统计方法等。
确定生成N个N维向量的方式:任意选择一个子区域的流量作为第一个元素,其后按照一定规则依次排列其他子区域的流量,形成一个N维向量,再依次选择其他子区域作为第一个元素,按照相同规则形成其余N-1个N维向量。
形成N*N维流入量和流出量矩阵:利用N个N维流入量向量组成一个N*N维流入量矩阵,同理可得到一个N*N维流出量矩阵。
构造训练样本:将前述步骤中得到的流量矩阵,依次选择前1列、前2列、…、前N列构造出N种元素规模由小到大的样本。
模型训练:采用现有深度时空残差网络模型进行训练。将前述步骤中得到的N种训练样本,采用元素规模由小到大的顺序依次对网络模型进行训练。当在某种样本下得到满足要求的模型后,即可停止训练过程,不再对尚未参与训练的样本进行训练,以降低训练工作量;也可将所有样本进行训练,在得到的N个模型中选择性能最好的模型进行应用,以提升性能。
如图6所示,为本发明另一实施例提供的基于深度时空残差网络的流量预测装置的结构示意图,包括:区域划分模块610、流量矩阵生成模块620和预测模块630,其中,
区域划分模块610,用于基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,获取各子区域当前时刻的流量数据以及历史流量数据;
具体地,子区域划分模块610支持规则划分或非规则划分方法进行子区域的划分,也即划分方式可以是任意的,例如如果关注各行政区域内的流量预测,可以按照行政区划进行划分,如果关注不同兴趣点周围区域的流量,可以按照将所有兴趣点构成的沃洛诺伊单元(Voronoi Cell)对整个区域进行划分。
所述区域划分模块610具体用于:
按照行政区划将所述整个目标区域划分为多个子区域;或者,
按照道路结构将所述整个目标区域划分为多个子区域;或者,
以兴趣点为中心在所述整个目标区域内构造沃洛诺伊单元,将每个沃洛诺伊单元作为一个子区域对所述整个目标区域进行划分;或者,
按照用户自定义的其他子区域划分方式将所述整个目标区域划分为多个子区域。
本发明实施例基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,能够避免现有技术中可能出现的将一个关注的整体区域划分到不同网格中导致无法直接预测该区域内流量的问题。
流量矩阵生成模块620,用于按照预设排列方法对所述各子区域的流量数据进行处理,生成流量矩阵;
具体地,流量矩阵生成模块620具体用于任意选择一个子区域的流量数据作为第一个元素,其后按照预设规则依次排列同一时刻其他子区域的流量数据,形成一个N维向量,再依次选择其他子区域作为第一个元素,按照所述预设规则形成其余N-1个N维向量;
利用N个所述N维量向量组成一个N*N维的流量矩阵;
最后,基于所述N*N维的流量矩阵,选取与所述训练完成的深度时空残差网络模型的输入样本元素规模相同的列,作为流量预测的输入流量矩阵。
预测模块630,用于将所述流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果。
预测模块630具体用于将所述输入流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果。
本发明实施例提供的基于深度时空残差网络的流量预测装置,基于特定时空数据,支持采用任意的划分方式将整个城市区域划分成子区域,使得可以利用深度时空残差网络直接预测各子区域内的流量,可以用于进行城市不同区域交通流量、人流量等流量预测。
图7为本发明实施例提供的电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储在存储器730上并可在处理器710上运行的计算机程序,以执行上述各方法实施例所提供的基于深度时空残差网络的流量预测方法,例如包括:基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,获取各子区域当前时刻的流量数据以及历史流量数据;按照预设排列方法对所述各子区域的流量数据进行处理,生成流量矩阵;将所述流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例提供的基于深度时空残差网络的流量预测方法,例如包括:基于规则划分或非规则划分方法将整个目标区域划分为多个子区域,获取各子区域当前时刻的流量数据以及历史流量数据;按照预设排列方法对所述各子区域的流量数据进行处理,生成流量矩阵;将所述流量矩阵输入至训练完成的深度时空残差网络模型,获得所述各子区域在下一个时刻的流量预测结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 基于深度时空残差网络的流量预测方法及装置
- 基于深度时空残差网络的路网短时交通流预测方法