[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115034462B - 针对分层业务的时间序列预测方法及装置 - Google Patents

针对分层业务的时间序列预测方法及装置 Download PDF

Info

Publication number
CN115034462B
CN115034462B CN202210623040.6A CN202210623040A CN115034462B CN 115034462 B CN115034462 B CN 115034462B CN 202210623040 A CN202210623040 A CN 202210623040A CN 115034462 B CN115034462 B CN 115034462B
Authority
CN
China
Prior art keywords
business
prediction
matrix
sequence
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210623040.6A
Other languages
English (en)
Other versions
CN115034462A (zh
Inventor
王世宇
周凡
孙银波
马琳涛
胡韵
郑洋飞
雷磊
王世军
詹姆士·张
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210623040.6A priority Critical patent/CN115034462B/zh
Publication of CN115034462A publication Critical patent/CN115034462A/zh
Application granted granted Critical
Publication of CN115034462B publication Critical patent/CN115034462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本说明书实施例提供一种针对分层业务的时间序列预测方法及装置,用于预测单个业务在多阶层次上的业务主体的业务量构成的时间序列,其中,单个层次对应至少一个业务主体。根据一个实施方式,在获取多个层次中各个业务主体一一对应的各个历史时间序列后,可以对各个历史时间序列进行编码,得到相应的各个编码向量,然后构建各个编码向量满足的多元高斯分布,并将多元高斯分布转换为非参数化复杂分布,进一步按照分参数化复杂分布进行采样得到的采样序列,确定分别针对各个业务主体的各个预测序列。该方式可以提高预测结果的准确性。

Description

针对分层业务的时间序列预测方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及针对分层业务的时间序列预测方法及装置。
背景技术
时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。时间序列预测可以适用于各种场景,例如商品超市的客流量的时间序列预测,金融服务的资金时间序列预测,云计算中所需要的计算资源流量的预测,物流需求、智能电网中的电力消耗预测,等等。预测结果例如可以服务于商业决策。随着人工智能的发展,可以将机器学习模型用于时间序列分析。
层次化的时间序列是一种特殊的时间序列,可以从多个层次描述相关业务,使得时间序列具有分层结构。例如,大型商超销量的时间序列可以按照其地理位置的分层机构而具有分层结构,如划分为以下多个层次:全国总销量时间序列;各个省市销量时间序列;各个门店销量时间序列;等等。事实上,不同时间序列之间也可能存在关联关系。如何挖掘这种关联关系,充分利用层次化结构的时序信息,是时间序列预测的重要问题。
发明内容
本说明书一个或多个实施例描述了一种针对分层业务的时间序列预测方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种针对分层业务的时间序列预测方法,用于预测多阶层次上的业务主体在预定业务指标上的业务量构成的时间序列,其中,单个层次对应至少一个业务主体;所述方法包括:获取所述多阶层次中各个业务主体一一对应的各个历史时间序列,单个历史时间序列对应着单个业务主体在顺次排列的多个预定时间段内分别对应的各个业务量;对各个历史时间序列进行编码,得到相应的各个编码向量;构建各个编码向量满足的联合概率分布;通经由标准化流模型对所述联合概率分布进行处理,得到各个编码向量满足的非参数化复杂分布;基于对各个业务主体分别按照所述非参数化复杂分布进行采样得到的各个采样序列,确定分别针对各个业务主体的各个预测序列,其中,单个预测序列描述单个业务主体在后续多个预定时间段内的各个业务量,各个预测序列满足以下一致性约束:针对单个时间段,较高阶层次的单个业务主体的业务量与其在较低阶层次对应的至少一个业务主体的业务量之和一致。
在一个可能的设计中,所述联合概率分布为多元高斯分布,所述经由标准化流模型对多元高斯分布进行处理包括:从所述多元高斯分布出发,通过应用一系列可逆转换函数将多元高斯分布转换为复杂分布,其中,可逆转换函数根据换元定理反复将当前变量替换为新变量,最终获得目标变量的概率分布,作为非参数化复杂分布。
在一个实施例中,所述对各个历史时间序列进行编码由单个循环神经网络,或者与各个业务主体一一对应的多个循环神经网络构成的展开循环神经网络。
在一个实施例中,所述多元高斯分布对应有第一均值矩阵和第一协方差矩阵,单个采样序列通过以下方式确定:在标准化的多元高斯分布中采样第一向量,其中,所述标准化的多元高斯分布的均值矩阵为0矩阵,协方差矩阵为单位矩阵;将所述第一协方差矩阵的二次根和所述第一向量的乘积与所述第一均值矩阵叠加得到叠加结果;基于所述可逆转换函数的逆函数对所述叠加结果的逆转换,确定所述单个采样序列。
在一个实施例中,所述对各个业务主体分别按照所述非参数化复杂分布进行采样得到的采样结果,确定针对各个业务主体一一对应的各个预测序列包括:对各个业务主体分别基于所述非参数化复杂分布进行采样,得到相应的各个采样序列依次排列构成采样矩阵作为初步预测结果;调整所述初步预测结果得到各个预测序列,使得各个预测序列满足一致性约束。
在一个进一步的实施例中,所述调整所述初步预测结果得到各个预测序列包括:将所述初步预测结果进行编码,得到最低阶层次的各个业务主体对应的各个预测序列;通过一致性约束确定其他阶层次中的各个业务主体对应的各个预测序列。
在一个更进一步的实施例中,所述将所述初步预测结果进行编码的操作通过多头注意力机制实现,包括:将初步预测结果拆成h份数据,h为多头注意力机制下的注意力头数量;对所述h份数据分别进行不同参数下的独立线性变换,得到h个处理结果;基于对h个处理结果的拼接,得到最低阶层次的各个业务主体对应的各个预测序列。
在另一个进一步的实施例中,所述一致性约束通过业务架构矩阵表示,并根据业务架构矩阵和编码矩阵的乘积,确定其他阶层次中的各个业务主体对应的各个预测序列,其中,所述编码矩阵为由最低阶层次的各个业务主体对应的各个预测序列构成的矩阵。
在一个更进一步的实施例中,所述业务架构矩阵由描述最低阶层次的各个业务主体的单位矩阵和其他阶层次中的各个业务主体对应的和矩阵拼接而成,最低阶层次的各个业务主体与相应单位矩阵的行/列一一对应,其他各阶层次的单个业务主体对应和矩阵中的单行/列,和矩阵中的单行/列通过该单个业务主体在最低阶层次对应的各个业务主体在相应单位矩阵的各个行/列叠加而成。
根据第二方面,还提供一种针对分层业务的时间序列预测装置,用于预测多阶层次上的业务主体在预定业务的业务量构成的时间序列,其中,单个层次对应至少一个业务主体;所述装置包括:
获取单元,配置为获取所述多阶层次中各个业务主体一一对应的各个历史时间序列,单个历史时间序列对应着单个业务主体在顺次排列的多个预定时间段内分别对应的各个业务量;
编码单元,配置为对各个历史时间序列进行编码,得到相应的各个编码向量;
映射单元,配置为构建各个编码向量满足的联合概率分布;
转换单元,配置为经由标准化流模型对联合概率分布进行处理,得到各个编码向量满足的非参数化复杂分布;
预测单元,配置为基于对各个业务主体分别按照所述非参数化复杂分布进行采样得到的各个采样序列,确定分别针对各个业务主体的各个预测序列,其中,单个预测序列描述单个业务主体在后续多个预定时间段内的各个业务量,各个预测序列满足一致性约束,所述一致性约束包括:针对单个时间段,较高阶层次的单个业务主体的业务量与其在较低阶层次对应的至少一个业务主体的业务量之和一致。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,在针对分层业务的时间序列预测过程中,将各个层次的时间序列映射为高阶向量并构建联合概率分布,然后通过标注化流模型基于联合概率分布挖掘各个编码向量之间的非参数化复杂分布,刻画层次化时序中不同时序之间存在的复杂分布关系,使得该技术方案中的模型能够学习到层次化时序中的非高斯线性的特性,从而考虑各个层次的时间序列的复杂关联性。在按照这种复杂分布进行重采样,得到相应的预测的时间序列的情况下,可以充分利用业务数据在不同层次上的关联关系,实现信息融合,从而提高预测结果的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出分层次的时序问题的一个具体架构示意图;
图2示出根据一种改进的针对分层业务的时间序列预测方法流程图;
图3示出根据一个具体例子的对历史时间序列通过编码模块进行编码的示意图;
图4示出根据一个具体例子的标准化流处理架构示意图;
图5示出根据RealNVP架构的标准化流处理架构示意图;
图6示出根据一个具体例子的利用采样结果确定预测结果的处理架构示意图;
图7示出根据一个实施例的针对分层业务的时间序列预测装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的技术方案进行描述。
图1示出分层次的时序问题的一个具体架构示意图。如图1所示,在该具体应用场景中,涉及3个业务层次。最低阶的业务层次是具体业务主体(如业务主体D、E、F、G等)对应的层次,高阶层次是具有一定综合意义的业务主体(如业务主体B、C等)对应的层次,更高阶的层次可以是综合性更强的业务主体(如业务主体A等)对应的层次。这里的业务主体可以是一个能够独立区分和统计相应业务的实体,例如一个店铺、一类商品、以区域为单位的商品或店铺,等等。图1中示出了一个三层次结构的分层次的业务问题,实践中,分层次的业务结构可以具有更多(如8层)或更少层次(如2层),在此不做限定。
单个业务主体在单个时间段内可以对应着关于预定业务指标的业务量。源于预定业务指标在多个时间段的业务量构成时间序列,图1中简称“时序”,例如业务主体A(如某大型商超在全国范围的店铺)对应着时序yA,t(如描述销售业务),业务主体B(如某大型商超在华北的店铺)对应着时序yB,t,业务主体D(如某大型商超在华南的店铺)对应着时序yD,t,等等。其中,采样时间序列的各个时间段可以是连续的,也可以断续的,本说明书对此不做限定。例如,在一个实施例中,单个时间段为一周,连续多周的数据构成时间序列,在另一个实施例中,单个时间段为周一一天,多个周一的数据构成时间序列,但相邻两个周一之间是断续的。
其中,根据具体业务场景的不同,各个层次的业务主体也不同,相应的业务指标也不同。举例而言,在购物平台场景下,最低阶层次可以对应着各个商户,相应的业务指标例如是销量,相应时间段可以是一周、一天、一个月等。较高阶层次例如可以对应着一个小类的业务主体,如厨房电器、新生儿衣服、家装材料等类别的商户,而更高阶层次可以对应着更大类别的业务主体,例如电器、服装、建材等等类别的商户。类似地,在投资理财场景下,最高阶层次可以对应着各种投资渠道,如保险、基金、定存、股票等,较高阶层次可以对应着各个投资对象,例如保险公司、基金单位、银行、股票主体类别等,低阶层次对应着各种具体投资方式,例如保险的险种、基金种类、银行定存产品种类、股票主体等,时间序列所描述的业务量为投资金额、投资比例、投资用户数量等业务指标。在其他业务场景下,各阶层的业务主体还可以是其他形式,在此不再一一赘述。
根据分层业务的含义可知,相邻层次的业务主体对应的时序具有以下一致性关系:单个时间段内,高阶层次的单个业务主体对应的业务量是其在低阶层次对应的业务主体的业务量之和。进一步地,在时间序列对应的时间段一致的情况下,高阶层次的单个业务主体对应的时间序列可以是其在低阶层次对应的业务主体的时间序列之和。参考图1所示,有:yA,t=yB,t+yC,t;yB,t=yD,t+yE,t;yC,t=yF,t+yG,t
在如图1所示的分层次的时序预测过程中,可以根据各个业务主体的历史时间序列,预测未来的时间序列。例如,根据各个业务主体历史3个月的销量对应的历史时间序列,预测各个业务主体未来30天的销量对应的时间序列等。
为此,可以单独预测各个业务主体的时间序列,再进行调整,以满足一致性要求。例如,分别独立地根据业务主体A、B、C、D、E、F、G历史3个月的销量对应的历史时间序列,预测其未来30天的销量对应的时间序列,之后,统一调整预测结果,使最终的预测结果满足一致性约束。例如,使得针对A预测的时间序列为针对B、C预测的时间序列之和,针对B预测的时间序列为针对D、E预测的时间序列之和,针对C预测的时间序列为针对F、G预测的时间序列之和。
实际上,各个业务主体的时间序列之间也可能具有关联关系。例如,而母婴产品类别的销量持续上涨的情况下,单个历史销量较低的母婴店铺的销量也会在未来持续上涨。再例如,在保险、基金、股票投资比例持续上涨的情况下,定存投资的比例减少。因此,本说明书提供一种针对分层业务的时间序列预测方案,通过建立各个业务主体的历史时间序列之间的非参数化复杂分布,挖掘各个业务主体的时间序列之间的关联关系,从而更加准确地预测各个业务主体在未来的时间序列。
下面参考图2示出的一个具体例子描述本说明书的技术构思。
图2示出一个实施例的针对分层业务的时间序列预测流程。该流程的执行主体可以是具有一定计算能力的计算机、设备或服务器。该流程可以通过机器学习模型的辅助实现。相应的机器学习模型例如按作用可以称为预测模型。可以理解,在图2示出的实施例中,分层业务的层次至少可以包括两个层次,例如第一层次(如图1中B、C所在层次)和第二层次(如图1中D、E、F、G所在层次)。实践中,层次树木通常较复杂。
如图2所示,该针对分层业务的时间序列预测流程可以包括以下步骤:步骤201,获取多阶层次中各个业务主体一一对应的各个历史时间序列,单个历史时间序列对应着单个业务主体在顺次排列的多个预定时间段内分别对应的各个业务量;步骤202,对各个历史时间序列进行编码,得到相应的各个编码向量;步骤203,确定各个编码向量满足的联合概率分布;步骤204,经由标准化流模型对联合概率分布进行处理,得到各个编码向量满足的非参数化复杂分布;步骤205,基于对各个业务主体分别按照所述非参数化复杂分布进行采样得到的各个采样序列,确定分别针对各个业务主体的各个预测序列,其中,单个预测序列描述单个业务主体在后续多个预定时间段内的各个业务量,各个预测序列满足一致性约束,一致性约束包括:针对单个时间段,较高阶层次的单个业务主体的业务量与其在较低阶层次对应的至少一个业务主体的业务量之和一致。
首先,在步骤201中,获取分层业务的多阶层次中各个业务主体一一对应的各个历史时间序列。可以理解,分层业务可以对应多个层次,如图1中的三阶层次。每阶层次中具有至少一个业务主体,每个较低阶层次的业务主体在较高阶层次中都对应着一个较高阶的业务主体,例如对应着较高阶层次中更泛类别的业务主体。另一方面,单个较高阶层次的业务主体在较低接层次中对应着至少一个较低阶的业务主体。
单个业务主体在顺次排列的多个预定时间段内关于预定业务指标分别对应的各个业务量可以构成单个历史时间序列。单个预定时间段可以根据业务需求设置,例如为一天、一周、一月等。多个时间段可以在时间上连续,也可以不连续。以单个预定时间段为1天为例,假设多个时间段是连续的,如连续在多天采样销量,则对于单个商户作为业务主体销量为预定业务指标的情况,可以将在连续多天(如60天)采样到的销量值作为其历史时间序列,假设多个时间段是连续的,如仅在采样周末的销量,则对于单个商户作为业务主体的情况,可以将多个周末(如52个周末)采样到的销量值作为其历史时间序列。历史时间序列可以通过多维的向量、数组表示,也可以通过集合等表示,在此不做限定。各个历史时间序列可以通过矩阵等表示,也可以通过各个向量分别表示。
在可选的实施例中,历史时间序列中的单个业务量数据还可以通过多个维度的数据表示,则单个历史时间序列的单个维度都可以展开为多维数据。作为示例,假如单个业务量数据对应2维数据(如客流量和销量两个维度的数据),则60个时间段的业务量可以对应120维的向量或数组,或者对应2×60维的矩阵,等等。
接着,在步骤202,对各个历史时间序列进行编码,得到相应的各个编码向量。可以理解,对于单个历史时间序列,可以描述单个业务主体在一定时期内的具体业务量情形,为了将其抽象化表示,可以将历史时间序列进行编码(encode),以挖掘时间序列中各个业务量之间的深层关联。在可选的实现方式中,该步骤202可以通过合理的模型实现,例如循环神经网络(RNN)、基于注意力机制的神经网络、BERT等。
由于历史时间序列通常具有前后关联性和周期性,因此,可以使用循环神经网络(RNN)对其进行处理。在一个实施例中,可以通过一个循环神经网络分别处理各个历史时间序列。这种情况下,单个业务主体的历史时间序列可以看作多个时间点对应的输入特征,通过循环神经网络的循环单元的处理,可以得到处理结果,作为针对相应的历史时间序列的编码结果。在另一个实施例中,也可以通过一个展开的循环神经网络(Unrolling RNN)处理多个历史时间序列构成的矩阵。如图3所示,例如可以将各个历史时间序列通过矩阵形式描述,而循环神经网络的循环单元被展开平铺为多份(即展开循环神经网络Unrolling RNN)。这样,单份循环单元对应着单个业务主体,从而单份循环单元的输出结果对应着一个历史时间序列的编码结果。如N+1份的循环单元输出N+1个业务主体的编码结果。
在可选的实现方式中,在针对单个时间段单个业务主体的数据是多维的情况下,单份循环单元处理的单个输入数据可以为相应的多维数据。针对一个编码对象的编码结果可以为向量形式,例如称为编码向量。编码向量可以比时间序列具有更高的维数,以更好地描述时间序列。
然后,根据步骤203,确定各个编码向量满足的联合概率分布。其中,联合概率分布简称联合分布,是两个及以上随机变量组成的随机变量的概率分布。联合概率分布例如由多元高斯分布、多元指数分布,多元泊松分布、多元student-T分布等等。本说明书中的联合概率分布,可以是多元高斯分布、多元student-T分布等适用数据统计场景的分布。本文以多元高斯分布为例进行描述。多元高斯分布可以看作多个维度数据的联合高斯分布。例如,N+1个编码向量可以看作N+1个维度的数据,更多个编码向量可以看作更多维度的数据。该步骤203中可以通过挖掘各个编码向量之间的多维关系,从而构建相应的联合概率分布。
作为示例,假设各个编码向量所满足的多元高斯分布通过如下形式表示:
其中,z为满足高斯分布(0,1)的标准化参数,通过z表示的多元高斯分布为标准的多元高斯分布,x表示由各个编码向量组合而成的变量矩阵,μx为多元高斯分布的均值矩阵,Σ表示变量矩阵x对应的协方差矩阵,第i行第j列为变量xi和xj的协方差(如为第i个编码向量与第j个编码向量的协方差),n是在分层业务的中各阶层次中总的业务主体个数。例如图1示出的分层业务的架构中,n=7。在变量相互独立的情况下,Σ为对角矩阵,z、μx、Σ之间满足:
以及:
在标准化的多元高斯分布中,σi 2=1,Σ为n×n维的单位矩阵,各个编码向量对应标准高斯分布N(0,I),I表示单位矩阵。μx、Σ是针对各个编码向量构建的联合高斯分布的分布参数。
确定各个编码向量满足的多元高斯分布的过程,也可以看作是多远高斯分布的均值矩阵μx、协方差矩阵Σ确定的过程。推而广之,为各个编码向量确定其他联合概率分布的过程,也可以看作是其他联合概率分布在自变量之外的其他参数确定过程。
进一步地,在步骤204,经由标准化流模型对联合概率分布进行处理,得到各个编码向量满足的非参数化复杂分布。
其中,标准化流(Normalized Flow,也叫归一化流)是一种生成模型。在概率统计理论中,生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。它给观测值和标注数据序列指定一个联合概率分布。在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。条件概率分布可以由生成模型根据贝叶斯定理形成。常规的生成模型例如GAN和VAE等,需要明确学习实际数据x的概率密度函数p(x)(其中x∈D)。而实践中,该概率密度函数通常无法明确,比如在含有隐含变量的模型中,由于难以遍历隐藏编码z的所有可能值,因此很难计算p(x)=∫p(x|z)p(z)dz。标准化流是一种用于密度估计的强大统计工具,借助其深度生成模型通过一系列可逆转换可以克服这一难题。
标准化流通常从简单分布(如高斯分布等)出发,通过应用一系列可逆转换函数将简单分布转换为复杂分布。通过一系列转换,根据换元定理反复将当前变量替换为新变量,最终获得目标变量的概率分布。换元的思想如下:给定一个随机变量z,及其已知的概率密度函数z~π(z),使用1:1映射函数x=f(z)构造一个新的随机变量。函数f是可逆的,于是z=f-1(x)。这个过程就是变量的换元。
对于多变量而言,有:
z~π(z),x=f(z),z=f-1(x)
这里,z、x均为多标量构成的矩阵,det表示方阵的行列式。
图4示出一个标准化流转化示意图。z0服从高斯分布,由随机变量zi=fi(zi-1)遍历的路径可以称作流,并且由连续分布πi形成的全链称为归一化流或标准化流。根据计算要求,变换函数fi应该满足两个属性:很容易求逆;其雅可比行列式易于计算。
雅可比矩阵是一个梯度矩阵,描述一个映射在映射前后的线性变化,其表现出一个多变数向量函数的最佳线性逼近。雅可比行列式可计算代表着分布是连续可微的。基于标准化流的模型例如为RealNVP(real-valued non-volume preserving)之类。以RealNVP架构为例,图5示出了一个形象化的RealNVP架构的流模型示意。如图5所示,RealNVP架构可以看作是一个多尺度架构,该多尺度架构引入卷积层,每经过一层的卷积层流处理后,一半的通道直接作用于到输出层,而另一半的通道经过流操作,每次都有一半的通道做更复杂的变换。在图5中,输入x通过卷积耦合层,得到z1,取z1到最终的输出z1:d,而另一半zd+1:d重复前一步骤,通过卷积耦合层,再取一半做最终输出,而另一半继续重复以上步骤,堆叠n层。RealNVP的多尺度架构可以降低模型复杂度,引入正则的效果。
经由标准化流模型对联合概率分布的处理,可以将较简单分布转换成非参数化的复杂分布,从而适配各个业务主体的历史时间序列之间更复杂的分布形态。
接着,经由步骤205,基于对各个业务主体分别按照非参数化复杂分布进行采样得到的采样序列,确定分别针对各个业务主体的各个预测序列。实践中,可以针对各个需要预测时间序列的业务主体分别进行采样,得到各个预测序列。其中,需要预测时间序列的业务主体可以是分层业务中的全部业务主体,也可以是部分业务主体,在此不做限定。其中,采样变量z的维数可以和历史时间序列的维数一致或不一致。
可以理解,由于分层结构的部分统计特性,历史时间序列中,各阶业务主体的时间序列是根据前文针对业务场景的描述,各个业务主体的业务量(或时间序列)之间是具有相互制约关系的。即,高阶层次中的业务主体的业务量(或时间序列)是其在某一阶低阶层次对应的各个业务主体的业务量(或时间序列)之和。例如图1示出的例子中业务主体B对应的时间序列是业务主体D、E对应的时间序列之和。这也可以称为一致性约束。在图2示出的实施例中,一致性约束包括:第一业务主体对应的预测序列与相应的N个业务主体的预测序列的加和。
由于其他各阶层次的业务主体的业务量均由最低阶层次的业务主体的业务量进行叠加确定,在一个可能的设计中,可以在采样过程中,先采样最低阶层次的业务主体的时间序列,再将相应的采样序列加和作为较高阶层次的采样序列。如图1中,从联合概率分布中直接采样业务主体D、E、F、G对应的预测序列,然后根据业务主体D、E对应的预测序列确定业务主体B对应的预测序列yB,t=:yD,t+yE,t,根据业务主体F、G对应的预测序列确定业务主体C对应的预测序列yC,t=yF,t+yG,t,进而根据业务主体B、C对应的预测序列确定业务主体A对应的预测序列yA,t=yB,t+yC,t。如此,可以确保各个预测序列满足一致性约束。
根据另一个可能的设计,为了采样的随机性,可以对各个业务主体分别从以上非参数化复杂分布中采样相应的时间序列作为采样序列。如此,采样的结果(如各个采样序列构成的采样矩阵)可以作为初步预测结果,各个业务主体之间的一致性约束可以通过常规技术手段调整初步预测结果实现,在此不再赘述。例如,根据一致性约束,在初步预测结果基础上尽可能小地调整一个时序矩阵y,使得时序矩阵y成为最终预测的各个时序构成的预测矩阵Y。如,求解使得的模最小的y,其中,为采样序列构成的采样矩阵,例如为时序矩阵y与采样矩阵的差的模最小化,这里的模可以通过一阶范数、二阶范数等进行表示,在此不做限定。
根据又一个可能的设计,为了进一步利用采样结果中的关联性,可以采用引入注意力(Attention)机制的编码-解码架构。具体地,将采样得到的各个采样序列,通过注意力机制的编码器处理,得到针对最底阶层次中各个业务主体的预测序列。该预测序列融合了采样结果中各个业务主体采样序列的关联性。之后经过一个符合一致性约束的解码器,确定最低阶层次以外的其他层次中各个业务主体的预测序列,得到各个层次中的业务主体的预测序列。
Attention机制的本质可以被描述为一个查询(query)到一系列(键key-值value)对的映射。具体地,可以将query和每个key进行相似度计算得到权重,常用的相似度函数有点积、拼接、感知机等,然后使用一个激活函数(如softmax)对这些权重进行归一化;最后将权重和相应的键值value进行加权求和得到最后的attention。Attention机制的变种由多个,例如循环注意力、自注意力、全局注意力、多头注意力等。
图6中示出的注意力架构为多头注意力(Multi-head attention)。多头注意力机制下Query、Key、Value首先经过一个线性变换,然后输入到放缩点积attention,这里要做h次(把数据拆分成h份,这里的数据例如是采样结果),也就是所谓的多头,每一次算一个头。而且每次Q、K、V进行线性变换的参数是不一样的。然后将h次的放缩点积attention结果进行拼接,再进行一次线性变换得到的值作为多头attention的结果。可以看到,多头attention的不同之处在于进行了h次计算而不仅仅算一次。多头注意力机制可以从多个角度提取相关隐含特征,从而更准确描述其他阶采样结果在最低阶层次中的重要程度。
通过注意力机制的编码网络,可以得到最低阶层次中各个业务主体的预测序列,然后,可以进一步通过满足一致性约束的解码器,得到各阶层次业务主体的预测序列。解码器可以是前述的一致性约束关系式,如图1中的一致性约束yB,t=yD,t+yE,t、yC,t=yF,t+yG,t、yA,t=gB,t+yC,t等。在图6中,解码器还可以包含基于相应分层业务的业务架构矩阵S确定的解码逻辑。具体地,可以将最低阶层次中各个业务主体的预测序列看作列向量y',如对于图1中的y'=(yD,yE,yF,yG)T,该列向量中的单个元素实质上代表一个相应预测序列。则解码器可以是y=S×y'。
其中,业务架构矩阵S可以通过以下方式确定:由于各个最低阶层次的业务主体相互独立,可以通过单位矩阵来描述它们,单位矩阵的一行/列作为一个最低阶业务主体的表达向量;将其他阶业务主体在最低阶层次对应的各个业务主体的表达向量加和,得到和矩阵;将和矩阵和单位矩阵的拼接矩阵作为业务架构矩阵S。其中,拼接时按照单位矩阵中用于表达业务主体的表达向量的方向进行。
以图1示出的实施架构为例,可以通过4×4维的对角矩阵描述最低阶层次的业务主体D、E、F、G,即:
假设以上单位矩阵每行代表一个业务主体,则较高阶层次的业务主体均可以通过最低阶层次的业务主体对应的向量表示。如图1中较高阶层次中的业务主体A、B、C的事件序列均可通过最低阶层次中的业务主体D、E、F、G表示。如根据yC,t=yF,t+yG,t得到C对应的向量(0,0,1,1),根据yB,t=yD,t+yE,t得到B对应的向量(1,1,0,0),而根据yA,t=yB,t+yC,t得到A对应的向量(1,1,1,1)。如此,可以将A、B、C对应的向量构成的矩阵称为和矩阵,例如记为和矩阵,如:
由于单位矩阵每行代表一个业务主体,则按行拼接,行数增加,得到业务架构矩阵S可以为:
该业务架构矩阵与图6所示例子一致。可知,S与y'的乘积可以表示最底阶层次的相应预测序列的加和结果,如S的第一行与y'的乘积表示业务主体A是全部最低阶业务主体的预测序列加和,即满足一致性约束。在其他实施例中,还可以有其他解码逻辑或矩阵处理逻辑,在此不再赘述。
如此,即保证了采样的随机性,也保证了最终预测结果的一致性。
其中,以上预测过程可以通过预测模型实现,各个步骤实现为预测模型的各个模块。如步骤202通过编码模块实现,步骤203通过映射模块实现,步骤204通过分布转移模块实现,步骤205通过采样模块实现。此时,在预测模型训练过程中,可以将编码模块的参数、映射模块的参数或联合概率分布参数(可选地还可以包括采样参数)、分布转移模块的参数等(例如还可以包括注意力模块等)均作为待定参数,通过层次化业务结构中各个业务主体的历史时间序列作为样本数据,历史时间序列的后续时间序列作为样本标签,确定模型损失,调整各个待定参数。模型损失例如可以通过方差、交叉熵等各种合理的方式衡量,在此不做限定。模型参数的调整可以采用各种合适的方法。其中,在连续可微的预测模型中,可以采用梯度下降法、牛顿法等与梯度相关的方法向着模型损失减小的方向调整各个待定参数。使用梯度也是较优的参数调整方法。
值得说明的是,在使用梯度相关方法训练预测模型的情况下,为了保证预测过程是可微连续的,针对步骤204得到的非参数化复杂分布,可以采用重参数技巧进行采样。根据重参数技巧,从分布N(μ,σ2)中采样一个变量Z,相当于从标准分布N(0,1)中采样一个变量ε,然后令采样结果Y=μ+ε×σ。具体到步骤205,可以先从标准的联合概率分布采样变量z,然后利用标准化流模型的可逆性,转换为从非参数化复杂分布中的采样结果。如多元高斯分布情况下采样z~N(0,I),转换为从非参数化复杂分布中的采样结果为:从标准的联合概率分布采样的过程在此不再赘述。采样结果可以通过矩阵形式描述为:每一行/列对应一个业务主体(对应一个向量),每一列/行对应一个未来时间段。
采样过程的连续性体现为可微(可求导,即可计算梯度)。也就是说,标准化流模型的输出结果的雅可比行列式可以计算,则可以保证采样过程是针对连续分布的,可以使用梯度相关的方法调整模型参数。以RealNVP架构为例,输出的雅可比行列式例如为:
变换到高斯分布,仿射耦合的雅可比矩阵依然是一个三角阵,但对角线不全为1,用分块矩阵表示例如为:
O为零矩阵,s为卷积网络的输出结果,用j表示对角矩阵s的各个对角元素,相应的雅可比行列式为Σsj,可以计算。从而可以保证模型训练过程中使用梯度相关优化方法调整模型参数。
回顾以上过程,本说明书提供的技术构思,通过利用各个业务主体的历史时间序列构建联合概率分布(如多元高斯分布),整合各个层次业务主体的时间序列信息,充分进行信息融合,挖掘业务主体之间数据的相互影响,并将联合概率分布转换为非参数复杂分布,从而可以适配各种复杂的分布形态,从而提高时序预测的准确性。
根据另一方面的实施例,还提供一种针对分层业务的时间序列预测装置。该装置用于通过预测模型预测多阶层次在预定业务上的业务主体的业务量构成的时间序列,其中,预测模型包括编码模块、映射模块、分布转移模块和采样模块,单个层次对应至少一个业务主体。
图7示出了一个实施例的针对分层业务的时间序列预测装置700。如图7所示,装置700包括:获取单元701,配置为获取多阶层次中各个业务主体一一对应的各个历史时间序列,单个历史时间序列对应着单个业务主体在顺次排列的多个预定时间段内分别对应的各个业务量;编码单元702,配置为对各个历史时间序列进行编码,得到相应的各个编码向量;映射单元703,配置为确定各个编码向量满足的联合概率分布;转换单元704,配置为经由标准化流模型对联合概率分布进行处理,得到各个编码向量满足的非参数化复杂分布;预测单元705,配置为基于对各个业务主体分别按照所述非参数化复杂分布进行采样得到的各个采样序列,确定分别针对各个业务主体的各个预测序列,其中,单个预测序列描述单个业务主体在后续多个预定时间段内的各个业务量,各个预测序列满足一致性约束,一致性约束包括:针对单个时间段,较高阶层次的单个业务主体的业务量与其在较低阶层次对应的至少一个业务主体的业务量之和一致。
根据一个可能的设计,联合概率分布为多元高斯分布,转换单元704进一步配置为:从多元高斯分布出发,通过应用一系列可逆转换函数将多元高斯分布转换为复杂分布,其中,可逆转换函数根据换元定理反复将当前变量替换为新变量,最终获得目标变量的概率分布,作为非参数化复杂分布。
在一个进一步可选的实现方式中,多元高斯分布对应有第一均值矩阵和第一协方差矩阵,装置700还包括采样单元(未示出),配置为通过以下方式确定单个采样序列:
在标准化的多元高斯分布中采样第一向量,其中,标准化的多元高斯分布的均值矩阵为0矩阵,协方差矩阵为单位矩阵;
将第一协方差矩阵的二次根和第一向量的乘积与第一均值矩阵叠加得到叠加结果;
基于可逆转换函数的逆函数对叠加结果的逆转换,确定单个采样序列。
根据一个实施方式,预测单元705还配置为:
对各个业务主体分别基于非参数化复杂分布进行采样,得到相应的各个采样序列依次排列构成采样矩阵作为初步预测结果;
调整初步预测结果得到各个预测序列,使得各个预测序列满足一致性约束。
在一个进一步的实施例中,预测单元705调整初步预测结果得到各个预测序列包括:将初步预测结果进行编码,得到最低阶层次的各个业务主体对应的各个预测序列;通过一致性约束确定其他阶层次中的各个业务主体对应的各个预测序列。
进一步地,一致性约束可以通过业务架构矩阵表示,并根据业务架构矩阵和编码矩阵的乘积,确定其他阶层次中的各个业务主体对应的各个预测序列,其中,编码矩阵为由最低阶层次的各个业务主体对应的各个预测序列构成的矩阵。
其中,业务架构矩阵可以由描述最低阶层次的各个业务主体的单位矩阵和其他阶层次中的各个业务主体对应的和矩阵拼接而成,最低阶层次的各个业务主体与相应单位矩阵的行/列一一对应,其他各阶层次的单个业务主体对应和矩阵中的单行/列,和矩阵中的单行/列通过该单个业务主体在最低阶层次对应的各个业务主体在相应单位矩阵的各个行/列叠加而成。
值得说明的是,图2所示的装置700与图2描述的方法相对应,图2的方法实施例中的相应描述同样适用于装置700,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2等所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2等所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。

Claims (12)

1.一种针对分层业务的时间序列预测方法,用于预测多阶层次上的业务主体在预定业务指标上的业务量构成的时间序列,所述预定业务指标为以下中的一项:云计算所需的计算资源流量、智能电网中的电力消耗量、物流需求量;其中,单阶层次对应至少一个业务主体;所述方法包括:
获取所述多阶层次中各个业务主体一一对应的各个历史时间序列,单个历史时间序列对应着单个业务主体在顺次排列的多个预定时间段内分别对应的各个业务量;
对各个历史时间序列进行编码,得到相应的各个编码向量;
确定各个编码向量满足的联合概率分布;
经由标准化流模型对所述联合概率分布进行处理,得到各个编码向量满足的非参数化复杂分布;
基于对各个业务主体分别按照所述非参数化复杂分布进行采样得到的各个采样序列,确定分别针对各个业务主体的各个预测序列,其中,单个预测序列描述单个业务主体在后续多个预定时间段内的各个业务量,各个预测序列满足以下一致性约束:针对单个时间段,较高阶层次的单个业务主体的业务量与其在较低阶层次对应的至少一个业务主体的业务量之和一致。
2.根据权利要求1所述的方法,其中,所述联合概率分布为多元高斯分布,所述经由标准化流模型对所述联合概率分布进行处理包括:
从所述多元高斯分布出发,通过应用一系列可逆转换函数将多元高斯分布转换为复杂分布,其中,可逆转换函数根据换元定理反复将当前变量替换为新变量,最终获得目标变量的概率分布,作为非参数化复杂分布。
3.根据权利要求1所述的方法,其中,所述对各个历史时间序列进行编码由单个循环神经网络,或者与各个业务主体一一对应的多个循环神经网络构成的展开循环神经网络实现。
4.根据权利要求2所述的方法,其中,所述多元高斯分布对应有第一均值矩阵和第一协方差矩阵,单个采样序列通过以下方式确定:
在标准化的多元高斯分布中采样第一向量,其中,所述标准化的多元高斯分布的均值矩阵为0矩阵,协方差矩阵为单位矩阵;
将所述第一协方差矩阵的二次根和所述第一向量的乘积与所述第一均值矩阵叠加得到叠加结果;
基于所述可逆转换函数的逆函数对所述叠加结果的逆转换,确定所述单个采样序列。
5.根据权利要求1所述的方法,其中,所述对各个业务主体分别按照所述非参数化复杂分布进行采样得到的采样结果,确定针对各个业务主体一一对应的各个预测序列包括:
对各个业务主体分别基于所述非参数化复杂分布进行采样,得到相应的各个采样序列依次排列构成采样矩阵作为初步预测结果;
调整所述初步预测结果得到各个预测序列,使得各个预测序列满足所述一致性约束。
6.根据权利要求5所述的方法,其中,所述调整所述初步预测结果得到各个预测序列包括:
将所述初步预测结果进行编码,得到最低阶层次的各个业务主体对应的各个预测序列;
通过一致性约束确定其他阶层次中的各个业务主体对应的各个预测序列。
7.根据权利要求6所述的方法,其中,所述将所述初步预测结果进行编码的操作通过多头注意力机制实现,包括:
将初步预测结果拆成h份数据,h为多头注意力机制下的注意力头数量;
对所述h份数据分别进行不同参数下的独立线性变换,得到h个处理结果;
基于对h个处理结果的拼接,得到最低阶层次的各个业务主体对应的各个预测序列。
8.根据权利要求6所述的方法,其中,所述一致性约束通过业务架构矩阵表示,并根据业务架构矩阵和编码矩阵的乘积,确定其他阶层次中的各个业务主体对应的各个预测序列,其中,所述编码矩阵为由最低阶层次的各个业务主体对应的各个预测序列构成的矩阵。
9.根据权利要求8所述的方法,其中,所述业务架构矩阵由描述最低阶层次的各个业务主体的单位矩阵和其他阶层次中的各个业务主体对应的和矩阵拼接而成,最低阶层次的各个业务主体与相应单位矩阵的行/列一一对应,其他各阶层次的单个业务主体对应和矩阵中的单行/列,和矩阵中的单行/列通过该单个业务主体在最低阶层次对应的各个业务主体在相应单位矩阵的各个行/列叠加而成。
10.一种针对分层业务的时间序列预测装置,用于预测多阶层次上的业务主体在预定业务指标上的业务量构成的时间序列,所述预定业务指标为以下中的一项:云计算所需的计算资源流量、智能电网中的电力消耗量、物流需求量;其中,单阶层次对应至少一个业务主体;所述装置包括:
获取单元,配置为获取所述多阶层次中各个业务主体一一对应的各个历史时间序列,单个历史时间序列对应着单个业务主体在顺次排列的多个预定时间段内分别对应的各个业务量;
编码单元,配置为对各个历史时间序列进行编码,得到相应的各个编码向量;
映射单元,配置为确定各个编码向量满足的联合概率分布;
转换单元,配置为经由标准化流模型对联合概率分布进行处理,得到各个编码向量满足的非参数化复杂分布;
预测单元,配置为基于对各个业务主体分别按照所述非参数化复杂分布进行采样得到的各个采样序列,确定分别针对各个业务主体的各个预测序列,其中,单个预测序列描述单个业务主体在后续多个预定时间段内的各个业务量,各个预测序列满足以下一致性约束:针对单个时间段,较高阶层次的单个业务主体的业务量与其在较低阶层次对应的至少一个业务主体的业务量之和一致。
11.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项的所述的方法。
12.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
CN202210623040.6A 2022-06-02 针对分层业务的时间序列预测方法及装置 Active CN115034462B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210623040.6A CN115034462B (zh) 2022-06-02 针对分层业务的时间序列预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210623040.6A CN115034462B (zh) 2022-06-02 针对分层业务的时间序列预测方法及装置

Publications (2)

Publication Number Publication Date
CN115034462A CN115034462A (zh) 2022-09-09
CN115034462B true CN115034462B (zh) 2025-02-18

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991490A (zh) * 2017-02-16 2017-07-28 南京邮电大学 基于混合Markov模型的业务协同预测方法
CN114118622A (zh) * 2021-12-08 2022-03-01 北京北大软件工程股份有限公司 基于时间序列的数据趋势预测方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991490A (zh) * 2017-02-16 2017-07-28 南京邮电大学 基于混合Markov模型的业务协同预测方法
CN114118622A (zh) * 2021-12-08 2022-03-01 北京北大软件工程股份有限公司 基于时间序列的数据趋势预测方法和系统

Similar Documents

Publication Publication Date Title
CN111161535B (zh) 基于注意力机制的图神经网络交通流量预测方法及系统
Yoon et al. Semi-supervised learning with deep generative models for asset failure prediction
CN114519469A (zh) 一种基于Transformer框架的多变量长序列时间序列预测模型的构建方法
Chen et al. JSPNet: Learning joint semantic & instance segmentation of point clouds via feature self-similarity and cross-task probability
Liu et al. Spatial–temporal dynamic graph convolutional network with interactive learning for traffic forecasting
Liang Optimization of quantitative financial data analysis system based on deep learning
CN117458440A (zh) 基于关联特征融合的生成式电力负荷预测方法及系统
CN117094501A (zh) 服装生产订单管理系统及其方法
Ziyabari et al. Multi-branch resnet-transformer for short-term spatio-temporal solar irradiance forecasting
CN116050478A (zh) 基于注意力机制的时间序列填补方法
Feng et al. Collaborative Optimization in Financial Data Mining Through Deep Learning and ResNeXt
Han et al. KD-INR: Time-varying volumetric data compression via knowledge distillation-based implicit neural representation
CN115034462B (zh) 针对分层业务的时间序列预测方法及装置
Li et al. An alternating nonmonotone projected Barzilai–Borwein algorithm of nonnegative factorization of big matrices
Li et al. Comparison and application potential analysis of autoencoder-based electricity pattern mining algorithms for large-scale demand response
He et al. Crude oil price prediction using embedding convolutional neural network model
CN115034461B (zh) 针对分层业务的时间序列预测方法及装置
Anand et al. A Comparative Analysis of Artificial Neural Networks in Time Series Forecasting Using Arima Vs Prophet
CN116150462A (zh) 针对目标对象的向量构建方法、装置和计算机设备
CN115034462A (zh) 针对分层业务的时间序列预测方法及装置
Xiong A time-series model of GRUs based on attention mechanism for short-term load forecasting
Wu et al. HGCN2SP: hierarchical graph convolutional network for two-stage stochastic programming
Vieloszynski et al. LatentQGAN: A Hybrid QGAN with Classical Convolutional Autoencoder
Xu et al. Electricity Consumption Prediction based on Granger-Transformer Model
Wu et al. mWDN-Transformer: Utilizing Cyclical Patterns for Short-Term Forecasting of Limit Order Book in China Markets

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant