实时需求量的预测方法、装置及电子设备与流程

文档序号:22087175发布日期:2020-09-01 20:12阅读:220来源:国知局
实时需求量的预测方法、装置及电子设备与流程

本申请涉及神经网络技术领域,尤其涉及一种实时需求量的预测方法、装置及电子设备。



背景技术:

需求量预测是各种服务行业各项服务的核心问题之一,对于网约车服务而言,精确的需求量预测算法可以帮助平台提高车辆利用率,提高派单质量,指导司机调度,调节交通规划,规避拥堵路段等。现有的需求量预测通常基于卷积神经网络进行预测,比如把城市模拟为一张大图,将其划分为多个相同大小的矩形格子,并使用conv2d对这些格子做卷积操作,提取城市的局部不变性作为特征,最后将这些特征输入到全连接层中,对下个时刻进行预测,这种预测方式只能应用于上述矩形格子,如果将格子划分为多边形如六边形,则很难自然地将卷积网络迁移应用于新格子地图上,模型失去灵活性,且只能预测下个时刻的需求量,无法响应用户需求反馈实时的预测量,且预测结果不够准确。



技术实现要素:

有鉴于此,本申请实施例提供一种实时需求量的预测方法、装置及电子设备,能够响应用户的请求,反馈实时需求量预测结果,且需求量预测模型灵活性高、预测结果准确性高。

根据本申请的一个方面,提供一种实时需求量的预测方法,包括:接收客户端的需求量预测请求;其中,所述需求量预测请求中携带有目标时间区间和目标位置标识,所述目标位置标识中包括至少一个子位置标识;从预设的离线数据库中读取与所述目标时间区间和所述目标位置标识相对应的目标历史数据;其中,所述目标历史数据包括:与每个所述子位置标识对应的不同时间区间内的需求量;将所述目标历史数据输入所述目标位置标识对应的需求量预测模型中,得到每个所述子位置标识在所述目标时间区间内的预测需求量;其中,所述需求量预测模型由包含图卷积神经网络的多个模型训练生成。

在一些实施例中,从预设的离线数据库中读取与所述目标时间区间和所述目标位置标识相对应的目标历史数据的步骤,包括:从所述离线数据库中,提取以当前日期为基准的设定长度的日期内的所述目标时间区间对应的历史数据;从提取的所述目标时间区间对应的历史数据中,查找所述子位置标识对应的历史数据;将查找到的所述子位置标识对应的历史数据作为与所述目标时间区间和所述目标位置标识相对应的目标历史数据。

在一些实施例中,在接收客户端的需求量预测请求之前,还包括:通过kafka消息队列实时存储当前产生的订单数据;对所述kafka消息队列中的订单数据进行过滤处理;将所述过滤处理后的订单数据发送至所述离线数据库;所述过滤处理后的订单数据包括:订单id、订单时间、位置标识及所述订单起始地点的经纬度;在所述离线数据库中对所述过滤处理后的订单数据进行聚合处理,得到每个子位置标识对应的需求量。

在一些实施例中,对所述kafka消息队列中的订单数据进行过滤处理的步骤,包括:通过所述kafka消息队列的创建指令,筛选有效位置标识内的有效订单;对所述有效订单进行去重处理。

在一些实施例中,在所述离线数据库中对所述过滤处理后的订单数据进行聚合处理的步骤,包括:接收从所述kafka消息队列输入的所述过滤处理后的订单数据;根据所述过滤处理后的订单数据中的订单时间,将所述过滤处理后的订单数据按时间区间进行一次数据聚合;根据所述过滤处理后的订单数据中的位置标识、订单起始点的经纬度及每个位置标识对应的子位置标识的中心点的经纬度,将所述一次数据聚合后的数据按所述位置标识的子位置标识进行二次数据聚合,得到每个所述时间区间内每个子位置标识对应的需求量。

在一些实施例中,所述方法还包括:每隔预设时间,从所述离线数据库中读取训练样本数据;其中,所述训练样本数据包括:每个位置标识内不同时间区间对应的需求量;利用所述包含图卷积神经网络的多个模型对所述训练样本数据进行训练,得到每个位置标识对应的需求量预测模型。

在一些实施例中,所述需求量预测模型包括:图生成模型、环境门控循环神经网络和图卷积神经网络;将所述目标历史数据输入所述目标位置标识对应的需求量预测模型中,得到每个所述子位置标识在所述目标时间区间内的预测需求量的步骤,包括:将所述目标历史数据输入所述图生成模型,得到节点图;所述节点图的一个节点表征一个子位置标识,每个所述节点的数据包含其表征子位置标识的时间区间对应的需求量;通过所述环境门控循环神经网络对所述节点图进行时间维度加权及聚合,得到订单的时间信息特征;其中,所述时间信息特征包括每个所述节点对应时间区间下的订单汇总量;通过所述图卷积神经网络对所述时间信息特征进行空间局部特征抽取;基于抽取到的空间局部特征,预测每个所述子位置标识在所述目标时间区间内的预测需求量。

在一些实施例中,所述图生成模型至少包括以下之一:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型。

在一些实施例中,通过环境门控循环神经网络对所述节点图进行时间维度加权及聚合,得到订单的时间信息特征的步骤,包括:将所述节点图输入所述环境门控循环神经网络进行图卷积运算,得到所述目标历史数据在所述节点图上的空间信息特征;基于所述目标历史数据和所述空间信息特征在时间维度上进行加权,得到经过加权的输入信号;通过循环神经网络对所述经过加权的输入信号在时间维度上进行聚合,得到订单的时间信息特征。

在一些实施例中,基于所述目标历史数据和所述空间信息特征在时间维度上进行加权,得到经过加权的输入信号的步骤,包括:对所述目标历史数据和所述空间信息特征分别进行全局池化,得到两个维度一致的向量;将两个所述维度一致的向量进行拼接,通过预设的注意力机制生成环境门控权重向量;其中,所述环境门控权重向量包括与每个所述时间区间对应的权重值;求取所述目标历史数据与所述环境门控权重向量的哈达玛积,得到经过加权的输入信号。

在一些实施例中,基于抽取到的空间局部特征,预测每个所述子位置标识在所述目标时间区间内的预测需求量的步骤,包括:当所述图生成模型包括:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型中的一个时,将所述抽取到的空间局部特征,作为每个所述子位置标识在所述目标时间区间内的预测需求量;当所述图生成模型包括:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型中的多个时,利用多图卷积融合算法,对所述抽取得到的空间局部特征进行特征融合及降维处理,输出每个所述子位置标识在所述目标时间区间内的预测需求量。

根据本申请的另一个方面,提供一种实时需求量的预测装置,包括:请求接收模块,用于接收客户端的需求量预测请求;其中,所述需求量预测请求中携带有目标时间区间和目标位置标识,所述目标位置标识中包括至少一个子位置标识;数据读取模块,用于从预设的离线数据库中读取与所述目标时间区间和所述目标位置标识相对应的目标历史数据;其中,所述目标历史数据包括:与每个所述子位置标识对应的不同时间区间内的需求量;模型预测模块,用于将所述目标历史数据输入所述目标位置标识对应的需求量预测模型中,得到每个所述子位置标识在所述目标时间区间内的预测需求量;其中,所述需求量预测模型由包含图卷积神经网络的多个模型训练生成。

在一些实施例中,所述数据读取模块还用于:从所述离线数据库中,提取以当前日期为基准的设定长度的日期内的所述目标时间区间对应的历史数据;从提取的所述目标时间区间对应的历史数据中,查找所述子位置标识对应的历史数据;将查找到的所述子位置标识对应的历史数据作为与所述目标时间区间和所述目标位置标识相对应的目标历史数据。

在一些实施例中,所述装置还包括:实时存储模块,用于通过kafka消息队列实时存储当前产生的订单数据;数据过滤模块,用于对所述kafka消息队列中的订单数据进行过滤处理;数据发送模块,用于将所述过滤处理后的订单数据发送至所述离线数据库;所述过滤处理后的订单数据包括:订单id、订单时间、位置标识及所述订单起始地点的经纬度;数据聚合模块,用于在所述离线数据库中对所述过滤处理后的订单数据进行聚合处理,得到每个子位置标识对应的需求量。

在一些实施例中,所述数据过滤模块还用于:通过所述kafka消息队列的创建指令,筛选有效位置标识内的有效订单;对所述有效订单进行去重处理。

在一些实施例中,所述数据聚合模块还用于:接收从所述kafka消息队列输入的所述过滤处理后的订单数据;根据所述过滤处理后的订单数据中的订单时间,将所述过滤处理后的订单数据按时间区间进行一次数据聚合;根据所述过滤处理后的订单数据中的位置标识、订单起始点的经纬度及每个位置标识对应的子位置标识的中心点的经纬度,将所述一次数据聚合后的数据按所述位置标识的子位置标识进行二次数据聚合,得到每个所述时间区间内每个子位置标识对应的需求量。

在一些实施例中,所述装置还包括:模型训练模块,用于:每隔预设时间,从所述离线数据库中读取训练样本数据;其中,所述训练样本数据包括:每个位置标识内不同时间区间对应的需求量;利用所述包含图卷积神经网络的多个模型对所述训练样本数据进行训练,得到每个位置标识对应的需求量预测模型。

在一些实施例中,所述需求量预测模型包括:图生成模型、环境门控循环神经网络和图卷积神经网络;所述模型预测模块包括:节点图生成模块,用于将所述目标历史数据输入所述图生成模型,得到节点图;所述节点图的一个节点表征一个子位置标识,每个所述节点的数据包含其表征子位置标识的时间区间对应的需求量;时间特征提取模块,用于通过所述环境门控循环神经网络对所述节点图进行时间维度加权及聚合,得到订单的时间信息特征;其中,所述时间信息特征包括每个所述节点对应时间区间下的订单汇总量;空间特征提取模块,用于通过所述图卷积神经网络对所述时间信息特征进行空间局部特征抽取;预测子模块,用于基于抽取到的空间局部特征,预测每个所述子位置标识在所述目标时间区间内的预测需求量。

在一些实施例中,所述图生成模型至少包括以下之一:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型。

在一些实施例中,所述时间特征提取模块还用于:将所述节点图输入所述环境门控循环神经网络进行图卷积运算,得到所述目标历史数据在所述节点图上的空间信息特征;基于所述目标历史数据和所述空间信息特征在时间维度上进行加权,得到经过加权的输入信号;通过循环神经网络对所述经过加权的输入信号在时间维度上进行聚合,得到订单的时间信息特征。

在一些实施例中,所述时间特征提取模块还用于:对所述目标历史数据和所述空间信息特征分别进行全局池化,得到两个维度一致的向量;将两个所述维度一致的向量进行拼接,通过预设的注意力机制生成环境门控权重向量;其中,所述环境门控权重向量包括与每个所述时间区间对应的权重值;求取所述目标历史数据与所述环境门控权重向量的哈达玛积,得到经过加权的输入信号。

在一些实施例中,所述预测子模块还用于:当所述图生成模型包括:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型中的一个时,将所述抽取到的空间局部特征,作为每个所述子位置标识在所述目标时间区间内的预测需求量;当所述图生成模型包括:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型中的多个时,利用多图卷积融合算法,对所述抽取得到的空间局部特征进行特征融合及降维处理,输出每个所述子位置标识在所述目标时间区间内的预测需求量。

根据本申请的另一个方面,提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上述实时需求量的预测方法中的一个或多个方法的步骤。

根据本申请的另一个方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述实时需求量的预测方法中的一个或多个方法的步骤。

上述任一方面所述的实时需求量的预测方法和装置中,首先接收客户端的需求量预测请求,该需求量预测请求中携带有目标时间区间和目标位置标识,目标位置标识中包括至少一个子位置标识;从预设的离线数据库中读取与目标时间区间和目标位置标识相对应的目标历史数据,该目标历史数据包括:与每个子位置标识对应的不同时间区间内的需求量;将目标历史数据输入目标位置标识对应的需求量预测模型中,得到每个子位置标识在目标时间区间内的预测需求量;其中,需求量预测模型由包含图卷积神经网络的多个模型训练生成。本申请能够实时响应用户的请求,根据用户的预测请求确定出相应的目标历史数据,然后将目标历史数据输入到,预先由包含图卷积神经网络的多个模型训练好的需求量预测模型中,得到较为准确的预测结果。

为使本申请实施例的上述目的、特征和优点能更明显易懂,下面将结合实施例,并配合所附附图,作详细说明。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例所提供的一种实时需求量的预测系统的框图;

图2示出了本申请实施例所提供的一种实时需求量的预测方法的流程图;

图3示出了本申请实施例所提供的一种实时需求量的预测方法对应的系统整体架构图;

图4示出了本申请实施例所提供的一种模型预测过程示意图;

图5示出了本申请实施例所提供的另一种实时需求量的预测方法的流程示意图;

图6示出了本申请实施例所提供的一种实时需求量的预测装置的结构示意图;

图7示出了本申请实施例所提供的另一种实时需求量的预测装置的结构示意图;

图8示出了本申请实施例所提供的一种电子设备的示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“网约车场景”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕网约车场景进行描述,但是应该理解,这仅是一个示例性实施例。本申请可以应用于任何其他需要进行需求量预测的场景。例如,本申请可以应用于不同的外卖点餐服务场景、共享经济服务场景(如共享充电桩、共享单车、共享汽车)等。在网约车场景中,本申请可以应用于以下交通工具:如顺风车、专车、快车、公交车、或无人驾驶车辆等,或其任意组合。本申请的系统或方法的应用可以包括网页、浏览器的插件、客户端终端、定制系统或内部分析系统等,或其任意组合。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

图1是本申请一些实施例的实时需求量的预测系统的框图。例如,实时需求量的预测系统可以是用于诸如出租车、快车、代驾服务、公共汽车服务、拼车、驾驶员租赁、或班车服务之类的运输服务、或其任意组合的在线运输服务平台。实时需求量的预测系统可以包括服务器110、网络120、用户终端130和数据库140中的一种或多种,服务器110中可以包括执行指令操作的处理器。

在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。服务器组可以是分布式的(例如,服务器110可以是分布式系统),也可以是集中式的。在一些实施例中,服务器110相对于终端,可以是远程的、也可以是本地的。例如,服务器110可以经由网络120访问存储在用户终端130、或数据库140、或其任意组合中的信息和/或数据。在一些实施例中,服务器110可以在云平台上实现;仅作为示例,云平台可以包括私有云、混合云、公有云、分布式云、社区云(communitycloud)、多云(multi-cloud)跨云(inter-cloud)等,或者它们的任意组合。

在一些实施例中,服务器110可以包括处理器。处理器可以处理与服务请求有关的数据和/或信息,以执行本申请中描述的一个或多个功能。例如,处理器可以基于从用户终端130获取需求量历史特征数据进行需求量的预测。在一些实施例中,处理器可以包括一个或多个处理核,如多核处理器或单核处理器。

网络120可以用于数据和/或信息的交换。在一些实施例中,实时需求量的预测系统中的一个或多个组件可以向其他组件发送信息和/或数据。例如,服务器110可以经由网络120从用户终端130获取需求量时空数据。在一些实施例中,网络120可以是任何类型的有线或者无线网络,或者是他们的结合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或网络交换节点,实时需求量的预测系统的一个或多个组件可以通过该接入点连接到网络120以交换数据和/或信息。

数据库140可以存储指令和/或数据。在一些实施例中,数据库140可以存储从用户终端130获得的数据。在本实施例中,数据库140可以为离线数据库,用于存储将实时数据进行过滤处理或者聚合处理后的数据,以便于后续服务器110进行快速数据提取及需求量预测。在一些实施例中,数据库140可以存储在本申请中描述的示例性方法的指令和/或数据。在一些实施例中,数据库140可以包括大容量存储器、易失性读写存储器、可移动存储器、或只读存储器(read-onlymemory,rom)等,或其任意组合。

基于上述系统,图2提供了一种实时需求量的预测方法的流程图,该方法可以应用于上述服务器中,该服务器可以是诸如网约车服务平台系统中的服务器,根据需求量的预测结果可以对模型的参数进行优化,另外,需求量的预测结果也可以为服务提供方的调度提供参考。参见图2,该实时需求量的预测方法具体包括以下步骤:

步骤s202,接收客户端的需求量预测请求;其中,需求量预测请求中携带有目标时间区间和目标位置标识,目标位置标识中包括至少一个子位置标识。

在实际应用中,通常发送需求量预测请求的主体为公司内部的运营人员,其需要及时了解目标时间区间目标位置标识的订单需求量,以便更好地根据预测需求量进行服务提供方的调度或部署。因此,用户首先通过客户端向服务器发送需求量预测请求,具体的,可以在系统界面中选择具体的时间区间(如5:00-5:30)、具体的位置标识(如北京或者天津等)及子位置标识的参数(比如六边形子位置标识的半径、正方形位置标识的边长等),该具体的时间区间为上述目标时间区间,具体的位置标识为上述目标位置标识,根据子位置标识的参数就可以确定出该目标位置标识中对应的子位置标识的个数。

步骤s204,从预设的离线数据库中读取与目标时间区间和目标位置标识相对应的目标历史数据。

上述离线数据库中预先存储有处理好的数据,服务器在接收到用户的预测请求后,从该离线数据库中读取出与预测请求对应的历史数据,即上述目标历史数据,该目标历史数据中包括有与每个子位置标识对应的不同时间区间内的需求量。具体的读取历史数据的过程可以遵循不同的规则,可以根据实际情况而定,在此不做具体限定。比如,用户选择的目标时间区间为3月8日14:00-14:30,那么从离线数据库中读取出的目标历史数据可以是3月1日(上周)14:00-14:30、3月7日(昨天)14:00-14:30、3月7日11:30-12:00、12:00-13:30、13:30-14:00总共五个时间区间内的各个位置标识的需求量。

步骤s206,将目标历史数据输入目标位置标识对应的需求量预测模型中,得到每个子位置标识在目标时间区间内的预测需求量。

在具体实施时,服务器中预先存储有多个不同位置标识对应的需求量预测模型,上述需求量预测模型均是通过包含图卷积神经网络的多个模型训练而成的。在具体预测时,服务器会根据用户选择的目标位置标识,找到与其匹配的需求量预测模型,进而将上述读取的目标历史数据输入到该需求量预测模型中,通过该需求量预测模型输出目标位置标识中每个子位置标识在目标时间区间内的预测需求量。

本申请实施例所提供的实时需求量的预测方法中,首先接收客户端的需求量预测请求,该需求量预测请求中携带有目标时间区间和目标位置标识,目标位置标识中包括至少一个子位置标识;然后从预设的离线数据库中读取与目标时间区间和目标位置标识相对应的目标历史数据,该目标历史数据包括:与每个子位置标识对应的不同时间区间内的需求量;最后将目标历史数据输入目标位置标识对应的需求量预测模型中,得到每个子位置标识在目标时间区间内的预测需求量。本申请能够实时响应用户的请求,根据用户的预测请求确定出相应的目标历史数据,然后将目标历史数据输入到,预先由包含图卷积神经网络的多个模型训练好的需求量预测模型中,得到目标时间区间目标位置标识内的需求量预测结果,且需求量预测模型灵活性高、预测结果准确性高。

为了清楚地说明本申请实施例的实现过程,图3示出了一种实时需求量的预测方法对应的系统整体架构图,包括实时数据层、离线数据层、模型层和展示层。

实时数据层主要用于数据采集,比如,用户订单呼叫记录,如乘客打车的订单,存储在用户订单表中,运营人员,即上述需求量预测请求的主体,将存储的binlog日志推送到kafka消息队列,本申请系统对kafka的binlogtopic进行订阅,在kafka中对数据进行清洗过滤,分城市筛选有效位置标识内的有效订单,剔除无效订单。由于上游仅保证数据不丢失而不保证数据唯一性,这里同时对数据进行去重。

离线数据层主要用于整理模型层所需数据,包括了时间数据和空间数据,分别阐述如下:

a、时间数据。时间维度数据是需求量在某一时间区间某一个子位置标识(即六边形格子)中发生的订单呼叫总数,所以要对实时流数据进行聚合,对于实时数据层已经清洗过滤后的数据,将其转化为模型层中stmgcn图卷积神经网络算法可用的方式。在本申请实施例中,采用spark2.0的新特性structuredstreaming对kafka数据进行聚合。这个过程中,包括两次聚合,分别为根据时间区间进行的一次聚合和根据子位置标识进行的二次聚合,具体过程参见上述实施例,在此不再赘述。

b、空间数据。离线数据层同时计算空间的数据,比如,对上述聚合后的数据根据各个子位置标识之间的位置关系,如地理位置邻近关系、poi相似关系和路网连通关系,确定出上述聚合后的数据对应的空间数据。将上述聚合后的数据和其对应的空间数据输入到图生成模型中,可以更好地生成节点图。

模型层用于基于用户的需求量预测请求进行模型预测及预测结果输出,图4示出了本申请实施例提供的一种模型预测过程示意图,需求量预测模型包括:图生成模型、环境门控循环神经网络(cgrnn)和图卷积神经网络(gcn,多个gcn组成mgcn);通过图生成模块生成的节点图中不止包括有各个子位置标识对应的需求量,还包括各个子位置标识之间的空间关系数据,也就是向cgrnn引入多源关系,然后通过cgrnn对节点图进行时间建模,即提取出时间信息特征,该时间信息特征中会包含有少量的空间信息特征,以便mgcn进一步对上述时间信息特征进行非欧式结构的空间建模,即提取出大量的空间信息特征,最终输出预测结果。具体的预测过程后面会详细阐述,在此不再赘述。

展示层是运用模型层的能力,可以预测未来某个时间区间的需求量,即该时间区间内目标位置标识的需求量。本申请实施例通过一个轻量级的python服务器pythonwebflask架设了一个服务端,加载模型层的模型,对外提供服务,实时响应用户的预测请求,输出相应的需求量预测结果,此外,还编写了相关前端页面,可以实现在地图上的多城市维度可视化热力图展示。

出于实时预测速率考虑,本申请实施例提供了另一种实时需求量的预测方法的流程示意图,参见图5所示,用户通过展示层发起请求,该请求中携带有目标时间区间和目标位置标识,然后将参数传入到模型层,也就是将上述目标时间区间和目标位置标识传入模型层,模型层从离线数据层进行数据读取,即读取出目标时间区间和目标位置标识对应的目标历史数据,离线数据层将读取的目标历史数据返回到模型层,模型层再基于上述目标历史数据进行模型预测,最后通过展示层以可视化的方式展示给用户,从而完成实时需求量的预测。具体的过程参见上述实施例,在此不再赘述。

此外,本申请实施例还包括实时数据层进行数据过滤聚合到离线数据层的步骤,以及多个模型训练的步骤,具体内容如下:

在具体实施中,目标历史数据的选取对需求量的预测准确度来说,是非常关键的因素之一,因此,本申请实施例中提供了一种确定目标时间区间和目标位置标识相对应的目标历史数据的方式,具体包括以下步骤:

(1)从离线数据库中,提取以当前日期为基准的设定长度的日期内的目标时间区间对应的历史数据。

比如,当前日期为1月8日,运营人员选取的目标时间区间为7:00-7:30,那么以当前日期为基准的设定长度的日期为1月8日的前一天及前一周的同一天,也就是1月7日和1月1日,先从离线数据库中提取出上述1月7日的目标时间区间7:00-7:30,和1月1日的目标时间区间7:00-7:30、5:30-6:00、6:00-6:30、6:30-7:00对应的历史数据。

(2)从提取的目标时间区间对应的历史数据中,查找子位置标识对应的历史数据;将查找到的子位置标识对应的历史数据作为与目标时间区间和目标位置标识相对应的目标历史数据。

比如,从上述1月7日的目标时间区间7:00-7:30,和1月1日的目标时间区间7:00-7:30、5:30-6:00、6:00-6:30、6:30-7:00对应的历史数据中,进一步查找子位置标识对应的历史数据,即子位置标识对应的需求量,得到上述目标历史数据,即1月1日(上周)7:00-7:30、1月7日(昨天)7:00-7:30、1月7日5:30-6:00、6:00-6:30、6:30-7:00总共五个时间区间内的各个位置标识的需求量。

为了进一步提高实时需求量的预测速率,本申请实施例在在接收客户端的需求量预测请求之前,还包括以下步骤:

(1)通过kafka消息队列实时存储当前产生的订单数据。

上述订单数据中包括多种订单信息,如:订单id、订单时间、起始地点和目标地点、乘客身份信息等。产生的订单数据会根据时间顺序一个一个地存入kafka消息队列中。

(2)对kafka消息队列中的订单数据进行过滤处理。

具体的,通过kafka消息队列的创建指令,筛选有效位置标识内的有效订单,并基于订单id对有效订单进行去重处理。处理后的订单数据以json格式存储,具体包括:订单id、订单时间、位置标识及订单起始点的经纬度。其中,订单id也就是流水号,上述去重处理就是根据订单id进行的;订单时间为乘客呼叫订单的时间,也就是订单产生的时间;位置标识用于表征订单所在位置标识,比如,北京订单用1表示,天津订单用2表示等;订单起始地点的经纬度,也就是乘客上车地点的经纬度,以便确定该订单落入哪个子位置标识。

(3)将过滤处理后的订单数据发送至离线数据库。

过滤处理后的订单数据包括:订单id、订单时间、位置标识及订单起始点的经纬度,以json格式发送至离线数据库中,以便离线数据库进行数据聚合。

(4)在离线数据库中对过滤处理后的订单数据进行聚合处理,得到每个子位置标识对应的需求量。

具体的,接收从kafka消息队列输入的过滤处理后的订单数据;根据过滤处理后的订单数据中的订单时间,将过滤处理后的订单数据按时间区间进行一次数据聚合;根据过滤处理后的订单数据中的位置标识、订单起始点的经纬度及每个位置标识对应的子位置标识的中心点的经纬度,将一次数据聚合后的数据按位置标识的子位置标识进行二次数据聚合,得到每个时间区间内每个子位置标识对应的需求量。

本申请实施例中,将实时存储的订单数据进行过滤处理后存入离线数据库中,并进行了数据聚合,大大方便后续预测时数据提取、数据查找等,从而提高实时需求量的预测速率。

在进行上述实时需求量预测之前,服务器会预先训练出多个位置标识分别对应的需求量预测模型,以便后续服务器在接收到需求量的预测请求时,根据请求中的目标位置标识选择相应的需求量预测模型进行预测。具体的,每隔预设时间,从离线数据库中读取训练样本数据;其中,训练样本数据包括:每个位置标识内不同时间区间对应的需求量;利用包含图卷积神经网络的多个模型对训练样本数据进行训练,得到每个位置标识对应的需求量预测模型。

在具体实施时,上述数据过滤和数据聚合的过程会按分钟级别进行,提高数据的时效性,做到数据及时更新,另外,模型训练的过程也是按分钟粒度进行数据读取,及时训练及更新,这样可以保证数据的时效性,进而提高模型的精度,提高预测的准确度。

下面详细阐述通过需求量预测模型进行需求量预测的过程,具体包括以下步骤:

(1)将目标历史数据输入图生成模型,得到节点图;节点图的一个节点表征一个子位置标识,每个节点的数据包含其表征子位置标识的时间区间对应的需求量。

上述图生成模型至少包括以下之一:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型。这三种图生成模型均为预先构建好的模型,分别可以表达位置标识之间的连接关系,如:两个位置标识是否相临、两个位置标识是否相似或者两个位置标识是否在同一条道路上。通过上述三种图生成模型,可以得到三个节点图,在每个节点图中,一个节点表征一个位置标识,每个节点的数据包含其表征位置标识的时间区间对应的需求量。

具体实施中,将上述目标历史数据,即与目标位置标识对应的不同时间区间内的需求量数据输入上述图生成模型后,可以生成地理位置邻近节点图、poi相似节点图及路网连通节点图中的一个或多个,由于这些节点图中包含有更加全面的位置标识之间的位置关系信息,从而可以使后续的需求量预测更加准确。

(2)通过cgrnn对节点图进行时间维度加权及聚合,得到订单的时间信息特征;其中,时间信息特征包括每个节点对应时间区间下的订单汇总量。

具体的,将节点图输入cgrnn进行图卷积运算,得到目标历史数据在节点图上的空间信息特征;基于目标历史数据和空间信息特征在时间维度上进行加权,得到经过加权的输入信号;通过循环神经网络rnn对经过加权的输入信号在时间维度上进行聚合,得到订单的时间信息特征。

上述基于目标历史数据和空间信息特征在时间维度上进行加权,得到经过加权的输入信号的过程具体包括:对目标历史数据和空间信息特征分别进行全局池化,得到两个维度一致的向量;将两个维度一致的向量进行拼接,通过预设的注意力机制生成环境门控权重向量;其中,环境门控权重向量包括与每个时间区间对应的权重值;求取目标历史数据与环境门控权重向量的哈达玛积,得到经过加权的输入信号。

上述cgrnn不仅可以对节点图中的信息进行图卷积运算,还可以进行时间维度上的加权及聚合,通过图卷积运算可以提取初步的空间信息特征,而时间维度上的加权及聚合可以提取大量的时间特征,因此,上述得到的时间信息特征中包括有每个节点对应时间区间下的订单汇总量,该订单汇总量中除了包含大量的时间特征外,还包含少量的初步的空间信息特征,以便后续提取更多的空间信息特征。另外,上述时间维度上的加权及聚合过程,可以对历史数据根据重要性进行加权过滤,使得输入rnn的时间序列不再平滑,经过rnn聚合后的预测结果将变得对突变值更加敏感。

(3)通过gcn对时间信息特征进行空间局部特征抽取。

由于上述节点图中包含有更加全面的位置标识之间的位置关系信息,即上述节点图的数据结构形式为非欧式结构,而传统的卷积神经网络cnn无法处理非欧式结构,无法引入城市多模态数据进行准确地建模及预测,因此,在提取出上述时间信息特征后,进一步通过图卷积神经网络gcn进行空间局部特征抽取,从而提取出大量的空间信息特征。

(4)基于抽取到的空间局部特征,预测每个子位置标识在目标时间区间内的预测需求量。

当图生成模型包括:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型中的一个时,也就是生成一个节点图时,将抽取得到的空间局部特征,作为每个子位置标识在目标时间区间内的预测需求量;当图生成模型包括:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型中的多个时,利用多图卷积融合算法,对抽取得到的空间局部特征进行特征融合及降维处理,输出每个子位置标识在目标时间区间内的预测需求量。

本申请实施例能够通过图生成模型生成节点图,考虑了空间位置关系对预测的影响,通过环境门控循环神经网络,能够对历史数据根据重要性进行加权过滤,并采用图卷积神经网络进行空间特征提取,从而提高需求量的预测准确度及稳定性。

对应于上述方法实施例,图6示出了本申请实施例所提供的一种实时需求量的预测装置的框图,该实时需求量的预测装置实现的功能对应上述实时需求量的预测方法执行的步骤。该实时需求量的预测装置可以理解为上述服务器,或服务器的处理器,也可以理解为独立于上述服务器或处理器之外的在服务器控制下实现本申请功能的组件,如图6所示,该实时需求量的预测装置包括:请求接收模块602、数据读取模块604和模型预测模块606。

其中,请求接收模块602,用于接收客户端的需求量预测请求;其中,需求量预测请求中携带有目标时间区间和目标位置标识,目标位置标识中包括至少一个子位置标识;数据读取模块604,用于从预设的离线数据库中读取与目标时间区间和目标位置标识相对应的目标历史数据;其中,目标历史数据包括:与每个子位置标识对应的不同时间区间内的需求量;模型预测模块606,用于将目标历史数据输入目标位置标识对应的需求量预测模型中,得到每个子位置标识在目标时间区间内的预测需求量;其中,需求量预测模型由包含图卷积神经网络的多个模型训练生成。

本申请实施例所提供的实时需求量的预测装置,能够实时响应用户的请求,根据用户的预测请求确定出相应的目标历史数据,然后将目标历史数据输入到,预先由包含图卷积神经网络的多个模型训练好的需求量预测模型中,得到目标时间区间目标位置标识内的需求量预测结果。

图7示出了本申请实施例所提供的另一种实时需求量的预测装置的框图,该实时需求量的预测装置中除了包括与上一实施例类似的请求接收模块702、数据读取模块704和模型预测模块706外,还包括:实时存储模块708、数据过滤模块710、数据发送模块712和数据聚合模块714。

其中,实时存储模块708,用于通过kafka消息队列实时存储当前产生的订单数据;数据过滤模块710,用于对kafka消息队列中的订单数据进行过滤处理;数据发送模块712,用于将过滤处理后的订单数据发送至离线数据库;过滤处理后的订单数据包括:订单id、订单时间、位置标识及所述订单起始地点的经纬度;数据聚合模块714,用于在离线数据库中对过滤处理后的订单数据进行聚合处理,得到每个子位置标识对应的需求量。

在一些实施例中,上述数据读取模块704还用于:从离线数据库中,提取以当前日期为基准的设定长度的日期内的目标时间区间对应的历史数据;从提取的目标时间区间对应的历史数据中,查找子位置标识对应的历史数据;将查找到的子位置标识对应的历史数据作为与目标时间区间和目标位置标识相对应的目标历史数据。

在一些实施例中,上述数据过滤模块710还用于:通过kafka消息队列的创建指令,筛选有效位置标识内的有效订单;对有效订单进行去重处理。

在一些实施例中,上述数据聚合模块714还用于:接收从kafka消息队列输入的过滤处理后的订单数据;根据过滤处理后的订单数据中的订单时间,将过滤处理后的订单数据按时间区间进行一次数据聚合;根据过滤处理后的订单数据中的位置标识、订单起始点的经纬度及每个位置标识对应的子位置标识的中心点的经纬度,将一次数据聚合后的数据按位置标识的子位置标识进行二次数据聚合,得到每个时间区间内每个子位置标识对应的需求量。

在一些实施例中,上述实时需求量的预测装置还包括:模型训练模块716,用于:每隔预设时间,从离线数据库中读取训练样本数据;其中,训练样本数据包括:每个位置标识内不同时间区间对应的需求量;利用包含图卷积神经网络的多个模型对训练样本数据进行训练,得到每个位置标识对应的需求量预测模型。

在一些实施例中,上述需求量预测模型包括:图生成模型、环境门控循环神经网络和图卷积神经网络;上述模型预测模块706包括:节点图生成模块7062,用于将目标历史数据输入图生成模型,得到节点图;节点图的一个节点表征一个子位置标识,每个节点的数据包含其表征子位置标识的时间区间对应的需求量;时间特征提取模块7064,用于通过环境门控循环神经网络对节点图进行时间维度加权及聚合,得到订单的时间信息特征;其中,时间信息特征包括每个节点对应时间区间下的订单汇总量;空间特征提取模块7066,用于通过图卷积神经网络对时间信息特征进行空间局部特征抽取;预测子模块7068,用于基于抽取到的空间局部特征,预测每个子位置标识在目标时间区间内的预测需求量。

在一些实施例中,上述图生成模型至少包括以下之一:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型。

在一些实施例中,上述时间特征提取模块7064还用于:将节点图输入环境门控循环神经网络进行图卷积运算,得到目标历史数据在节点图上的空间信息特征;基于目标历史数据和空间信息特征在时间维度上进行加权,得到经过加权的输入信号;通过循环神经网络对经过加权的输入信号在时间维度上进行聚合,得到订单的时间信息特征。

在一些实施例中,上述时间特征提取模块7064还用于:对目标历史数据和空间信息特征分别进行全局池化,得到两个维度一致的向量;将两个维度一致的向量进行拼接,通过预设的注意力机制生成环境门控权重向量;其中,环境门控权重向量包括与每个时间区间对应的权重值;求取目标历史数据与环境门控权重向量的哈达玛积,得到经过加权的输入信号。

在一些实施例中,上述预测子模块7068还用于:当图生成模型包括:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型中的一个时,将抽取得到的空间局部特征,作为每个子位置标识在目标时间区间内的预测需求量;当图生成模型包括:地理位置邻近图生成模型、poi相似图生成模型和路网连通图生成模型中的多个时,利用多图卷积融合算法,对抽取得到的空间局部特征进行特征融合及降维处理,输出每个子位置标识在目标时间区间内的预测需求量。

上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过lan、wan、蓝牙、zigbee、或nfc等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。

为便于理解,图8示出根据本申请的一些实施例的可以实现本申请思想的电子设备800的示例性硬件和软件组件的示意图。例如,处理器820可以用于电子设备800上,并且用于执行本申请中的功能。

电子设备800可以是通用计算机或特殊用途的计算机,两者都可以用于实现本申请的异常行驶行为的识别方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。

例如,电子设备800可以包括连接到网络的网络端口810、用于执行程序指令的一个或多个处理器820、通信总线830和不同形式的存储介质840,例如,磁盘、rom或ram,或其任意组合。示例性地,计算机平台还可以包括存储在rom、ram或其他类型的非暂时性存储介质或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备800还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(input/output,i/o)接口850。

为了便于说明,在电子设备800中仅描述了一个处理器。然而,应当注意,本申请中的电子设备800还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备800的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述任一的图片特征提取方法或任一目标重识别方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

另外,在本申请实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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