CN117010541A - 时间序列预测方法、装置及存储介质 - Google Patents

时间序列预测方法、装置及存储介质 Download PDF

Info

Publication number
CN117010541A
CN117010541A CN202211053912.6A CN202211053912A CN117010541A CN 117010541 A CN117010541 A CN 117010541A CN 202211053912 A CN202211053912 A CN 202211053912A CN 117010541 A CN117010541 A CN 117010541A
Authority
CN
China
Prior art keywords
time
sequence
sub
time sequence
target
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.)
Pending
Application number
CN202211053912.6A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211053912.6A priority Critical patent/CN117010541A/zh
Publication of CN117010541A publication Critical patent/CN117010541A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Human Resources & Organizations (AREA)
  • Mathematical Physics (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Molecular Biology (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种时间序列预测方法、装置、设备、存储介质及计算机程序产品;方法包括:对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;其中,所述序列频率和所述子时间序列一一对应,所述时间序列,包括所述目标指标在所述第一时间段内的多个指标数据;通过时间序列预测模型,分别对各所述子时间序列进行预测处理,得到所述目标指标在第二时间段内的多个子预测时间序列;对多个所述子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列,所述预测时间序列,包括所述目标指标在所述第二时间段内的预测指标数据;通过本申请,能够提高时间序列预测的准确度。

Description

时间序列预测方法、装置及存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种时间序列预测方法、装置、设备、存储介质及计算机程序产品。
背景技术
时间序列预测有着非常广泛的应用场景,例如,未来一段时间内商品销量的预测、到店人数的预测等,对商家提前进行资源配置有着至关重要的作用。相关技术中,仅支持对日频序列的时间序列预测,但是实际应用中所涉及的时间序列往往有多种频率,比如周频序列、月频序列、季频序列,等等。而仅支持日频序列预测则无法满足相关需求;且仅支持一种频率的时间序列预测,容易出现预测偏差,预测准确度不高。
发明内容
本申请实施例提供一种时间序列预测方法、装置、设备、存储介质及计算机程序产品,能够支持多种不同频率的时间序列的预测,并能够提高时间序列预测的准确度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种时间序列预测方法,包括:
对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;
其中,所述序列频率和所述子时间序列一一对应,所述时间序列,包括所述目标指标在所述第一时间段内的多个指标数据;
通过时间序列预测模型,分别对各所述子时间序列进行预测处理,得到所述目标指标在第二时间段内的多个子预测时间序列;
对多个所述子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列,所述预测时间序列,包括所述目标指标在所述第二时间段内的预测指标数据。
本申请实施例还提供一种时间序列预测装置,包括:
第一处理模块,用于对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;
其中,所述序列频率和所述子时间序列一一对应,所述时间序列,包括所述目标指标在所述第一时间段内的多个指标数据;
第二处理模块,用于通过时间序列预测模型,分别对各所述子时间序列进行预测处理,得到所述目标指标在第二时间段内的多个子预测时间序列;
第三处理模块,用于对多个所述子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列,所述预测时间序列,包括所述目标指标在所述第二时间段内的预测指标数据。
上述方案中,所述第一处理模块,还用于对所述时间序列进行数据缺失检测,得到检测结果;当所述检测结果表征所述时间序列存在数据缺失时,对所述时间序列进行缺失数据补充处理,得到目标时间序列,并对所述目标时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;当所述检测结果表征所述时间序列不存在数据缺失时,对所述时间序列进行频率分解处理,得到序列频率不同的多个子时间序列。
上述方案中,所述时间序列包括的每个指标数据具有相应的时间戳,所述第一处理模块,还用于对所述时间序列进行频率检测,得到目标频率,并基于所述目标频率,确定所述时间序列中相邻两个指标数据的时间戳之间的标准时间戳差值;针对所述时间序列中任意两个相邻的指标数据,获取所述两个相邻的指标数据的时间戳之间的实际时间戳差值;当存在大于所述标准时间戳差值的目标实际时间戳差值时,得到表征所述时间序列存在数据缺失的检测结果;当不存在大于所述标准时间戳差值的目标实际时间戳差值时,得到表征所述时间序列不存在数据缺失的检测结果。
上述方案中,所述时间序列包括多个指标数据对,所述指标数据对,由所述时间序列中任意两个相邻的指标数据组成;所述第一处理模块,还用于针对各所述指标数据对,确定所述指标数据对中、两个相邻的指标数据的时间戳之间的时间戳差值;当多个所述指标数据对所对应的时间戳差值唯一时,基于所述时间戳差值,确定所述目标频率;当多个所述指标数据对所对应的时间戳差值不唯一时,确定多个所述时间戳差值的最大公约数,并基于所述最大公约数,确定所述目标频率。
上述方案中,所述第一处理模块,还用于基于所述标准时间戳差值,在所述目标实际时间戳差值对应的相邻两个时间戳之间插入缺失的目标时间戳,并将所述目标时间戳对应的数据点置为空值;基于缺失数据补充方式,确定所述目标时间戳对应的目标指标数据,并将所述空值置为所述目标指标数据。
上述方案中,所述时间序列包括的每个指标数据具有相应的时间戳,所述时间序列包括多个指标数据对,所述指标数据对,由所述时间序列中任意两个相邻的指标数据组成;所述第一处理模块,还用于针对各所述指标数据对,确定所述指标数据对中、两个相邻的指标数据的时间戳之间的时间戳差值;当多个所述指标数据对所对应的时间戳差值唯一时,得到表征所述时间序列不存在数据缺失的检测结果;当多个所述指标数据对所对应的时间戳差值不唯一时,得到表征所述时间序列存在数据缺失的检测结果。
上述方案中,所述第一处理模块,还用于获取所述时间序列包括的各所述指标数据的时间戳,并获取用于所述频率分解处理的多个不同的时间粒度,所述时间粒度和所述序列频率一一对应;针对各所述时间粒度,基于所述时间戳,对所述多个指标数据在所述时间粒度上进行聚合处理,得到所述时间粒度对应的聚合序列;将多个所述时间粒度对应的聚合序列,作为序列频率不同的所述多个子时间序列。
上述方案中,所述时间序列预测模型包括多个子时间序列预测模型;所述第二处理模块,还用于针对各所述子时间序列,分别执行如下处理:针对各所述子时间序列预测模型,通过所述子时间序列预测模型,对所述子时间序列进行预测处理,得到所述子时间序列对应的中间子预测时间序列;获取各所述中间子预测时间序列对应的权重值;基于各所述中间子预测时间序列对应的权重值,对多个所述中间子预测时间序列进行加权处理,得到处理结果,并将所述处理结果,作为所述目标指标在第二时间段内的子预测时间序列。
上述方案中,所述第二处理模块,还用于针对各所述子时间序列预测模型,分别执行如下处理:通过机器学习模型,对所述子时间序列预测模型的模型权重值进行预测,得到所述子时间序列预测模型的预测模型权重值;将所述子时间序列预测模型的预测模型权重值,作为所述子时间序列预测模型输出的中间子预测时间序列所对应的权重值。
上述方案中,所述第三处理模块,还用于获取各所述子预测时间序列对应的序列权重值;基于各所述子预测时间序列对应的序列权重值,对多个所述子预测时间序列进行加权处理,得到具有所述目标序列频率的预测时间序列。
上述方案中,所述第一处理模块,还用于针对各所述子时间序列,分别执行如下处理:对所述子时间序列进行分解处理,得到目标周期项、目标特殊事件项以及目标剩余项;其中,所述目标特殊事件项对应的特殊事件,对所述目标指标在所述特殊事件的发生时段内的指标数据具有影响作用;所述第二处理模块,还用于分别对各所述子时间序列的所述目标剩余项进行预测处理。
上述方案中,所述第一处理模块,还用于对所述子时间序列进行第一分解处理,得到第一目标周期项、第一特殊事件项以及第一剩余项;从所述子时间序列中去除所述第一特殊事件项,得到第一剩余子时间序列,并对所述第一剩余子时间序列进行第二分解处理,得到第二目标周期项以及第二剩余项;从所述子时间序列中去除所述第二目标周期项,得到第二剩余子时间序列,并对所述第二剩余子时间序列进行第三分解处理,得到第二特殊事件项以及第三剩余项;将所述第二目标周期项作为所述目标周期项,将所述第二特殊事件项作为所述目标特殊事件项,以及将所述第三剩余项作为所述目标剩余项。
上述方案中,所述第一处理模块,还用于显示时间序列预测任务的创建界面;基于所述创建界面,接收到设置的所述时间序列、以及所述第二时间段;响应于针对所述时间序列和所述第二时间段的确认指令,基于所述时间序列和所述第二时间段,创建针对所述时间序列的目标时间序列预测任务;所述第一处理模块,还用于响应于针对所述目标时间序列预测任务的执行指令,对目标指标在第一时间段内的时间序列进行频率分解处理。
本申请实施例还提供一种电子设备,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的时间序列预测方法。
本申请实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,实现本申请实施例提供的时间序列预测方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序或计算机可执行指令,所述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的时间序列预测方法。
本申请实施例具有以下有益效果:
首先,对目标指标的时间序列(包括目标指标在第一时间段内的多个指标数据)进行频率分解处理,得到序列频率不同的多个子时间序列,该序列频率和子时间序列一一对应;然后,通过时间序列预测模型分别对各子时间序列进行预测处理,得到目标指标在第二时间段内的多个子预测时间序列;最后,对多个子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列(包括目标指标在第二时间段内的预测指标数据)。如此,1)所进行预测的时间序列的频率没有指定,能够实现对多种频率的时间序列的预测,如日频、周频、月频、季频等多种频率的时间序列;2)对同一时间序列同时做多个频率的预测,并对不同频率的预测结果进行调和以得到最终预测结果,能够有效提高时间序列预测的准确度。
附图说明
图1是本申请实施例提供的时间序列预测系统100的架构示意图;
图2是本申请实施例提供的实施时间序列预测方法的电子设备500的结构示意图;
图3是本申请实施例提供的时间序列预测方法的流程示意图;
图4是本申请实施例提供的时间序列预测方法的流程示意图;
图5是本申请实施例提供的时间序列预测方法的流程示意图;
图6是本申请实施例提供的时间序列预测方法的流程示意图;
图7是本申请实施例提供的时间序列预测方法的流程示意图;
图8A-图8D是本申请实施例提供的时间序列预测界面的示意图;
图9是本申请实施例提供的对时间序列进行频率检测的流程示意图;
图10是本申请实施例提供的季节性调整模块的处理流程示意图;
图11是本申请实施例提供的子时间序列的计算流程示意图;
图12本申请实施例提供的时间序列预测方法的流程示意图;
图13是本申请实施例提供的实施时间序列预测方法的系统的架构图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)客户端,终端中运行的用于提供各种服务的应用程序,例如即时通讯客户端、视频播放客户端。
2)响应于,用于表示所执行的操作所依赖的条件或状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
3)时间序列:是一组按照时间发生先后顺序进行排列,并且包含一些信息的数据点序列。一条时间序列中的每个数据点对应一个唯一的时间戳。在实际应用中,将同一统计指标(如目标指标)在某个时间段内的指标数据,按照指标数据发生的时间先后顺序进行排列,以得到该时间段所对应的时间序列。
本申请实施例提供一种时间序列预测方法、装置、设备、存储介质及计算机程序产品,能够支持多种不同频率的时间序列的预测,并能够提高时间序列预测的准确度。
下面说明本申请实施例提供的时间序列预测方法的实施场景。参见图1,图1是本申请实施例提供的时间序列预测系统100的架构示意图,为实现支撑一个示例性应用,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
终端400,用于响应于时间序列预测指令,发送时间序列预测请求至服务器,该时间序列预测请求,用于指示对目标指标在第一时间段内的时间序列进行预测,以得到第二时间段内的预测时间序列;
服务器200,用于接收终端400发送的时间序列预测请求;响应于时间序列预测请求,获取目标指标在第一时间段内的时间序列;对该时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;其中,该序列频率和子时间序列一一对应,该时间序列包括目标指标在第一时间段内的多个指标数据;通过时间序列预测模型,分别对各子时间序列进行预测处理,得到目标指标在第二时间段内的多个子预测时间序列;对多个子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列,该预测时间序列包括目标指标在第二时间段内的预测指标数据;返回预测时间序列至终端400;
终端400,用于接收服务器200返回的预测时间序列;当接收到针对预测时间序列的查看指令时,显示预测时间序列。
在一些实施例中,本申请实施例提供的时间序列预测方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器单独实施,也可以由终端和服务器协同实施。例如终端独自执行本申请实施例提供的时间序列预测方法,或者,终端向服务器发送时间序列预测请求,服务器根据接收的时间序列预测请求执行本申请实施例提供的时间序列预测方法。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
在一些实施例中,本申请实施例提供的实施时间序列预测的电子设备可以是各种类型的终端设备或服务器。其中,服务器(例如服务器200)可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统。终端(例如终端400)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、智能家电(例如智能电视)、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例对此不做限制。
在一些实施例中,本申请实施例提供的时间序列预测方法可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。作为示例,服务器(例如服务器200)还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的时间序列预测方法,举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
在一些实施例中,多个服务器可组成为一区块链,而服务器为区块链上的节点,区块链中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。其中,本申请实施例提供的时间序列预测方法所相关的数据(例如时间序列、预测时间序列、时间序列预测模型)可保存于区块链上。
下面说明本申请实施例提供的实施时间序列预测方法的电子设备。参见图2,图2是本申请实施例提供的实施时间序列预测方法的电子设备500的结构示意图。以电子设备500为图1所示的终端为例,本申请实施例提供的实施时间序列预测方法的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550可以是可移除的,不可移除的或其组合。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。存储器550包括易失性存储器或非易失性存储器,也可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random AccessMemory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他电子设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的时间序列预测装置可以采用软件方式实现,图2示出了存储在存储器550中的时间序列预测装置553,其可以是程序和插件等形式的软件,包括以下软件模块:第一处理模块5531、第二处理模块5532和第三处理模块5533,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
下面说明本申请实施例提供的时间序列预测方法。在一些实施例中,本申请实施例提供的时间序列预测方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器单独实施,也可以由终端和服务器协同实施。以终端实施为例,参见图3,图3是本申请实施例提供的时间序列预测方法的流程示意图,本申请实施例提供的时间序列预测方法包括:
步骤101:终端对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列。
其中,该序列频率和子时间序列一一对应,该时间序列包括目标指标在第一时间段内的多个指标数据。
在步骤101中,终端可以设置有支持时间序列预测的应用程序,当运行该应用程序时,则可以进行时间序列预测。作为示例,该目标指标可以是活跃用户数、关键词搜索量、页面访问量、付费用户数、到店人数、产品销量、库存变化、交易笔数、用车需求数、用电量、业务流水等等各种业务或者产品的统计指标。该目标指标在第一时间段内的时间序列,可以包括目标指标在第一时间段内的多个指标数据(即目标指标的指标数值),该时间序列可以是历史时间序列,即该历史时间序列包括目标指标在第一时间段内的多个历史指标数据。该时间序列包括的多个指标数据,按照指标数据发生的时间先后顺序进行排列。
在步骤101中,终端对该时间序列进行频率分解处理,得到序列频率不同的多个子时间序列,该序列频率和子时间序列为一一对应关系。示例性地,该时间序列为日频序列(即每一日收集一个指标数据,时间序列中相邻两个指标数据的时间戳差值为1日),经过频率分解处理后,可以得到日频序列、周频序列(即每一周收集一个指标数据,时间序列中相邻两个指标数据的时间戳差值为1周)、双周序列(即每两周收集一个指标数据,时间序列中相邻两个指标数据的时间戳差值为两周)、和四周序列(即每四周收集一个指标数据,时间序列中相邻两个指标数据的时间戳差值为四周)等序列频率不同的多个子时间序列。
在一些实施例中,参见图4,图4示出了图3中的步骤101可通过步骤1011-步骤1013实现:步骤1011,对时间序列进行数据缺失检测,得到检测结果;步骤1012,当检测结果表征时间序列存在数据缺失时,对时间序列进行缺失数据补充处理,得到目标时间序列,并对目标时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;步骤1013,当检测结果表征时间序列不存在数据缺失时,对时间序列进行频率分解处理,得到序列频率不同的多个子时间序列。
在实际应用中,该时间序列可能存在数据缺失的情况,因此在对时间序列进行频率分解处理时,首先对时间序列进行数据缺失检测,得到检测结果。当该检测结果表征时间序列存在数据缺失时,则对该时间序列进行缺失数据补充处理,得到目标时间序列,以保证时间序列的完整性,从而对该目标时间序列进行频率分解处理,得到序列频率不同的多个子时间序列。而当检测结果表征时间序列不存在数据缺失时,则直接对时间序列进行频率分解处理,得到序列频率不同的多个子时间序列。
在一些实施例中,时间序列包括的每个指标数据具有相应的时间戳。参见图5,图5示出了图4中的步骤1011可通过步骤201-步骤204实现:步骤201,对时间序列进行频率检测,得到目标频率,并基于目标频率,确定时间序列中相邻两个指标数据的时间戳之间的标准时间戳差值;步骤202,针对时间序列中任意两个相邻的指标数据,获取两个相邻的指标数据的时间戳之间的实际时间戳差值;步骤203,当存在大于标准时间戳差值的目标实际时间戳差值时,得到表征时间序列存在数据缺失的检测结果;步骤204,当不存在大于标准时间戳差值的目标实际时间戳差值时,得到表征时间序列不存在数据缺失的检测结果。
在实际应用中,终端在对时间序列进行数据缺失检测时,首先对时间序列进行频率检测,得到目标频率。在一些实施例中,时间序列包括多个指标数据对,该指标数据对由时间序列中任意两个相邻的指标数据组成;参见图6,图6示出了图5中步骤201的“对时间序列进行频率检测,得到目标频率”可通过步骤2011-步骤2013实现:步骤2011,针对各指标数据对,确定指标数据对中、两个相邻的指标数据的时间戳之间的时间戳差值;步骤2012,当多个指标数据对所对应的时间戳差值唯一时,基于时间戳差值,确定目标频率;步骤2013,当多个指标数据对所对应的时间戳差值不唯一时,确定多个时间戳差值的最大公约数,并基于最大公约数,确定目标频率。
示例性地,当对时间序列进行频率检测时,可以将时间序列中任意两个相邻的指标数据作为指标数据对,从而得到时间序列包括的多个指标数据对。然后,针对每个指标数据对,计算该指标数据对中两个指标数据的时间戳之间的时间戳差值,从而得到各指标数据对的时间戳差值。针对得到的多个指标数据的时间戳差值,确定该时间戳差值是否是唯一的,即各个指标数据的时间戳差值是否都一样。
1)当确定多个指标数据对所对应的时间戳差值唯一时,则基于该时间戳差值确定时间序列的目标频率,例如,时间戳差值为1天,那么该时间序列则为日频序列,目标频率为日频,时间戳差值为7天,那么该时间序列则为周频序列,目标频率为周频,等等。
2)当确定多个指标数据对所对应的时间戳差值不唯一时,即存在多个不同的时间戳差值,此时确定多个时间戳差值的最大公约数,并基于最大公约数,确定目标频率。作为示例,多个时间戳差值为[1天,…,1天,2天,1天],即时间戳差值不唯一,则该时间序列的目标频率由所有时间戳差值的最大公约数“1天”来确定,因此该时间序列为日频序列(序列频率为一日一次)。同样的,如果多个时间戳差值为[21天,7天,…,7天,7天],则时间序列的序列频率由所有时间戳差值的最大公约数“7天”来确定,因此该时间序列为周频序列(序列频率为一周一次)。
当确定时间序列的序列频率为目标频率之后,基于该目标频率,确定时间序列中相邻两个指标数据的时间戳之间的标准时间戳差值,如目标频率为日频,该标准时间戳差值则为1日,如目标频率为周频,该标准时间戳差值则为1周,目标频率为每小时一次,则标准时间戳差值为1小时。在确定标准时间戳差值之后,针对时间序列中任意两个相邻的指标数据,获取两个相邻的指标数据的时间戳之间的实际时间戳差值,以得到时间序列对应的多个实际时间戳差值。确定该多个实际时间戳差值中,是否存在大于标准时间戳差值的目标实际时间戳差值。若存在,则得到表征时间序列存在数据缺失的检测结果;若不存在,则得到表征时间序列不存在数据缺失的检测结果。
在一些实施例中,终端可通过如下方式对时间序列进行缺失数据补充处理,得到目标时间序列:基于标准时间戳差值,在目标实际时间戳差值对应的相邻两个时间戳之间插入缺失的目标时间戳,并将目标时间戳对应的数据点置为空值;基于缺失数据补充方式,确定目标时间戳对应的目标指标数据,并将空值置为目标指标数据。
在实际应用中,在对缺失数据的时间序列进行缺失数据补充处理时,可以基于标准时间戳差值,在目标实际时间戳差值对应的相邻两个时间戳之间插入缺失的目标时间戳,比如时间序列的时间戳为[2月1日、2月3日、2月4日、2月5日],可确定标准时间戳差值为1日,目标实际时间戳差值为2日,即时间戳“2月1日”和“2月3日”之间缺失数据,此时,在时间戳“2月1日”和“2月3日”之间插入缺失的目标时间戳“2月2日”,得到时间序列的时间戳为[2月1日、2月2日、2月3日、2月4日、2月5日],即实际时间戳差值唯一,即1日。在插入缺失的目标时间戳后,将目标时间戳对应的数据点置为空值,从而基于预设的缺失数据补充方式,确定目标时间戳对应的目标指标数据,并将空值置为目标指标数据。
示例性地,缺失数据补充方式可以包括:补零、平均值补全、前值补全、后值补全、线性插值、样条插值等。其中,1)前值补全,是用上一个数据点填补缺失值。2)后值补全,是用下一个数据点填补缺失值。3)线性插值,是用线性函数拟合缺失值前后的数据点,然后求线性函数在空值处的取值。4)样条插值,是用样条函数拟合缺失值前后的数据点,然后求样条函数在空值处的取值。需要说明的是,线性插值和样条插值中所涉及的前后数据点,可以是时间戳上与缺失值最相邻的数据点,也可以是周期意义上相邻的数据点。例如时间序列在2021年1月15日存在缺失数据,则上一个指标数据可以是2021年1月14日的数值,也可以是2021年1月8日的数值(周期为一周),亦可以是2020年1月15日的数值(周期为一年)。
在一些实施例中,时间序列包括的每个指标数据具有相应的时间戳,时间序列包括多个指标数据对,该指标数据对,由时间序列中任意两个相邻的指标数据组成;终端可通过如下方式对时间序列进行数据缺失检测,得到检测结果:针对各指标数据对,确定指标数据对中、两个相邻的指标数据的时间戳之间的时间戳差值;当多个指标数据对所对应的时间戳差值唯一时,得到表征时间序列不存在数据缺失的检测结果;当多个指标数据对所对应的时间戳差值不唯一时,得到表征时间序列存在数据缺失的检测结果。
在实际应用中,当对时间序列进行数据缺失检测时,可以将时间序列中任意两个相邻的指标数据作为指标数据对,从而得到时间序列包括的多个指标数据对。然后,针对每个指标数据对,计算该指标数据对中两个指标数据的时间戳之间的时间戳差值,从而得到各指标数据对的时间戳差值。针对得到的多个指标数据的时间戳差值,确定该时间戳差值是否是唯一的,即各个指标数据的时间戳差值是否都一样。1)当确定多个指标数据对所对应的时间戳差值唯一时,则得到表征时间序列不存在数据缺失的检测结果。2)当确定多个指标数据对所对应的时间戳差值不唯一时,则得到表征时间序列存在数据缺失的检测结果。
在一些实施例中,图3示出的步骤101还可通过如下步骤实现:获取时间序列包括的各指标数据的时间戳,并获取用于频率分解处理的多个不同的时间粒度,该时间粒度和序列频率一一对应;针对各时间粒度,基于时间戳,对多个指标数据在时间粒度上进行聚合处理,得到时间粒度对应的聚合序列;将多个时间粒度对应的聚合序列,作为序列频率不同的多个子时间序列。
在实际应用中,该时间粒度可以是预先设置的,即用户想要得到哪种序列频率的子时间序列,则可以设置相应的时间粒度。该时间粒度需大于等于时间序列的时间粒度,如时间序列(为日频序列)的时间粒度为1天,那么子时间序列的时间粒度可以是1天、2天、7天等等。针对各时间粒度,基于时间戳,对多个指标数据在时间粒度上进行聚合处理,得到时间粒度对应的聚合序列。如,单日频序列为[1,1,1,1,1,1]的时间粒度为1日,子时间序列的时间粒度分别为1天、2天和3天,那么按照时间粒度进行聚合得到的聚合序列分别为[1,1,1,1,1,1]、[2,2,2]、[3,3]。将该聚合得到的聚合序列,作为序列频率不同的多个子时间序列。如单日频序列为[1,1,1,1,1,1]的子时间序列分别为:单日频子时间序列[1,1,1,1,1,1]、两日频子时间序列[2,2,2]、三日频子时间序列[3,3]。
作为示例,日频序列将生成日频(时间粒度为1天)、周频(时间粒度为1周)、双周(时间粒度为2周)及四周(时间粒度为4周)等子时间序列;月频序列将生成月频(时间粒度为1个月)、双月(时间粒度为2个月)、季频(时间粒度为1个季度)及半年度频(时间粒度为6个月)等子时间序列;季频序列将生成季频(时间粒度为1个季度)、半年度(时间粒度为6个月)和年度(时间粒度为12个月)等子时间序列。以一条时间跨度为2019年1月1日至2022年3月20日的日频序列为例。在聚合到周频序列时,由于该日频序列的长度1175不能被7整除,因此需将序列的前6天(1175%7=6,即2019年1月1日至2019年1月6日)的数据舍弃,然后生成包括167个周频数据点的周频序列。
步骤102:通过时间序列预测模型,分别对各子时间序列进行预测处理,得到目标指标在第二时间段内的多个子预测时间序列。
在步骤102中,该时间序列预测模型可以是机器学习模型,也可以是统计模型。通过该时间序列预测模型,可以对各子时间序列进行预测,得到目标指标在第二时间段内的多个子预测时间序列。该第二时间段可以是预先设置的,即基于第一时间段的子时间序列来预测第二时间段的子预测时间序列。
在一些实施例中,时间序列预测模型包括多个子时间序列预测模型;终端可通过如下方式通过时间序列预测模型,分别对各子时间序列进行预测处理,得到目标指标在第二时间段内的多个子预测时间序列:针对各子时间序列,分别执行如下处理:针对各子时间序列预测模型,通过子时间序列预测模型,对子时间序列进行预测处理,得到子时间序列对应的中间子预测时间序列;获取各中间子预测时间序列对应的权重值;基于各中间子预测时间序列对应的权重值,对多个中间子预测时间序列进行加权处理,得到处理结果,并将处理结果,作为目标指标在第二时间段内的子预测时间序列。
在实际应用中,该时间序列预测模型可以包括多个子时间序列预测模型。基于此,针对各子时间序列,分别执行如下处理:首先,针对各子时间序列预测模型,通过子时间序列预测模型,对子时间序列进行预测处理,得到子时间序列对应的中间子预测时间序列;然后,获取各中间子预测时间序列对应的权重值,该权重值可以是预先设置的,也可以是基于机器学习模型预测得到的;再基于各中间子预测时间序列对应的权重值,对多个中间子预测时间序列进行加权处理(如加权平均处理),得到处理结果,并将处理结果,作为目标指标在第二时间段内的子预测时间序列。
在一些实施例中,终端可通过如下方式获取各中间子预测时间序列对应的权重值:针对各子时间序列预测模型,分别执行如下处理:通过机器学习模型,对子时间序列预测模型的模型权重值进行预测,得到子时间序列预测模型的预测模型权重值;将子时间序列预测模型的预测模型权重值,作为子时间序列预测模型输出的中间子预测时间序列所对应的权重值。
在实际应用中,可以预先训练用于预测子时间序列预测模型的模型权重值的机器学习模型。如,可以训练一个分类融合模型去选取最优的子时间序列预测模型,从而赋予最优的子时间序列预测模型的模型权重值为1,而其它子时间序列预测模型的模型权重值为0;也可以训练一个回归融合模型给单个子时间序列预测模型分别赋予相应的模型权重值。从而将子时间序列预测模型的预测模型权重值,作为子时间序列预测模型输出的中间子预测时间序列所对应的权重值。
步骤103:对多个子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列。
其中,该预测时间序列,包括目标指标在第二时间段内的预测指标数据。
在步骤103中,对预测得到的多个子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列。该预测时间序列包括目标指标在第二时间段内的预测指标数据。如此,基于目标指标在第一时间段的时间序列(包括目标指标在第二时间段内的历史指标数据),预测得到了目标指标在第二时间段的预测时间序列(包括目标指标在第二时间段内的预测指标数据)。该频率调和处理是利用数学优化的方法,对同一时间序列在不同序列频率的子预测时间序列进行调整优化,优化的目标是在对各序列频率的子预测时间序列的调整幅度最小的情况下,得到最细时间粒度的预测时间序列。
这里,该预测时间序列具有目标序列频率,该目标序列频率为多个序列频率中最大的序列频率,对应多个子时间序列的时间粒度中的最细时间粒度。该目标序列频率与输入的时间序列的序列频率相同。
作为示例,输入的时间序列的频率为日频(时间粒度为1日),通过频率分解得到序列频率不同的多个子时间序列,包括日频序列(时间粒度为1日)、周频序列(时间粒度为1周)、月频序列(时间粒度为1月)、以及季频序列(时间粒度为1季度)。如此,所输出的预测时间序列可以对应多个子时间序列的时间粒度中的最细时间粒度,即预测时间序列的时间粒度为1日(即为日频序列,与输入的时间序列的频率一致,为多个序列频率中最大的序列频率)。在实际应用中,在得到对应最细时间粒度的日频预测时间序列之后,可通过将日频预测时间序列在时间粒度进行聚合的方式,得到粗粒度的预测时间序列,如按照时间粒度为1周,将日频预测时间序列在时间粒度上进行聚合,得到周频预测时间序列;以此类推,可得到多个粗粒度的预测时间序列,如时间粒度为1月的月频预测时间序列、时间粒度为1季度的季频预测时间序列。
在一些实施例中,终端可通过如下方式对多个子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列:获取各子预测时间序列对应的序列权重值;基于各子预测时间序列对应的序列权重值,对多个子预测时间序列进行加权处理,得到具有目标序列频率的预测时间序列。
在一些实施例中,在通过时间序列预测模型,分别对各子时间序列进行预测处理之前,终端可针对各子时间序列,分别执行如下处理:对子时间序列进行分解处理,得到目标周期项、目标特殊事件项以及目标剩余项;其中,目标特殊事件项对应的特殊事件,对目标指标在特殊事件的发生时段内的指标数据具有影响作用;相应的,终端可通过如下方式分别对各子时间序列进行预测处理:分别对各子时间序列的目标剩余项进行预测处理。
在实际应用中,该目标周期项所对应的目标周期可以是周期长度大于周期长度阈值的周期,比如季度周期、年周期、半年周期等等,相应的,该目标周期项可以是季度周期项、半年周期项、年周期项等等。该目标特殊时间项所对应的特殊事件可以是假日事件、营销活动事件等,该特殊事件能够对目标指标在特殊事件的发生时段内的指标数据产生影响,比如目标指标为商场营业额,那么促销活动、节假日等特殊事件则可以对商场营业额产生影响。
即,时间序列往往受周期(如季度周期)、特殊事件(如节假日)等的影响,因此在对子时间序列进行预测时,可以去除子时间序列中的周期项和特殊事件项。即对子时间序列进行分解处理,得到目标周期项、目标特殊事件项以及目标剩余项,然后分别对各子时间序列的目标剩余项进行预测处理。
在一些实施例中,终端可通过如下步骤301-步骤304对子时间序列进行分解,得到目标周期项、目标特殊事件项以及目标剩余项:步骤301,对子时间序列进行第一分解处理,得到第一目标周期项、第一特殊事件项以及第一剩余项;步骤302,从子时间序列中去除第一特殊事件项,得到第一剩余子时间序列,并对第一剩余子时间序列进行第二分解处理,得到第二目标周期项以及第二剩余项;步骤303,从子时间序列中去除第二目标周期项,得到第二剩余子时间序列,并对第二剩余子时间序列进行第三分解处理,得到第二特殊事件项以及第三剩余项;步骤304,将第二目标周期项作为目标周期项,将第二特殊事件项作为目标特殊事件项,以及将第三剩余项作为目标剩余项。
在实际应用中,第一分解处理和第三分解处理可以采用相似的时间序列模型(如ARIMA模型)进行分解,采用模型公式进行回归求解得到处理结果。第二分解处理可以采用季节性分解方法,如基于局部加权回归的季节性分解方法(STL,Seasonal and Trenddecomposition using Loess)、基于移动平均的季节性分解方法(X11)。
在一些实施例中,终端可通过如下步骤401-步骤402对子时间序列进行分解,得到目标周期项、目标特殊事件项以及目标剩余项:步骤401,对子时间序列进行第一分解处理,得到第一目标周期项、第一特殊事件项以及第一剩余项,并从子时间序列中去除第一特殊事件项,得到第一剩余子时间序列;步骤402,对第一剩余子时间序列进行第二分解处理,得到第二目标周期项以及第二剩余项;步骤403,从子时间序列中去除第二目标周期项,得到第二剩余子时间序列,并对第二剩余子时间序列进行第三分解处理,得到第二特殊事件项以及第三剩余项;步骤404,判断迭代次数是否达到次数阈值,若否,执行步骤405,若是,执行步骤407;步骤405,确定第二特殊事件项和上一次迭代所得到的特殊事件项间的差值是否小于差值阈值,若否,执行步骤406,若是,执行步骤407;步骤406,从子时间序列中去除上一次迭代所得到的特殊事件项,并将得到的剩余子时间序列作为第一剩余子时间序列,返回步骤402;步骤407,将第二目标周期项作为目标周期项,将第二特殊事件项作为目标特殊事件项,以及将第三剩余项作为目标剩余项。
在一些实施例中,终端可通过如下方式创建针对时间序列的目标时间序列预测任务:显示时间序列预测任务的创建界面;基于创建界面,接收到设置的时间序列、以及第二时间段;响应于针对时间序列和第二时间段的确认指令,基于时间序列和第二时间段,创建针对时间序列的目标时间序列预测任务;相应的,终端可通过如下方式对目标指标在第一时间段内的时间序列进行频率分解处理:响应于针对目标时间序列预测任务的执行指令,对目标指标在第一时间段内的时间序列进行频率分解处理。
在实际应用中,可以提供创建时间序列预测任务的创建界面。用户可通过该创建界面,设置用于时间预测的任务处理模型、待处理时间序列、所要预测的目标时间段、时间预测任务的任务名称、预测结果通知方式等等。当设置完成后则可以创建目标时间序列预测任务。当接收到针对目标时间序列预测任务的执行指令时,执行本申请实施例提供的时间预测方法,以实现时间序列预测。
应用本申请上述实施例,首先,对目标指标的时间序列(包括目标指标在第一时间段内的多个指标数据)进行频率分解处理,得到序列频率不同的多个子时间序列,该序列频率和子时间序列一一对应;然后,通过时间序列预测模型分别对各子时间序列进行预测处理,得到目标指标在第二时间段内的多个子预测时间序列;最后,对多个子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列(包括目标指标在第二时间段内的预测指标数据)。如此,1)所进行预测的时间序列的频率没有指定,能够实现对多种频率的时间序列的预测,如日频、周频、月频、季频等多种频率的时间序列;2)对同一时间序列同时做多个频率的预测,并对不同频率的预测结果进行调和以得到最终预测结果,能够有效提高时间序列预测的准确度。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。在说明本申请实施例提供的时间序列预测方法之前,首先对本申请实施例涉及的名词进行解释,包括:
1)时间序列:是一组按照时间发生先后顺序进行排列,并且包含一些信息的数据点序列。一条时间序列中的每个数据点对应一个唯一的时间戳。在实际应用中,将同一统计指标(如目标指标)在某个时间段内的指标数据,按照指标数据发生的时间先后顺序进行排列,以得到该时间段所对应的时间序列。
2)时间序列数据:是在不同时间上收集到的数据,用于反映某一事物或现象等的指标随时间的变化状态或程度。在本申请实施例中,时间序列数据可以为时间序列所包括的目标指标的指标数据。
3)Akka:是JAVA虚拟机平台上构建高并发、分布式和容错应用的工具包和运行时(一般指进程级别的虚拟机)。Akka是一个用Scala语言编写的库,用于简化编写容错的、高可伸缩性的Java和Scala的Actor模型应用。
4)Spark:是专为大规模数据处理而设计的快速通用的计算引擎。
相关技术中仅提供了对日频序列进行自动化预测的方案,具体是将日频序列聚合成周频序列进行时间序列预测,在得到周频预测结果后,按一定比例将周频预测结果拆分到日以得到最终的日频预测结果。如此,相关技术中存在如下缺点:1)仅支持日频序列的预测;2)未对日频序列直接进行预测,而是预测聚合后的周频序列,导致预测灵敏性不足,无法及时反映时间序列数据的变化情况,且预测的细节不够细致;3)在将周频预测拆分为日频预测时仅依据了星期效应,但不同时期星期效应会有较大变化,自动化程度不高且科学性不足。
基于此,本申请实施例提供一种时间序列预测方法,以至少解决上述存在的问题。本申请实施例提供的时间序列预测方法,用于在无人工参与的情况下,自动对多种频率(包括日频、周频、月频、季频等)的时间序列进行预测。在实际应用中,本申请实施例提供的时间序列预测方法可以采用Spark+Akka作为基础的分布式框架来实现,以实现大规模时间序列的实时分布式预测。
参见图7,图7是本申请实施例提供的时间序列预测方法的流程示意图。在本申请实施例中,1)通过预处理模块,对时间序列(即历史数据)进行预处理(即频率分解处理,包括频率检测、缺失数据处理、以及频率转换),得到序列频率不同的多个子时间序列(包括序列1、序列2、序列3、等);2)通过季节性调整模块,分别对各子时间序列进行调整(即剔除假日效应及季节性效应),得到调整后的子时间序列;3)通过基础预测模块,使用多个子时间序列预测模型,对各调整后的子时间序列进行并行预测,并在预测结果中加回假日效应及季节性效应,得到多个中间子预测时间序列;4)通过模型融合模块,对同一序列频率的多个子预测时间序列进行组合,得到各序列频率对应的子预测时间序列;5)通过频率调和模块,利用数学优化方式对多个序列频率的子预测时间序列进行调和,得到最终预测结果(即上述预测时间序列)。
下面首先从产品侧对本申请实施例提供的时间序列预测方法进行详细说明。在实际应用中,本申请实施例可应用于多种指标的时间序列预测,该指标可以是活跃用户数、关键词搜索量、页面访问量、付费用户数、到店人数、产品销量、库存变化、交易笔数、用车需求数、用电量、业务流水等等,针对指标的时间序列预测对于资源规划、目标制定、归因分析等有着重要的作用。
本申请实施例提供的时间序列预测方法,可通过本申请实施例提供的时间序列预测系统实现。在实际应用中,用户在对时间序列进行预测时,可以在预测任务创建界面中,创建时间序列预测任务。
参见图8A,第一步,选择默认的集成模型,该集成模型用于实现本申请实施例提供的时间序列预测方法。
参见图8B,第二步,选择数据源(如,上述目标指标在历史时间段内的时间序列)。在实际应用中,用户可选择将数据源与时间序列预测系统进行自动对接,定时从后台拉取新数据后自动启动预测流程;用户还可按照时间序列预测系统提供的模板上传历史数据(必选)以及预测因子(可选)。
参见图8C,第三步,设置时间序列预测任务的任务名称、预测起始时间点及预测结束时间点,该预测起始时间点和预测结束时间点间的时间段即为上述目标时间段,也就是说,通过选择的数据源对目标时间段进行时间序列预测,得到目标时间段内的预测时间序列。
参见图8D,第四步,在时间序列预测任务创建成功后,可手动触发针对该时间序列预测任务的执行指令;当时间序列预测任务执行结束后,可在运行记录中查看相关情况(如任务创建时间、开始时间、结束时间等等),并下载预测结果和因子量化结果(如“节假日促销”这个因子给某个业务带来30000的额外访问量)。在实际应用中,当时间序列预测任务执行结束后,还可以通过邮件、即时通信消息、短信等方式通知用户。
下面继续从技术侧对本申请实施例提供的时间序列预测方法进行详细说明。在本申请实施例中,时间序列预测模型可以是统计模型,也可以是机器学习模型。其中,1)统计模型可以包括ARIMA、ETS、TBATS、HoltWinters、SES、Theta以及BSTS等等;统计模型是单序列模型,即每条时间序列都需单独进行模型。2)机器学习模型可以包括XGBoost以及神经网络模型,神经网络模型可以包括CNN、RNN、Seq2Seq、DeepAR、Transformer等深度学习模型。
继续参见图7,本申请实施例提供的时间序列预测方法包括:(1)通过预处理模块,对时间序列(即历史数据)进行预处理(即频率分解处理,包括频率检测、缺失数据处理、以及频率转换),得到序列频率不同的多个子时间序列。具体地,该预处理模块会将一条时间序列在多个不同的时间粒度上进行聚合,以转化成不同序列频率的时间序列,比如,一条日频序列经过聚合后会生成日频序列、周频序列、双周序列以及四周序列等多个频率的子时间序列。
(2)通过季节性调整模块,分别对各子时间序列进行调整(即剔除假日效应及季节性效应),得到调整后的子时间序列。这里,假日可以是春节、端午等公历日期不定的节假日,也可以是元旦、国庆等公立日期固定的节假日,还可以是促销等频率不定的运营活动等。季节性效应可以是诸如季度效应等较为规律的效应。
(3)通过基础预测模块,使用多个子时间序列预测模型,对各调整后的子时间序列进行并行预测,并在预测结果中加回假日效应及季节性效应,得到多个中间子预测时间序列。
(4)通过模型融合模块,对同一序列频率的多个中间子预测时间序列进行组合,得到各序列频率对应的子预测时间序列。这里,每个序列频率的子时间序列均对应一个子预测时间序列。
(5)通过频率调和模块,对多个序列频率的子预测时间序列进行调和,得到最终预测结果(即上述预测时间序列),所谓时间调和,就是利用数学优化的方法,对同一时间序列在不同序列频率的子预测时间序列进行调整优化,优化的目标是使得对各序列频率的子预测时间序列的加权平均调整幅度最小。该预测时间序列具有目标频率,该目标频率为多个序列频率中最大的序列频率,对应多个子时间序列的时间粒度中的最细时间粒度。该目标频率与输入的时间序列的序列频率相同。
作为示例,输入的时间序列的频率为日频(时间粒度为1日),通过预处理模块生成序列频率不同的多个子时间序列,包括日频序列(时间粒度为1日)、周频序列(时间粒度为1周)、月频序列(时间粒度为1月)、以及季频序列(时间粒度为1季度)。如此,所输出的预测时间序列可以对应多个子时间序列的时间粒度中的最细时间粒度,即预测时间序列的时间粒度为1日(即为日频序列)。在实际应用中,在得到对应最细时间粒度的日频预测时间序列之后,可通过将日频预测时间序列在时间粒度进行聚合的方式,得到粗粒度的预测时间序列,如按照时间粒度为1周,将日频预测时间序列在时间粒度上进行聚合,得到周频预测时间序列;以此类推,可得到多个粗粒度的预测时间序列,如时间粒度为1月的月频预测时间序列、时间粒度为1季度的季频预测时间序列。
下面分别对预处理模块、季节性调整模块、基础预测模块、模型融合模块以及频率调和模块进行详细说明。其中,
(一)预处理模块。预处理模块包括频率检测、缺失数据处理及频率转换三个基本功能。其中,(1)频率检测:是根据时间序列中各个指标数据(历史数据)的时间戳,自动判断时间序列的序列频率,即判断输入的时间序列是日频序列、周频序列还是月频序列等等。(2)缺失数据处理:是在确定时间序列的序列频率后,扫描时间序列中是否存在缺失数据,若存在,则将缺失数据进行补全。(3)频率转换:是将缺失数据处理后得到的时间序列,按照不同的时间粒度进行聚合,生成不同序列频率的多个子时间序列。
(1)频率检测。参见图9,图9是本申请实施例提供的对时间序列进行频率检测的流程示意图,包括:S11:开始;S12:将时间序列包括的多个指标数据按照时间戳先后进行排序;S13:计算任意两个相邻的时间戳的时间差值,得到一个由时间差值组成的数组;S14:确定数组中的时间差值是否唯一,若是,执行S15,若否,执行S16;S15:确定时间序列中不存在缺失时间戳,并将基于该时间差值确定时间序列的序列频率;S16:确定时间序列中存在缺失时间戳,并计算数组中所有时间差值的最大公约数;S17:基于最大公约数确定时间序列的序列频率;S18:结束。
作为示例,输入的时间序列相邻时间戳的时间差值组成的数组为[1天,…,1天,2天,1天],即,数组中的时间差值不唯一,则该时间序列的序列频率由数组中所有时间差值的最大公约数“1天”来确定,因此该时间序列为日频序列(序列频率为1日一次)。同样的,如果相邻时间戳的时间差值组成的数组为[21天,7天,…,7天,7天],则输入的时间序列数据的序列频率由数组中所有时间差值的最大公约数“7天”来确定,因此该时间序列为周频序列(序列频率为一周一次)。
(2)缺失数据处理。S21:在确定序列频率之后,根据相邻时间戳的时间差值所构成的数组中是否存在多个不同时间差值,来判断时间序列是否存在缺失时间戳。S22:若存在,则在时间序列中插入缺失的时间戳,并将其对应的数据点设为空值。S23:扫描数据点中是否存在空值。S24:若存在,则确定输入的时间序列中存在缺失数据,并对该时间序列进行缺失数据补全处理。
在实际应用中,缺失数据补全的方式可以包括:补零、平均值补全、前值补全、后值补全、线性插值、样条插值等。其中,1)前值补全,是用上一个数据点填补缺失值。2)后值补全,是用下一个数据点填补缺失值。3)线性插值,是用线性函数拟合缺失值前后的数据点,然后求线性函数在空值处的取值。4)样条插值,是用样条函数拟合缺失值前后的数据点,然后求样条函数在空值处的取值。需要说明的是,线性插值和样条插值中所涉及的前后数据点,可以是时间戳上与缺失值最相邻的数据点,也可以是周期意义上相邻的数据点。例如时间序列在2021年1月15日存在缺失值,则上一个数据点可以是2021年1月14日的数值,也可以是2021年1月8日的数值(周期为一周),亦可以是2020年1月15日的数值(周期为一年)。
在实际应用中,预处理模块中处理缺失数据处理之外,还可以加入其它功能,如异常值处理、变点处理等。
(3)频率转换。经过缺失数据补全后的时间序列将在多个不同时间粒度上进行聚合,以生成序列频率不同的多条子时间序列。例如,日频序列将生成日频(时间粒度为1天)、周频(时间粒度为1周)、双周(时间粒度为2周)及四周(时间粒度为4周)等子时间序列;月频序列将生成月频(时间粒度为1个月)、双月(时间粒度为2个月)、季频(时间粒度为1个季度)及半年度频(时间粒度为6个月)等子时间序列;季频序列将生成季频(时间粒度为1个季度)、半年度(时间粒度为6个月)和年度(时间粒度为12个月)等子时间序列。以一条时间跨度为2019年1月1日至2022年3月20日的日频序列为例。在聚合到周频序列时,由于该日频序列的长度1175不能被7整除,因此需将序列的前6天(1175%7=6,即2019年1月1日至2019年1月6日)的数据舍弃,然后生成包括167个周频数据点的周频序列。
(二)季节性调整模块。
时间序列大多会受到假日效应的影响,大多数统计模型无法添加协变量去拟合此类因子,直接使用统计模型对时间序列进行预测时会存在较大偏差。此外,大多数统计模型仅能处理单周期,但常见的时间序列通常呈现多周期,例如日频序列呈现7天的短周期和365.25天的长周期。而且多数统计模型对高频序列处理能力非常有限。例如频率较高时ARIMA模型运行极慢,且常常会出现内存不足、错误等问题。因此,将假日效应以及长周期的季节性效应从原始序列中剥离出来,再将剩余项交给统计模型进行预测,对时间序列尤其是高频(例如日频)序列的预测有着非常关键的作用。而将这两种效应进行量化和剔除就是季节性调整模块的功能。
参见图10,图10是本申请实施例提供的季节性调整模块的处理流程示意图。这里,通过反复迭代能够自动化地对任意时间序列进行季节性调整,并输出准确的假日效应和季节效应,详细流程如下。
在第一步中,通过能够添加协变量(即任何可能影响被预测指标的因子,比如说七夕、双十一等时间因子,促销、抽奖等运营因子)的时间序列预测模型(如ARIMA或者BSTS)求解回归方程,将原时间序列分解为假日项、季节项和剩余项,即存在以下关系:原时间序列=假日项+季节项+剩余项;
具体而言,使用虚拟变量模拟常见的假日以及特殊日期(如促销日期),使用傅里叶项(即正弦、余弦函数)模拟较长周期的季节项,并使用统计模型模拟剩余项的变化情况。以日频数据为例,用ARIMA模型对其进行图10中的(1)回归分析时,该ARIMA模型的方程可以表示如下:
其中,yt为序列在时刻t的观测值,B为延迟算子,即Byt=yt-1,而φP,θq,/>分别为p,P,q,Q阶多项式(多项式控制yt不会无限增长到无穷),ak与bk为k阶正弦函数与余弦函数对长周期的拟合系数,ci为假日及特殊时间因子xi的拟合系数,εt为模型在时刻t的误差项,d代表差分阶数,D代表周期差分阶数,xi,t是时间因子xi在时刻t的取值。ARIMA模型的超参数通过网格搜索或者启发式搜索的方式,根据最小化交叉验证误差的原则来确定。
第一步求得的季节项是由正弦函数和余弦函数来表示的,其系数不随时间变化,因此该季节项也不随时间变化,但实际上季节项是缓慢变化的。因此,在第二步中,原时间序列在剔除假日项后,用季节性分解方法(如STL和X11)继续进行分解,便可得到缓慢变化的季节项,而分解得到的趋势项与残差项之和作为剩余项。
在第三步中,从原时间序列中剔除第二步得到的季节项,然后用与第一步相似的时间序列模型,采用回归求解得到新的假日项和剩余项。例如,使用ARIMA模型处理日频序列时,第三步的模型公式可以如下:
公式(2)与公式(3)的区别在于为yt减去第二步所得的季节项之后的结果,因此该公式(2)中不再包含正弦余弦函数项。该公式(2)中的超参数和参数需要重新确定和求解。/>
在第四步中,判断是否达到了迭代的终止条件。如果这一轮迭代得到的假日项与上一轮得到的假日项之差小于设定的阈值,或者迭代次数达到上限,那么则终止迭代,并输出最终的假日项、季节项以及剩余项,否则返回第二步继续进行迭代,直至迭代终止。
基于此,季节性调整模块能够非常有效地将假日效应和季节性效应分解开来。在实际应用中,用于分解的回归模型并不局限于ARIMA模型,还可以是BSTS模型或者其它能够添加协变量的时间序列模型。
(三)基础预测模块。经季节性调整模块处理得到的子时间序列会输入到基础预测模块中,以得到各子时间序列对应的多个中间子预测时间序列。需要说明的是,时间序列中的假日效应和季节项并不进行预测,而只是对时间序列中的剩余项进行预测,然后在预测结果中加回假日效应和季节项。
在实际应用中,基础预测模块中包含多个子时间序列预测模型,如ARIM A,BATS,TBATS,Croston,ETS,SES,Holt,HoltWinters,Double Seasona l HoltWinters,Naive,Seasonal Naive,Mean,Theta,Spline,StructTS,Prop het以及BSTS等子时间序列预测模型。上述子时间序列预测模型中有些可以通过网格搜索自动优化超参数,有些搜索空间过大则可以手动调节超参数,当然,对于需手动调节的超参数也可以使用默认超参数。
(四)模型融合模块。每个子时间序列在经过基础预测模块后,都会生成N个中间子预测时间序列,其中,N为基础预测模块中子时间序列预测模型(即图7所示的模型1、模型2等等)的个数。基于此,针对每个子时间序列,通过模型融合模块,将N个中间子预测时间序列融合生成一个子预测时间序列。
在实际应用中,可以采用算数平均法进行融合,也可以使用中位数进行融合。此外,还可以使用截尾平均和缩尾平均等方式进行融合,其中,截尾平均就是去掉最高的一部分,去掉最低的一部分,用剩下的来进行算术平均;缩尾平均就是用次高分和次低分去代替最高分和最低分,然后进行算术平均。上述方法本质上都是加权平均法,即给单个中间子预测时间序列赋予相应的权重值,并计算加权均值。在本申请实施例中,还可以基于融合模型(如机器学习模型)进行融合,如,可以训练一个分类融合模型去选取最优的子时间序列预测模型,从而赋予最优的子时间序列预测模型所输出的预测结果的权重值为1,而其它子时间序列预测模型所输出的预测结果的权重值为0;也可以训练一个回归融合模型给单个子时间序列预测模型所输出的预测结果分别赋予相应的权重值。
参见图11,图11是本申请实施例提供的子时间序列的计算流程示意图。这里,每个基础预测模型生成的中间子预测时间序列作为一个特征输入到融合模型中,由融合模型生成最终的综合预测结果(即子预测时间序列)。该融合模型的参数在训练阶段通过反复优化综合预测结果与实际观测值之差(如平均平方误差)得到。该融合模型可以是线性回归模型,也可以是循环神经神经网络模型(如基于LSTM的循环神经网络)。
(五)频率调和模块。由于一条时间序列经过预处理模块后会生成多个序列频率的子时间序列,而模型融合模块仅对相同序列频率的子预测时间序列进行融合,因此,经过模型融合之后同一时间序列存在不同序列频率对应的多个子预测时间序列。在实际应用中,该多个子预测时间序列往往并不一致,如周频的子预测时间序列,往往不等于日频的子预测时间序列聚合到周频的结果。因此,可通过频率调和模块对多个序列频率的子预测时间序列进行调和,得到最终预测结果(即上述预测时间序列)。具体地,利用数学优化的方法,对同一时间序列在不同序列频率的子预测时间序列进行调整优化,优化的目标是使得对各序列频率的子预测时间序列的加权平均调整幅度最小。
需要说明的是,两个子预测时间序列中,较低频率的子预测时间序列和较高频率的子预测时间序列之间,可以通过一个映射矩阵联系在一起。比如,fm是周频的子预测时间序列,而fn是日频的子预测时间序列(即包括一周中每天的预测值),则理论上存在fm=映射矩阵*fn,但是事实上由于不同频率预测结果并不一致,该等式并不严格成立。因此,需要进行频率调和。
作为示例,上述预测得到的子预测时间序列包括fa、fb、fc,子预测时间序列(包括多个预测数据点)的权重矩阵为W,W可用来表示对相应预测数据点的重要性度量,也可以是简单的单位矩阵。在未加其它约束的情况下,调和后得到的预测时间序列为:
其中,S为映射矩阵,W为权重矩阵。
在实际应用中,本申请实施例提供的时间序列预测方法还可以较好的扩展到含层级的分层时间序列中,仅需将分层时间序列中每条时间序列在经过时间调和后,再进行一次层次调和即可,而层次调和的原理和时间调和的原理可以是相同的。例如,分层时间序列可以是:一级地区的人口数据时间序列、二级地区的人口数据时间序列、以及三级地区的人口数据时间序列。其中,若干三级地区的人口数据组成一个二级地区的人口数据,若干二级地区的人口数据组成一个一级地区的人口数据。
由于存在繁多的业务类型,例如有一级业务、二级业务、一级广告位、二级广告位,以及每个类型的业务都有不同的指标,如流水、曝光量、点击量、访问量等,总体来说可以归为“业务-指标”对,每个“业务-指标”对又有多个子时间序列预测模型以及融合模型,预测时存在着极大的计算量和内存使用量。因此,本申请实施例提供的时间序列预测方法可通过分布式计算系统实现。具体地,采用两种方式实现:1)分解为树形的依赖结构,将子时间序列预测模型作为叶子节点,融合模型作为根节点,并将每个子时间序列预测模型放在不同的节点进行运算,从而将模型预测结果汇总到融合模型继续运算得到融合结果;2)将不同的“业务-指标”对分割为不同的预测流程,从而对各个预测流程进行并行化的预测,能够极大的加快预测速度。参见图12,图12本申请实施例提供的时间序列预测方法的流程示意图。这里,不同的节点可以部署有不同的预测流程,包括Flow1和Flow2。
在实际实施时,本申请实施例可以采用Spark+Akka作为基础的分布式计算框架,实现了一套在线的实时预测系统,并能够实时检测预测进度。对于较短时间序列的预测,例如月度数据来说,可以实现秒级返回结果。参见图13,图13是本申请实施例提供的实施时间序列预测方法的系统的架构图,该系统拆分为两个部分,一个是管理模块(Manager),负责流程解析、任务解析、数据抓取、特征工程、任务生成等;一个是分布式运算模块(Algorithm),由Spark计算引擎和HDFS共享存储组成,负责具体的模型分布式运算。
应用本申请上述实施例,1)无需人工进行时间序列预测模型的选择和参数调优,支持日频、周频、月频、季频等多种频率的时间序列的自动化频率检测、以及自动化时间序列预测;2)对同一时间序列同时做多个频率的预测,并使用数学优化方法对不同频率的预测结果进行调和,能够有效地兼顾灵敏性与稳健性;3)自动化评估常见节假日及用户输入的特殊事件(如促销活动)对时间序列的影响程度;且能够输出量化分析结果,有效解决移动节假日效应难以分解的问题,兼顾长期预测与短期预测,有效提升了时间序列的预测准确性。
可以理解的是,在本申请实施例中,涉及到用户信息等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的时间序列预测装置553的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的时间序列预测装置553中的软件模块可以包括:第一处理模块5531,用于对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;其中,所述序列频率和所述子时间序列一一对应,所述时间序列,包括所述目标指标在所述第一时间段内的多个指标数据;第二处理模块5532,用于通过时间序列预测模型,分别对各所述子时间序列进行预测处理,得到所述目标指标在第二时间段内的多个子预测时间序列;第三处理模块5532,用于对多个所述子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列,所述预测时间序列,包括所述目标指标在所述第二时间段内的预测指标数据。
在一些实施例中,所述第一处理模块5531,还用于对所述时间序列进行数据缺失检测,得到检测结果;当所述检测结果表征所述时间序列存在数据缺失时,对所述时间序列进行缺失数据补充处理,得到目标时间序列,并对所述目标时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;当所述检测结果表征所述时间序列不存在数据缺失时,对所述时间序列进行频率分解处理,得到序列频率不同的多个子时间序列。
在一些实施例中,所述时间序列包括的每个指标数据具有相应的时间戳,所述第一处理模块5531,还用于对所述时间序列进行频率检测,得到目标频率,并基于所述目标频率,确定所述时间序列中相邻两个指标数据的时间戳之间的标准时间戳差值;针对所述时间序列中任意两个相邻的指标数据,获取所述两个相邻的指标数据的时间戳之间的实际时间戳差值;当存在大于所述标准时间戳差值的目标实际时间戳差值时,得到表征所述时间序列存在数据缺失的检测结果;当不存在大于所述标准时间戳差值的目标实际时间戳差值时,得到表征所述时间序列不存在数据缺失的检测结果。
在一些实施例中,所述时间序列包括多个指标数据对,所述指标数据对,由所述时间序列中任意两个相邻的指标数据组成;所述第一处理模块5531,还用于针对各所述指标数据对,确定所述指标数据对中、两个相邻的指标数据的时间戳之间的时间戳差值;当多个所述指标数据对所对应的时间戳差值唯一时,基于所述时间戳差值,确定所述目标频率;当多个所述指标数据对所对应的时间戳差值不唯一时,确定多个所述时间戳差值的最大公约数,并基于所述最大公约数,确定所述目标频率。
在一些实施例中,所述第一处理模块5531,还用于基于所述标准时间戳差值,在所述目标实际时间戳差值对应的相邻两个时间戳之间插入缺失的目标时间戳,并将所述目标时间戳对应的数据点置为空值;基于缺失数据补充方式,确定所述目标时间戳对应的目标指标数据,并将所述空值置为所述目标指标数据。
在一些实施例中,所述时间序列包括的每个指标数据具有相应的时间戳,所述时间序列包括多个指标数据对,所述指标数据对,由所述时间序列中任意两个相邻的指标数据组成;所述第一处理模块5531,还用于针对各所述指标数据对,确定所述指标数据对中、两个相邻的指标数据的时间戳之间的时间戳差值;当多个所述指标数据对所对应的时间戳差值唯一时,得到表征所述时间序列不存在数据缺失的检测结果;当多个所述指标数据对所对应的时间戳差值不唯一时,得到表征所述时间序列存在数据缺失的检测结果。
在一些实施例中,所述第一处理模块5531,还用于获取所述时间序列包括的各所述指标数据的时间戳,并获取用于所述频率分解处理的多个不同的时间粒度,所述时间粒度和所述序列频率一一对应;针对各所述时间粒度,基于所述时间戳,对所述多个指标数据在所述时间粒度上进行聚合处理,得到所述时间粒度对应的聚合序列;将多个所述时间粒度对应的聚合序列,作为序列频率不同的所述多个子时间序列。
在一些实施例中,所述时间序列预测模型包括多个子时间序列预测模型;所述第二处理模块5532,还用于针对各所述子时间序列,分别执行如下处理:针对各所述子时间序列预测模型,通过所述子时间序列预测模型,对所述子时间序列进行预测处理,得到所述子时间序列对应的中间子预测时间序列;获取各所述中间子预测时间序列对应的权重值;基于各所述中间子预测时间序列对应的权重值,对多个所述中间子预测时间序列进行加权处理,得到处理结果,并将所述处理结果,作为所述目标指标在第二时间段内的子预测时间序列。
在一些实施例中,所述第二处理模块5532,还用于针对各所述子时间序列预测模型,分别执行如下处理:通过机器学习模型,对所述子时间序列预测模型的模型权重值进行预测,得到所述子时间序列预测模型的预测模型权重值;将所述子时间序列预测模型的预测模型权重值,作为所述子时间序列预测模型输出的中间子预测时间序列所对应的权重值。
在一些实施例中,所述第三处理模块5532,还用于获取各所述子预测时间序列对应的序列权重值;基于各所述子预测时间序列对应的序列权重值,对多个所述子预测时间序列进行加权处理,得到具有所述目标序列频率的预测时间序列。
在一些实施例中,所述第一处理模块5531,还用于针对各所述子时间序列,分别执行如下处理:对所述子时间序列进行分解处理,得到目标周期项、目标特殊事件项以及目标剩余项;其中,所述目标特殊事件项对应的特殊事件,对所述目标指标在所述特殊事件的发生时段内的指标数据具有影响作用;所述第二处理模块5532,还用于分别对各所述子时间序列的所述目标剩余项进行预测处理。
在一些实施例中,所述第一处理模块5531,还用于对所述子时间序列进行第一分解处理,得到第一目标周期项、第一特殊事件项以及第一剩余项;从所述子时间序列中去除所述第一特殊事件项,得到第一剩余子时间序列,并对所述第一剩余子时间序列进行第二分解处理,得到第二目标周期项以及第二剩余项;从所述子时间序列中去除所述第二目标周期项,得到第二剩余子时间序列,并对所述第二剩余子时间序列进行第三分解处理,得到第二特殊事件项以及第三剩余项;将所述第二目标周期项作为所述目标周期项,将所述第二特殊事件项作为所述目标特殊事件项,以及将所述第三剩余项作为所述目标剩余项。
在一些实施例中,所述第一处理模块5531,还用于显示时间序列预测任务的创建界面;基于所述创建界面,接收到设置的所述时间序列、以及所述第二时间段;响应于针对所述时间序列和所述第二时间段的确认指令,基于所述时间序列和所述第二时间段,创建针对所述时间序列的目标时间序列预测任务;所述第一处理模块5531,还用于响应于针对所述目标时间序列预测任务的执行指令,对目标指标在第一时间段内的时间序列进行频率分解处理。
应用本申请上述实施例,首先,对目标指标的时间序列(包括目标指标在第一时间段内的多个指标数据)进行频率分解处理,得到序列频率不同的多个子时间序列,该序列频率和子时间序列一一对应;然后,通过时间序列预测模型分别对各子时间序列进行预测处理,得到目标指标在第二时间段内的多个子预测时间序列;最后,对多个子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列(包括目标指标在第二时间段内的预测指标数据)。如此,1)所进行预测的时间序列的频率没有指定,能够实现对多种频率的时间序列的预测,如日频、周频、月频、季频等多种频率的时间序列;2)对同一时间序列同时做多个频率的预测,并对不同频率的预测结果进行调和以得到最终预测结果,能够有效提高时间序列预测的准确度。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例提供的时间序列预测方法。
本申请实施例还提供一种计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的时间序列预测方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (15)

1.一种时间序列预测方法,其特征在于,所述方法包括:
对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;
其中,所述序列频率和所述子时间序列一一对应,所述时间序列,包括所述目标指标在所述第一时间段内的多个指标数据;
通过时间序列预测模型,分别对各所述子时间序列进行预测处理,得到所述目标指标在第二时间段内的多个子预测时间序列;
对多个所述子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列,所述预测时间序列,包括所述目标指标在所述第二时间段内的预测指标数据。
2.如权利要求1所述的方法,其特征在于,所述对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列,包括:
对所述时间序列进行数据缺失检测,得到检测结果;
当所述检测结果表征所述时间序列存在数据缺失时,对所述时间序列进行缺失数据补充处理,得到目标时间序列,并对所述目标时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;
当所述检测结果表征所述时间序列不存在数据缺失时,对所述时间序列进行频率分解处理,得到序列频率不同的多个子时间序列。
3.如权利要求2所述的方法,其特征在于,所述时间序列包括的每个指标数据具有相应的时间戳,所述对所述时间序列进行数据缺失检测,得到检测结果,包括:
对所述时间序列进行频率检测,得到目标频率,并基于所述目标频率,确定所述时间序列中相邻两个指标数据的时间戳之间的标准时间戳差值;
针对所述时间序列中任意两个相邻的指标数据,获取所述两个相邻的指标数据的时间戳之间的实际时间戳差值;
当存在大于所述标准时间戳差值的目标实际时间戳差值时,得到表征所述时间序列存在数据缺失的检测结果;
当不存在大于所述标准时间戳差值的目标实际时间戳差值时,得到表征所述时间序列不存在数据缺失的检测结果。
4.如权利要求3所述的方法,其特征在于,所述时间序列包括多个指标数据对,所述指标数据对,由所述时间序列中任意两个相邻的指标数据组成;
所述对所述时间序列进行频率检测,得到目标频率,包括:
针对各所述指标数据对,确定所述指标数据对中、两个相邻的指标数据的时间戳之间的时间戳差值;
当多个所述指标数据对所对应的时间戳差值唯一时,基于所述时间戳差值,确定所述目标频率;
当多个所述指标数据对所对应的时间戳差值不唯一时,确定多个所述时间戳差值的最大公约数,并基于所述最大公约数,确定所述目标频率。
5.如权利要求3所述的方法,其特征在于,所述对所述时间序列进行缺失数据补充处理,得到目标时间序列,包括:
基于所述标准时间戳差值,在所述目标实际时间戳差值对应的相邻两个时间戳之间插入缺失的目标时间戳,并将所述目标时间戳对应的数据点置为空值;
基于缺失数据补充方式,确定所述目标时间戳对应的目标指标数据,并将所述空值置为所述目标指标数据。
6.如权利要求2所述的方法,其特征在于,所述时间序列包括的每个指标数据具有相应的时间戳,所述时间序列包括多个指标数据对,所述指标数据对,由所述时间序列中任意两个相邻的指标数据组成;
所述对所述时间序列进行数据缺失检测,得到检测结果,包括:
针对各所述指标数据对,确定所述指标数据对中、两个相邻的指标数据的时间戳之间的时间戳差值;
当多个所述指标数据对所对应的时间戳差值唯一时,得到表征所述时间序列不存在数据缺失的检测结果;
当多个所述指标数据对所对应的时间戳差值不唯一时,得到表征所述时间序列存在数据缺失的检测结果。
7.如权利要求1所述的方法,其特征在于,所述对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列,包括:
获取所述时间序列包括的各所述指标数据的时间戳,并获取用于所述频率分解处理的多个不同的时间粒度,所述时间粒度和所述序列频率一一对应;
针对各所述时间粒度,基于所述时间戳,对所述多个指标数据在所述时间粒度上进行聚合处理,得到所述时间粒度对应的聚合序列;
将多个所述时间粒度对应的聚合序列,作为序列频率不同的所述多个子时间序列。
8.如权利要求1所述的方法,其特征在于,所述时间序列预测模型包括多个子时间序列预测模型;
所述通过时间序列预测模型,分别对各所述子时间序列进行预测处理,得到所述目标指标在第二时间段内的多个子预测时间序列,包括:
针对各所述子时间序列,分别执行如下处理:
针对各所述子时间序列预测模型,通过所述子时间序列预测模型,对所述子时间序列进行预测处理,得到所述子时间序列对应的中间子预测时间序列;
获取各所述中间子预测时间序列对应的权重值;
基于各所述中间子预测时间序列对应的权重值,对多个所述中间子预测时间序列进行加权处理,得到处理结果,并
将所述处理结果,作为所述目标指标在第二时间段内的子预测时间序列。
9.如权利要求8所述的方法,其特征在于,所述获取各所述中间子预测时间序列对应的权重值,包括:
针对各所述子时间序列预测模型,分别执行如下处理:
通过机器学习模型,对所述子时间序列预测模型的模型权重值进行预测,得到所述子时间序列预测模型的预测模型权重值;
将所述子时间序列预测模型的预测模型权重值,作为所述子时间序列预测模型输出的中间子预测时间序列所对应的权重值。
10.如权利要求1所述的方法,其特征在于,所述对多个所述子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列,包括:
获取各所述子预测时间序列对应的序列权重值;
基于各所述子预测时间序列对应的序列权重值,对多个所述子预测时间序列进行加权处理,得到具有所述目标序列频率的预测时间序列。
11.如权利要求1所述的方法,其特征在于,所述通过时间序列预测模型,分别对各所述子时间序列进行预测处理之前,所述方法还包括:
针对各所述子时间序列,分别执行如下处理:
对所述子时间序列进行分解处理,得到目标周期项、目标特殊事件项以及目标剩余项;
其中,所述目标特殊事件项对应的特殊事件,对所述目标指标在所述特殊事件的发生时段内的指标数据具有影响作用;
所述分别对各所述子时间序列进行预测处理,包括:分别对各所述子时间序列的所述目标剩余项进行预测处理。
12.如权利要求11所述的方法,其特征在于,所述对所述子时间序列进行分解,得到目标周期项、目标特殊事件项以及目标剩余项,包括:
对所述子时间序列进行第一分解处理,得到第一目标周期项、第一特殊事件项以及第一剩余项;
从所述子时间序列中去除所述第一特殊事件项,得到第一剩余子时间序列,并对所述第一剩余子时间序列进行第二分解处理,得到第二目标周期项以及第二剩余项;
从所述子时间序列中去除所述第二目标周期项,得到第二剩余子时间序列,并对所述第二剩余子时间序列进行第三分解处理,得到第二特殊事件项以及第三剩余项;
将所述第二目标周期项作为所述目标周期项,将所述第二特殊事件项作为所述目标特殊事件项,以及将所述第三剩余项作为所述目标剩余项。
13.如权利要求1所述的方法,其特征在于,所述对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列之前,所述方法还包括:
显示时间序列预测任务的创建界面;
基于所述创建界面,接收到设置的所述时间序列、以及所述第二时间段;
响应于针对所述时间序列和所述第二时间段的确认指令,基于所述时间序列和所述第二时间段,创建针对所述时间序列的目标时间序列预测任务;
所述对目标指标在第一时间段内的时间序列进行频率分解处理,包括:
响应于针对所述目标时间序列预测任务的执行指令,对目标指标在第一时间段内的时间序列进行频率分解处理。
14.一种时间序列预测装置,其特征在于,所述装置包括:
第一处理模块,用于对目标指标在第一时间段内的时间序列进行频率分解处理,得到序列频率不同的多个子时间序列;
其中,所述序列频率和所述子时间序列一一对应,所述时间序列,包括所述目标指标在所述第一时间段内的多个指标数据;
第二处理模块,用于通过时间序列预测模型,分别对各所述子时间序列进行预测处理,得到所述目标指标在第二时间段内的多个子预测时间序列;
第三处理模块,用于对多个所述子预测时间序列进行频率调和处理,得到具有目标序列频率的预测时间序列,所述预测时间序列,包括所述目标指标在所述第二时间段内的预测指标数据。
15.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时,实现权利要求1至13任一项所述的时间序列预测方法。
CN202211053912.6A 2022-08-31 2022-08-31 时间序列预测方法、装置及存储介质 Pending CN117010541A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211053912.6A CN117010541A (zh) 2022-08-31 2022-08-31 时间序列预测方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211053912.6A CN117010541A (zh) 2022-08-31 2022-08-31 时间序列预测方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN117010541A true CN117010541A (zh) 2023-11-07

Family

ID=88573346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211053912.6A Pending CN117010541A (zh) 2022-08-31 2022-08-31 时间序列预测方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN117010541A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117807380A (zh) * 2024-01-02 2024-04-02 中国科学院西北生态环境资源研究院 一种时间序列数据补全方法、装置、存储介质及电子设备
CN117933493A (zh) * 2024-03-21 2024-04-26 广东电网有限责任公司 多时间颗粒度数据协调的碳排放因子预测方法及系统
CN117933493B (zh) * 2024-03-21 2024-06-07 广东电网有限责任公司 多时间颗粒度数据协调的碳排放因子预测方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117807380A (zh) * 2024-01-02 2024-04-02 中国科学院西北生态环境资源研究院 一种时间序列数据补全方法、装置、存储介质及电子设备
CN117933493A (zh) * 2024-03-21 2024-04-26 广东电网有限责任公司 多时间颗粒度数据协调的碳排放因子预测方法及系统
CN117933493B (zh) * 2024-03-21 2024-06-07 广东电网有限责任公司 多时间颗粒度数据协调的碳排放因子预测方法及系统

Similar Documents

Publication Publication Date Title
US11416920B2 (en) Analytics engine for multiple blockchain nodes
Nelson ‘Some tactical problems in digital simulation’for the next 10 years
Chen et al. Coordinating supplier selection and project scheduling in resource-constrained construction supply chains
US8010324B1 (en) Computer-implemented system and method for storing data analysis models
US7574379B2 (en) Method and system of using artifacts to identify elements of a component business model
US20170329837A1 (en) Digital analytics system
US20120166616A1 (en) System and method for energy performance management
US20200057918A1 (en) Systems and methods for training artificial intelligence to predict utilization of resources
US20110112986A1 (en) Generative Investment Method and System
CN112926858A (zh) 电力营销业务运营指标设计方法及装置
Eickemeyer et al. Validation of data fusion as a method for forecasting the regeneration workload for complex capital goods
CN111080417A (zh) 用于提高预订顺畅率的处理方法、模型训练方法及系统
Gupta et al. Big data energy management, analytics and visualization for residential areas
Shang et al. An intelligent risk assessment system for distributed construction teams
CN115525724A (zh) 应用于数据仓库的建模方法、系统以及电子设备
CN111932314A (zh) 推荐内容的推送方法、装置、设备及可读存储介质
US8688501B2 (en) Method and system enabling dynamic composition of heterogenous risk models
CN117010541A (zh) 时间序列预测方法、装置及存储介质
CN109741172B (zh) 信贷预警方法、装置、系统及存储介质
Altalhi et al. Developing a framework and algorithm for scalability to evaluate the performance and throughput of CRM systems
US20140149186A1 (en) Method and system of using artifacts to identify elements of a component business model
Hong et al. Design of marketing scenario planning based on business big data analysis
US20220284359A1 (en) Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems
Wiederhold Information systems that really support decision-making
CN113763053A (zh) 一种基于区块链的大数据电商平台用户活跃等级评估的方法

Legal Events

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