节点业务量预测方法、装置、计算机可读介质及电子设备
文献发布时间:2024-04-18 19:58:26
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种节点业务量预测方法、装置、计算机可读介质及电子设备。
背景技术
在物流、金融、互联网计算等领域,需要对其各节点业务量进行提前的预测,以应对业务量的突然变化。目前主流的预测模型,如prophet等,仍然为时间序列模型,这种预测模型仅以节点的历史业务量为依据进行预测,这种预测方式得到的预测结果精度较差,在某些情况下与真实结果相差过大,不能作为有效的数据支持。
发明内容
本申请的实施例提供了一种节点业务量预测方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以克服目前主流时序预测模型的预测精度较差的问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种节点业务量预测方法,所述方法包括:将目标节点的目标日期前预定时间周期的历史业务数据转换为时间序列;对所述时间序列进行特征处理,得到多维度的时序特征;根据所述目标节点的预定时间周期的目标日期前历史业务数据和节点环境数据,确定所述节点的节点特征;将所述节点特征和所述多维度的时序特征输入预测模型,所述预测模型输出预测的业务量。
在本申请的一个实施例中,所述方法还包括:获取包括当天节点特征和当天多维度的时序特征的特征样本组集合,其中每个特征样本组均事先标定当天实际的业务量;将每个所述特征样本组的数据分别输预测模型,得到所述预测模型输出的预测的业务量;如果存在有所述特征样本组的数据输入预测模型后,得到的预测的业务量与对所述样本事先标定的当天实际的业务量不一致,则调整所述预测模型的系数,直到一致;当所有所述特征样本组的数据输入预测模型后,得到的预测的业务量与对所述特征样本组事先标定当天实际的业务量一致,训练结束。
在本申请的一个实施例中,在所述将所述节点特征和所述多维度的时序特征输入预测模型,所述预测模型输出预测的业务量之后,所述方法还包括:根据预测模型预测的业务量,确定所述目标节点在所述目标日期的业务量。
在本申请的一个实施例中,所述根据预测模型预测的业务量,确定所述目标节点在所述目标日期的业务量具体包括:若预测模型预测的业务量大于最高预测阈值,则将第一预测值作为所述目标节点在所述目标日期的业务量;若预测模型预测的业务量小于最低预测阈值,则将所述第二预测值作为所述目标节点在所述目标日期的业务量;若预测模型预测的业务量在所述最高预测阈值与所述最低预测阈值之间,则将预测模型预测的业务量作为所述目标节点在所述目标日期的业务量。
在本申请的一个实施例中,所述将目标节点的目标日期前预定时间周期的历史业务数据转换为时间序列具体包括:确定所述目标日期的日期属性,所述日期属性包括平峰日、低谷日以及高峰日;若所述目标日期的日期属性为平峰日,则将目标节点的目标日期前预定天平峰日的历史业务数据转换为时间序列;若所述目标日期的日期属性为低谷日,则将目标节点的目标日期前预定天低谷日的历史业务数据转换为时间序列;若所述目标日期的日期属性为高峰日,则将目标节点的目标日期前预定天高峰日的历史业务数据转换为时间序列。
在本申请的一个实施例中,所述目标节点与多个下级节点关联,在将所述节点特征和所述多维度的时序特征输入预测模型,所述预测模型输出预测的业务量之后,所述方法还包括:根据预测的所述目标节点在所述目标日期的业务量和预测的与所述目标节点关联的各下级节点在所述目标日期的业务量,对预测的与所述目标节点关联的各下级节点在所述目标日期的业务量进行修正。
在本申请的一个实施例中,所述根据预测的所述目标节点在所述目标日期的业务量和预测的与所述目标节点关联的各下级节点在所述目标日期的业务量,对预测的与所述目标节点关联的各下级节点在所述目标日期的业务量进行修正,具体包括:确定级差值,所述级差值为预测的所述目标节点在所述目标日期的业务量和与预测的所述目标节点关联的各下级节点在所述目标日期的业务量总和之差;根据所述极差值,对预测的与所述目标节点关联的各下级节点在所述目标日期的业务量进行修正。
根据本申请实施例的一个方面,提供了一种节点业务量预测装置,所述节点业务量预测装置包括:时间序列模块,用于将目标节点的目标日期前预定时间周期的历史业务数据转换为时间序列;多维度的时序特征模块,用于对所述时间序列进行特征处理,得到多维度的时序特征;节点特征模块,用于根据所述目标节点的预定时间周期的目标日期前历史业务数据和节点环境数据,确定所述节点的节点特征;预测输出模块,用于将所述节点特征和所述多维度的时序特征输入预测模型,所述预测模型输出预测的业务量。
在本申请的一个实施例中,所述预测模型的训练方法是:获取包括当天节点特征和当天多维度的时序特征的特征样本组集合,其中每个特征样本组均事先标定当天实际的业务量;将每个所述特征样本组的数据分别输预测模型,得到所述预测模型输出的预测的业务量;如果存在有所述特征样本组的数据输入预测模型后,得到的预测的业务量与对所述样本事先标定的当天实际的业务量不一致,则调整所述预测模型的系数,直到一致;当所有所述特征样本组的数据输入预测模型后,得到的预测的业务量与对所述特征样本组事先标定当天实际的业务量一致,训练结束。
在本申请的一个实施例中,所述节点业务量预测装置还包括:预测确定模块,用于根据预测模型预测的业务量,确定所述目标节点在所述目标日期的业务量。
在本申请的一个实施例中,所述预测确定模块具体包括:第一确定单元,用于若预测模型预测的业务量大于最高预测阈值,则将第一预测值作为所述目标节点在所述目标日期的业务量;第二确定单元,用于若预测模型预测的业务量小于最低预测阈值,则将所述第二预测值作为所述目标节点在所述目标日期的业务量;第三确定单元,用于若预测模型预测的业务量在所述最高预测阈值与所述最低预测阈值之间,则将预测模型预测的业务量作为所述目标节点在所述目标日期的业务量。
在本申请的一个实施例中,所述时间序列模块具体包括:日期属性单元,用于确定所述目标日期的日期属性,所述日期属性包括平峰日、低谷日以及高峰日;平峰转换单元,用于若所述目标日期的日期属性为平峰日,则将目标节点的目标日期前预定天平峰日的历史业务数据转换为时间序列;低谷转换单元,用于若所述目标日期的日期属性为低谷日,则将目标节点的目标日期前预定天低谷日的历史业务数据转换为时间序列;高峰转换单元,用于若所述目标日期的日期属性为高峰日,则将目标节点的目标日期前预定天高峰日的历史业务数据转换为时间序列。
在本申请的一个实施例中,所述目标节点与多个下级节点关联,所述节点业务量预测装置还包括:上下配平模块,用于根据预测的所述目标节点在所述目标日期的业务量和预测的与所述目标节点关联的各下级节点在所述目标日期的业务量,对预测的与所述目标节点关联的各下级节点在所述目标日期的业务量进行修正。
在本申请的一个实施例中,所述上下配平模块具体包括:级差值确定单元,用于确定级差值,所述级差值为预测的所述目标节点在所述目标日期的业务量和与预测的所述目标节点关联的各下级节点在所述目标日期的业务量总和之差;预测量修正单元,用于根据所述极差值,对预测的与所述目标节点关联的各下级节点在所述目标日期的业务量进行修正。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的节点业务量预测方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的节点业务量预测方法。
在本申请的一些实施例所提供的技术方案中,在将数据输入预测模型前,先将业务件量数据按时间序列排布,并经过各种处理得到各种时间序列特征,同时还分析站点的业务构成、区域构成和客户构成等站点业务特征,将各种时间序列特征和各种站点业务特征与件量关联输入预测模型进行学习训练,最终得到调校好的预测模型,即可以通过训练好的模型进行件量预测,由于该预测模型考虑了各种多维度的时序特征和业务特征,对各种因素的考虑更全面,预测也就更准确,进而至少在一定程度上克服了目前主流时序预测模型的预测精度较差的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
图2示意性示出了根据本申请的一个实施例的节点业务量预测方法的流程图。
图3是根据图2对应实施例示出的节点业务量预测的方法中步骤S200的一种具体实现流程图。
图4是根据图2对应实施例示出的节点业务量预测的方法的另一具体实现流程图。
图5是根据图4对应实施例示出的节点业务量预测的方法中步骤S500的一种具体实现流程图。
图6是根据图2对应实施例示出的节点业务量预测的方法的又一具体实现流程图。
图7示意性示出了根据本申请的一个实施例的节点业务量预测装置的框图。
图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构可以包括终端设备(如图1中所示智能手机101、平板电脑102和便携式计算机103中的一种或多种,当然也可以是台式计算机等等)、网络104和服务器105。网络104用以在终端设备和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
用户可以使用终端设备作为节点通过网络104与服务器105交互,以接收或发送消息等。服务器105可以是提供各种服务的服务器。例如用户利用终端设备103(也可以是终端设备101或102)向服务器105上传了其在目标日期前预定时间周期的历史业务数据,服务器105可以将该终端设备103在目标日期前预定时间周期的历史业务数据转换为时间序列,然后对所述时间序列进行特征处理,得到多维度的时序特征,再根据终端设备103的预定时间周期的目标日期前历史业务数据和节点环境数据,确定终端设备103的节点特征;然后将所述节点特征和所述多维度的时序特征输入预测模型,所述预测模型输出预测的业务量;最后根据预测模型预测的业务量,确定所述目标节点在所述目标日期的业务量。
需要说明的是,本申请实施例所提供的节点业务量预测方法一般由服务器105执行,相应地,节点业务量预测装置一般设置于服务器105中。但是,在本申请的其它实施例中,终端设备也可以与服务器具有相似的功能,从而执行本申请实施例所提供的节点业务量预测的方案。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2示出了根据本申请的一个实施例的节点业务量预测方法的流程图,该节点业务量预测方法可以由服务器来执行,该服务器可以是图1中所示的服务器。参照图2所示,该节点业务量预测方法具体可以包括以下步骤:
步骤S100,将目标节点的目标日期前预定时间周期的历史业务数据转换为时间序列。
步骤S200,对所述时间序列进行特征处理,得到多维度的时序特征。
步骤S300,根据所述目标节点的预定时间周期的目标日期前历史业务数据和节点环境数据,确定所述节点的节点特征。
步骤S400,将所述节点特征和所述多维度的时序特征输入预测模型,所述预测模型输出预测的业务量。
在本实施例中,先将目标节点的目标日期前预定时间周期的历史业务数据转换为时间序列,对时间序列进行特征处理,提取到多维度的时序特征,再结合该目标节点的预定时间周期的目标日期前历史业务数据和节点环境数据,确定该节点的节点特征,然后将节点特征和多维度的时序特征输入预测模型,所述预测模型输出预测的业务量,最后根据该预测的业务量确定该目标节点在目标日期的业务量。由于本申请实施例的预测模型考虑了各种多维度的时序特征和业务特征,对各种因素的考虑更全面,预测也就更准确,进而至少在一定程度上克服了目前主流时序预测模型的预测精度较差的问题。
在本申请的实施例中,所指的节点可以是物流网络、金融网络以及互联网、物联网等网络上的任意节点。本申请的后续实施例中,将以物流网络为例进行说明,其可以是物流网络中的物流站点、配送中心、分拣中心等。
在步骤S100中,历史业务数据即当天的业务量,在物流网络中,即为当天的运单量。目标日期即要进行预测的日期,预定时间周期可以是25天、30天、35天,本申请在此不做限定,在本申请的后续实施例中,以30天为例进行说明。在本申请的实施例中,步骤S100即将在目标日期前30天的运单量按其发生的时间先后顺序排列成数列,该数列称之为时间序列。
具体的,在一些实施例中,步骤S300的具体实施方式可以参阅如下实施例。本实施例是根据图2对应实施例示出的节点业务量预测方法中步骤S100的细节描述,所述节点业务量预测方法中,步骤S100可以包括以下步骤:
确定所述目标日期的日期属性,所述日期属性包括平峰日、低谷日以及高峰日。
若所述目标日期的日期属性为平峰日,则将目标节点的目标日期前预定天平峰日的历史业务数据转换为时间序列。
若所述目标日期的日期属性为低谷日,则将目标节点的目标日期前预定天低谷日的历史业务数据转换为时间序列。
若所述目标日期的日期属性为高峰日,则将目标节点的目标日期前预定天高峰日的历史业务数据转换为时间序列。
在本实施例中,在将历史业务数据转换成时间序列之前,先判断要预测的目标日期的日期属性,该日期属性是指该目标日期是平峰日、低谷日还是高峰日,然后再择取与该目标日期的日期属性相同的日期的历史业务数据进行排序,得到时间序列,以进一步保证预测的准确性。
在本实施例中,判断目标日期的日期属性的具体方式为,若该目标日期处于电商节、促销节等有促销打折活动的时间段,则该目标日期的日期属性为高峰日;若该目标日期处于非电商节、促销节等有促销打折活动的时间段的节假日,如周末,则该目标日期的日期属性为低谷日;若该目标日期处于非电商节、促销节等有促销打折活动的时间段的工作日,则该目标日期的日期属性为平峰日。
在其它实施例中,判断目标日期的日期属性的方式还可以是根据计算的周期进行推导,本申请在此不做限定。
在步骤S200中,对步骤S100得到的时间序列进行特征提取处理,其可以通过不同的处理方式得到不同维度的特征,最后将上述的所有特征整合为一个多维度的特征向量,特征向量的每个维度即包含一个维度的特征信息,形成多维度的时序特征。
具体的,在一些实施例中,步骤S200的具体实施方式可以参阅图3。图3是根据图2对应实施例示出的节点业务量预测方法中步骤S200的细节描述,所述节点业务量预测方法中,步骤S200可以包括以下步骤:
步骤S201,对所述时间序列进行单位根检验,确定单位根特征。
步骤S202,对所述时间序列进行周期性检验,确定周期性特征。
步骤S203,确定所述时间序列的一阶差绝对值和。
步骤S204,确定所述时间序列是否具有自相关特性。
步骤S205,以预定阶数为时滞阶数确定所述时间序列的非线性度。
步骤S206,确定所述时间序列的近似熵。
步骤S207,确定所述时间序列的均方根。
步骤S208,确定所述目标日期的月日期序号。
步骤S209,确定所述目标日期的周日期序号。
步骤S210,根据所述时间序列,确定所述目标日期的同曜日业务量均值。
步骤S211,将上述特征集合为一个多维度的特征向量,该特征向量即为多维度的时序特征。
在本实施例中,对时间序列进行多种处理,提取到不同的特征,最后对提取到的不同特征进行整合,形成多维度的时序特征。
在步骤S201中,对时间序列进行单位根检验计算,得到其DF(Dickey-Fuller)值,若其DF值小于5%,则其单位根特征为稳定,若其DF值大于5%,则其单位根特征为不稳定。该单位根特征展示了时间序列的稳定性。
在步骤S202中,将站点历史30天的业务件量数据以预定周期天数(在本实施例中以7天为例进行说明)为一周期划分,并统计各周期极值出现在该周期的第几天。如果相邻两个周期的极值出现在同一天(即同一个星期几),则两周期具有周期性,周期性特征即为具有周期性;否则该两周没有周期性,周期性特征即为不具有周期性。
在步骤S203中,对时间序列中的每一天计算前一天减后一天的绝对值运单量波动,再对每个差值做加和,即得到一阶差值绝对值和。
在本申请的一些实施例中,根据下述公式计算出一阶差值绝对值和:
其中,S
本步骤得出的一阶差值绝对值和可以用于衡量历史件量波动幅度。
在步骤S204中,确定所述时间序列是否具有自相关特性的方式可以是确定该时间序列的自相关系数,将自相关系数作为特征值输出。
在本申请的一些实施例中,根据下述公式计算出该时间序列的自相关系数:
μ=E(X
σ
其中,μ为均值,X
经过上述公式计算出的
在步骤S205中确定所述时间序列的非线性度的方式可以是根据如下公式确定:
其中,γ为非线性度,X
在步骤S206中,确定所述时间序列的近似熵的方式可以是根据如下近似熵公式确定:
ApEn=Φ
其中,ApEn为近似熵,m为整数,表示比较向量的长度,r为实数,表示“相似度”的度量值。
求得近似熵后,即可以依据时间序列熵大小衡量时间序列发散规律程度。
在步骤S207中确定时间序列的均方根的方式为将30天内所有件量平方求和,求其均值,再开平方。
在本申请的一些实施例中,可以依靠如下公式计算出均方根:
其中,M为均方根,N为时间序列的长度,t为在时间序列中的序数,x
在本申请的实施例中,均方根可以衡量历史时间序列波动范围及数量级。
在步骤S208中,月日期序号是指,目标日期在其所在月份的序号。例如,若目标日期为6月8号,目标日期是其所在月份6月的第8天,则其月日期序号即为8;若目标日期为8月6号,目标日期在其所在月份8月的第6天,则其月日期序号即为6;若目标日期为9月23号,目标日期是其所在月份9月的第23天,则其月日期序号即为23。
在步骤S209中,周日期序号是指,目标日期在其所在星期的序号。
例如,当以星期日为一周的第一天时,若目标日期为6月8号星期二,目标日期是其所在星期的第3天,则其周日期序号即为3;若目标日期为8月6号星期五,目标日期是其所在星期的第6天,则其周日期序号即为6;目标日期为9月23号星期四,目标日期是其所在星期的第5天,则其周日期序号即为5。
例如,当以星期一为一周的第一天时,若目标日期为6月8号星期二,目标日期是其所在星期的第2天,则其周日期序号即为2;若目标日期为8月6号星期五,目标日期是其所在星期的第5天,则其周日期序号即为5;目标日期为9月23号星期四,目标日期是其所在星期的第4天,则其周日期序号即为4。
在其它一些实施例中,周日期序号也可以用曜日序号,即日月火水木金土来表示。例如,若目标日期为6月8号星期二,目标日期为火曜日,则其周日期序号即为火;若目标日期为8月6号星期五,目标日期为金曜日,则其周日期序号即为金;目标日期为9月23号星期四,目标日期为木曜日,则其周日期序号即为木。
在步骤S210中,目标日期的同曜日是指,在目标日期前预定时间周期的日期中,与目标日期的周日期序号相同的日期,其周日期序号相同,则曜日序号也相同,故称之为同曜日。故步骤S210的实际执行过程即为,在目标日期前预定时间周期的日期中,寻找与目标日期的周日期序号相同的日期,将其对应的业务量加总后求平均值,即得到目标日期的同曜日业务量均值。
在步骤S211中将上述特征集合为一个多维度的特征向量,该特征向量的表示方式可以是
在本申请的一些实施例中,由于单位根特征的结果只有稳定和不稳定两种,可以对应转换为1和0来表示。同样的,由于周期性特征的结果只有具有周期性和不具有周期性两种,也可以对应转换为1和0来表示。若周日期序号采用曜日序号表示,则可以将曜日序号转换为对应的编码表示。
需要明确的是,图3所示出的实施例仅仅只是步骤S200实现的一种实施例,在实际应用过程中,对于步骤S211生成的特征向量,可以根据实际需求增删维度信息。同时,在图3所示的实施例中,步骤S211为最后一步执行的步骤,对于步骤S201至步骤S210,除了步骤S209需要在步骤S210之前执行外,其它步骤并没有严格的执行顺序,可以同步执行,也可以按照一定的顺序异步执行,本申请并不限定。
在步骤S300中,根据所述目标节点的预定时间周期的目标日期前历史业务数据和节点环境数据,提取与该节点的业务信息相关的特征,即为节点特征。节点特征与节点的业务属性以及节点本身的属性等相关。
具体的,在一些实施例中,步骤S300的具体实施方式可以参阅如下实施例。本实施例是根据图2对应实施例示出的节点业务量预测方法中步骤S300的细节描述,所述节点业务量预测方法中,步骤S300可以包括以下步骤:
根据所述目标节点的预定时间周期的目标日期前历史业务数据确定所述目标节点的业务构成特征。
根据所述目标节点的预定时间周期的目标日期前历史业务数据和节点环境数据确定所述目标节点的兴趣面特征。
根据所述目标节点的预定时间周期的目标日期前历史业务数据和节点环境数据确定所述目标节点的客户构成特征。
在本实施例中,节点特征包括业务构成特征、兴趣面特征以及客户构成特征。
其中,业务构成特征是指该节点不同类型业务的构成比例,当某一类型的业务收到影响时,该节点的总业务量即受到影响,故需要确定该节点的业务构成特征。接下来,本申请将以物流网络为例进行说明。在物流站点中,其业务类型主要有时效件业务和电商件业务。其具体确定方式为根据历史三周每星期各业务类型的运单量比例均值计算。
兴趣面特征是指该节点在电子地图中的特征,其至少包含名称、地址、类别、位置等信息。接下来,本申请将以物流网络为例进行说明。物流站点是为该物流站点下属负责的客户服务的。通过地理上兴趣区域的划分能够学习到站点下客户属性信息及分布,通过客户属性学习件量波动周期和其他规律。具体方法通过站点负责地理范围,对该范围中如小区,学校等区域进行拆解划分,最终归类为20个通用兴趣面属性区域,并统计好不同站点下每类区域数量作为特征值。
客户构成特征是指该节点不同类型客户的构成比例,不同的客户比例构成也会使该节点的总业务量即受到影响,故需要确定该节点的客户构成特征。接下来,本申请将以物流网络为例进行说明。在物流站点中,其客户类型主要有C端客户和B端客户。其具体确定方式为将每个站点历史30天收件量按照每星期均值统计,作为不同客户下的影响因子特征。
在步骤S400中,所述预测模型的训练方法是:获取包括当天节点特征和当天多维度的时序特征的特征样本组集合,其中每个特征样本组均事先标定当天实际的业务量;将每个所述特征样本组的数据分别输预测模型,得到所述预测模型输出的预测的业务量;如果存在有所述特征样本组的数据输入预测模型后,得到的预测的业务量与对所述样本事先标定的当天实际的业务量不一致,则调整所述预测模型的系数,直到一致;当所有所述特征样本组的数据输入预测模型后,得到的预测的业务量与对所述特征样本组事先标定当天实际的业务量一致,训练结束。
其中,在上述训练过程中,可采用树模型、深度学习等机器学习方法构建模型,采用5折交叉验证的方式进行验证。
同时,设置训练模型时,其最大树深度max_depth可以设置为7,正则化项权重reg_lambda可以设置为0.1,收缩步长learning_rate可以设置为0.1。
在训练过程中,样本集合中训练集与测试集的比例是7:3,使用训练集训练得出初步的预测模型,然后选择在测试集性能最优的模型确定为最终的预测模型。
对该预测模型的评价可以采用平均绝对百分比误差(Mean Absolute PercentageError,MAPE)进行评价,损失函数为R方函数。
在部分情况下预测模型进行预测时可能出现失误,此时就需要相应的机制应对失误。在本申请的一些实施例中,如图4所示,在步骤S400之后所述方法还包括:
步骤S500,根据预测模型预测的业务量,确定所述目标节点在所述目标日期的业务量。
在步骤S400中得到预测模型预测的业务量后,还需要在步骤S500中,对预测模型预测的业务量进行分析校正,避免预测模型预测的业务量偏差过大,进而进一步提升对业务量预测的准确性。
具体的,在一些实施例中,步骤S500的具体实施方式可以参阅图5。图5是根据图4对应实施例示出的节点业务量预测方法中步骤S500的细节描述,所述节点业务量预测方法中,步骤S500可以包括以下步骤:
步骤S510,若预测模型预测的业务量大于最高预测阈值,则将第一预测值作为所述目标节点在所述目标日期的业务量。
步骤S520,若预测模型预测的业务量小于最低预测阈值,则将所述第二预测值作为所述目标节点在所述目标日期的业务量。
步骤S530,若预测模型预测的业务量在所述最高预测阈值与所述最低预测阈值之间,则将预测模型预测的业务量作为所述目标节点在所述目标日期的业务量。
在本实施例中,限制了预测模型预测业务量时的极值,如果其超过了设定的极值,则以对应的预测值替换预测模型预测业务量,作为最终的预测结果,即所述目标节点在所述目标日期的业务量,以修正预测模型在预测时的误差,进而进一步提升对业务量预测的准确性。
在步骤S510中,对于不同日期属性的目标日期,最高预测阈值和第一预测值的设置并不相同。
例如在本申请的一些实施例中,若目标日期的日期属性为高峰日,即处于电商节促销活动等业务量较大的时间段的日期,则其设定的最高预测阈值可以是目标日期前预定天高峰日中业务量最大值的1.3倍,第一预测值可以设置为最高预测阈值。
即,当目标日期的日期属性为高峰日时,若预测模型预测的业务量超出了目标日期前预定天高峰日中业务量最大值的1.3倍,即以目标日期前预定天高峰日中业务量最大值的1.3倍作为最终的预测结果,即所述目标节点在所述目标日期的业务量。
在另一些实施例中,若目标日期的日期属性为平峰日,即处于正常工作日等业务量一般的时间段的日期,则其设定的最高预测阈值可以是目标日期前预定天平峰日的均值加3倍标准差,第一预测值可以设置为最高预测阈值。
即,当目标日期的日期属性为平峰日时,若预测模型预测的业务量超出了目标日期前预定天平峰日的均值加3倍标准差之和,即以目标日期前预定天平峰日的均值加3倍标准差之和作为最终的预测结果,即所述目标节点在所述目标日期的业务量。
在步骤S520中,对于不同日期属性的目标日期,最低预测阈值和第二预测值的设置并不相同。
例如在本申请的一些实施例中,若目标日期的日期属性为低谷日,即处于周末等业务量较低的时间段的日期,则其设定的最低预测阈值可以是目标日期前预定天低谷日中业务量最低值,第二预测值可以设置为目标日期前预定天低谷日的业务量均值。
即,当目标日期的日期属性为低谷日时,若预测模型预测的业务量低于目标日期前预定天低谷日中业务量最低值,即以目标日期前预定天低谷日的业务量均值作为最终的预测结果,即所述目标节点在所述目标日期的业务量。
在另一些实施例中,若目标日期的日期属性为平峰日,即处于正常工作日等业务量一般的时间段的日期,则其设定的最低预测阈值可以是目标日期前预定天平峰日的均值减3倍标准差,第二预测值可以设置为最低预测阈值。
即,当目标日期的日期属性为平峰日时,若预测模型预测的业务量低于目标日期前预定天平峰日的均值减3倍标准差之差,即以目标日期前预定天平峰日的均值减3倍标准差之差作为最终的预测结果,即所述目标节点在所述目标日期的业务量。
在步骤S530中,预测模型预测的业务量处于两极值之间,证明预测模型预测的业务量正常,具有符合要求的精度,此时可以直接将预测模型预测的业务量作为所述目标节点在所述目标日期的业务量。
在本申请的一些实施例中,如图6所示,在该实施例中所述目标节点与多个下级节点关联,在步骤S400之后所述方法还包括:
步骤S600,根据预测的所述目标节点在所述目标日期的业务量和预测的与所述目标节点关联的各下级节点在所述目标日期的业务量,对预测的与所述目标节点关联的各下级节点在所述目标日期的业务量进行修正。
在实际应用的过程中,对于网络中的节点,无论是物流网络、金融网络,还是互联网、物联网等网络,其节点均存在上下级关系。一般地,一个上级节点的业务量应当等于与其关联的所有下级节点的业务量总和,在预测时,也应当遵循该规律。故在步骤S600中,根据所述目标节点在所述目标日期的业务量和与所述目标节点关联的各下级节点在所述目标日期的业务量修正各下级节点在所述目标日期的业务量,使得上级节点的预测业务量应当等于与其关联的所有下级节点的预测业务量总和。
在一些实施例中,若存在步骤S500,则步骤S600在步骤S500之后执行。为保证预测的准确性,同时避免重复地校正,应该以上级节点的预测值为准,对下级节点进行校正。
具体的,在一些实施例中,步骤S500的具体实施方式可以参阅如下实施例。本实施例是根据图6对应实施例示出的节点业务量预测方法中步骤S600的细节描述,所述节点业务量预测方法中,步骤S600可以包括以下步骤:
确定级差值,所述级差值为预测的所述目标节点在所述目标日期的业务量和与预测的所述目标节点关联的各下级节点在所述目标日期的业务量总和之差。
根据所述极差值,对预测的与所述目标节点关联的各下级节点在所述目标日期的业务量进行修正。
在本实施例中,具体执行方式为先求得预测的上级节点的业务量和预测的与该上级节点关联的各下级节点的业务量总和之差,然后根据求得的差值,对预测模型预测的各下级节点的业务量进行调节修正。其具体调节方式可以是将差值平均摊补入各下级节点的业务量中,也可以是根据各下级节点的业务量占比进行摊补。
具体地,在本申请的一个实施例中,可以按照如下公式进行修正。
其中,d
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的节点业务量预测方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的节点业务量预测方法的实施例。
图7示出了根据本申请的一个实施例的节点业务量预测装置的框图。
参照图7所示,根据本申请的一个实施例的节点业务量预测装置900,包括:时间序列模块910,用于将目标节点的目标日期前预定时间周期的历史业务数据转换为时间序列;多维度的时序特征模块920,用于对所述时间序列进行特征处理,得到多维度的时序特征;节点特征模块930,用于根据所述目标节点的预定时间周期的目标日期前历史业务数据和节点环境数据,确定所述节点的节点特征;预测输出模块940,用于将所述节点特征和所述多维度的时序特征输入预测模型,所述预测模型输出预测的业务量。
在本申请的一个实施例中,所述预测模型的训练方法是:获取包括当天节点特征和当天多维度的时序特征的特征样本组集合,其中每个特征样本组均事先标定当天实际的业务量;将每个所述特征样本组的数据分别输预测模型,得到所述预测模型输出的预测的业务量;如果存在有所述特征样本组的数据输入预测模型后,得到的预测的业务量与对所述样本事先标定的当天实际的业务量不一致,则调整所述预测模型的系数,直到一致;当所有所述特征样本组的数据输入预测模型后,得到的预测的业务量与对所述特征样本组事先标定当天实际的业务量一致,训练结束。
在本申请的一个实施例中,所述节点业务量预测装置还包括:预测确定模块,用于根据预测模型预测的业务量,确定所述目标节点在所述目标日期的业务量。
在本申请的一个实施例中,所述预测确定模块具体包括:第一确定单元,用于若预测模型预测的业务量大于最高预测阈值,则将第一预测值作为所述目标节点在所述目标日期的业务量;第二确定单元,用于若预测模型预测的业务量小于最低预测阈值,则将所述第二预测值作为所述目标节点在所述目标日期的业务量;第三确定单元,用于若预测模型预测的业务量在所述最高预测阈值与所述最低预测阈值之间,则将预测模型预测的业务量作为所述目标节点在所述目标日期的业务量。
在本申请的一个实施例中,所述时间序列模块具体包括:日期属性单元,用于确定所述目标日期的日期属性,所述日期属性包括平峰日、低谷日以及高峰日;平峰转换单元,用于若所述目标日期的日期属性为平峰日,则将目标节点的目标日期前预定天平峰日的历史业务数据转换为时间序列;低谷转换单元,用于若所述目标日期的日期属性为低谷日,则将目标节点的目标日期前预定天低谷日的历史业务数据转换为时间序列;高峰转换单元,用于若所述目标日期的日期属性为高峰日,则将目标节点的目标日期前预定天高峰日的历史业务数据转换为时间序列。
在本申请的一个实施例中,所述目标节点与多个下级节点关联,所述节点业务量预测装置还包括:上下配平模块,用于根据预测的所述目标节点在所述目标日期的业务量和预测的与所述目标节点关联的各下级节点在所述目标日期的业务量,对预测的与所述目标节点关联的各下级节点在所述目标日期的业务量进行修正。
在本申请的一个实施例中,所述上下配平模块具体包括:级差值确定单元,用于确定级差值,所述级差值为预测的所述目标节点在所述目标日期的业务量和与预测的所述目标节点关联的各下级节点在所述目标日期的业务量总和之差;预测量修正单元,用于根据所述极差值,对预测的与所述目标节点关联的各下级节点在所述目标日期的业务量进行修正。
图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图8示出的电子设备的计算机系统仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统包括中央处理单元(Central Processing Unit,CPU)1801,其可以根据存储在只读存储器(Read-Only Memory,ROM)1802中的程序或者从存储部分1808加载到随机访问存储器(Random Access Memory,RAM)1803中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1803中,还存储有系统操作所需的各种程序和数据。CPU 1801、ROM 1802以及RAM 1803通过总线1804彼此相连。输入/输出(Input/Output,I/O)接口1805也连接至总线1804。
以下部件连接至I/O接口1805:包括键盘、鼠标等的输入部分1806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1807;包括硬盘等的存储部分1808;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1809。通信部分1809经由诸如因特网的网络执行通信处理。驱动器1810也根据需要连接至I/O接口1805。可拆卸介质1811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1810上,以便于从其上读出的计算机程序根据需要被安装入存储部分1808。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1809从网络上被下载和安装,和/或从可拆卸介质1811被安装。在该计算机程序被中央处理单元(CPU)1801执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
- 预测方法、装置、电子设备及计算机可读存储介质
- 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
- 一种热负荷预测方法、装置、可读介质及电子设备
- 模态框构建方法、装置、电子设备、计算机可读存储介质
- 业务量的预测方法、装置、电子设备以及可读存储介质
- 节点选择方法、装置、电子设备及计算机可读存储介质