掌桥专利:专业的专利平台
掌桥专利
首页

一种数据预测方法以及相关设备

文献发布时间:2023-06-19 11:39:06


一种数据预测方法以及相关设备

技术领域

本申请涉及人工智能领域,尤其涉及一种数据预测方法以及相关设备。

背景技术

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。利用人工智能进行图像处理是人工智能常见的一个应用方式。

在一些场景中,我们需要对一些产品的销售量以及需求量进行预测,现有技术中,我们可以基于产品的包括历史销售量和历史需求量的时间序列作为输入,通过数据预测模型来进行销售量和需求量的预测。

然而,有些产品的生命周期很短,例如电子产品(手机或笔记本电脑等),这样的情况下,其需求量预测和销售量预测都是基于非常短小(数量少)的样本,预测效果差。

发明内容

本申请实施例提供了一种数据预测方法,所述方法包括:获取多条时间序列,其中每条时间序列包括在时间维度上排列的数据,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系;将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。本申请实施例中,通过将多个时间序列映射为高阶多维的目标张量,改善了预测模型输入,可以使得预测模型学习到多个时间序列之间的关联关系,提高了预测模型的预测精度。

在第一方面的一种可选实现中,所述多条时间序列包括第一时间序列和第二时间序列,所述第一时间序列包括的数据用于表示第一对象的第一特性在时间维度上的变化,所述第二时间序列包括的数据用于表示第二对象的所述第一特性在时间维度上的变化,所述第一对象和所述第二对象在第一特征上存在关联关系。

在第一方面的一种可选实现中,所述多条时间序列包括第三时间序列和第四时间序列,所述第三时间序列包括的数据用于表示第三对象的第二特性在时间维度上的变化,所述第四时间序列包括的数据用于表示所述第三对象的第三特性在时间维度上的变化,所述第三对象的第二特性和所述第三对象的第三特性存在关联关系。

在第一方面的一种可选实现中,所述通过第一预测模型对所述目标张量进行处理得到预测结果,包括:对所述目标张量进行张量分解,得到核心张量;通过所述第一预测模型对所述核心张量进行处理,得到所述预测结果。本申请实施例中,使用张量分解后得到的核心张量训练模型,以及在进行数据预测时,作为预测模型的输入,由于核心张量coretensors比原来的数据(目标张量)可以更容易被捕捉到内在的时间相关性,能够降低第一预测模型在训练过程中的计算量和存储需求量。

在第一方面的一种可选实现中,所述通过第一预测模型对所述核心张量进行处理,包括:通过所述第一预测模型对所述核心张量进行处理,得到第一张量;通过张量分解逆变换对所述第一张量进行处理,得到第二张量;将所述第二张量映射为多条预测结果序列,其中每条预测结果序列对应于一条时间序列,所述预测结果序列包括对应的时间序列在时间维度上的数据预测值。

在第一方面的一种可选实现中,所述对所述目标张量进行张量分解,包括:基于映射矩阵对所述目标张量进行Tucker分解,其中,在所述Tucker分解时,所述映射矩阵在时间维度上无正交约束。

在第一方面的一种可选实现中,所述将多条时间序列映射成对应的目标张量,包括:在所述时间维度上数据增广处理多条时间序列;将数据增广处理后的多条时间序列映射为所述目标张量。本申请实施例中,在时间维度上数据增广处理所述多条时间序列,针对于小样本时间序列,因为其数量非常有限的信息,现有技术无法直接使用时间序列作为预测模型训练和执行的输入,或者无法取得较好的预测结果,本申请实施例中进行数据增广处理后的时间序列,在时间维度上的数据数量相比于未经过数据增广处理的时间序列在时间维度上的数据数量大大增加,可以提高预测模型的预测精度。

在第一方面的一种可选实现中,所述将多条时间序列映射成对应的目标张量,包括:在时间维度上通过多维延时嵌入变换MDT将多条时间序列映射成所述目标张量。

在第一方面的一种可选实现中,所述第一预测模型为支持张量输入的差分整合移动平均自回归ARIMA模型。

第二方面,本申请提供了一种数据预测方法,所述方法包括:获取多条时间序列和每条时间序列对应的目标数据,其中每条时间序列包括在时间维度上排列的多个第一数据,所述目标数据在时间维度上位于每条时间序列包括的所述多个第一数据之后,所述多条时间序列具有相同的维度,所述多条时间序列包括的第一数据在时间维度上的变化具有关联关系;将所述时间序列映射成目标张量,所述目标张量的维度大于所述时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;通过第二预测模型对所述目标张量进行处理得到预测结果,其中,所述第二预测模型为未执行过迭代训练的模型,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值;根据每条时间序列在时间维度上的数据预测值和对应的目标数据,利用第一损失函数对所述第二预测模型进行迭代训练,直至每条时间序列在所述时间维度上的数据预测值和对应的目标数据的相似度达到第一预设程度;输出第一预测模型,所述第一预测模型为所述第二预测模型执行过迭代训练后得到的模型。

在第二方面的一种可选实现中,所述多条时间序列包括第一时间序列和第二时间序列,所述第一时间序列包括的第一数据用于表示第一对象的第一特性在时间维度上的变化,所述第二时间序列包括的第一数据用于表示第二对象的所述第一特性在时间维度上的变化,所述第一对象和所述第二对象在第一特征上存在关联关系。

在第二方面的一种可选实现中,所述多条时间序列包括第三时间序列和第四时间序列,所述第三时间序列包括的第一数据用于表示第三对象的第二特性在时间维度上的变化,所述第四时间序列包括的第一数据用于表示所述第三对象的第三特性在时间维度上的变化,所述第三对象的第二特性和所述第三对象的第三特性存在关联关系。

在第二方面的一种可选实现中,所述通过第二预测模型对所述目标张量进行处理得到预测结果,包括:对所述目标张量进行张量分解,得到核心张量;通过所述第二预测模型对所述核心张量进行处理,得到所述预测结果。

在第二方面的一种可选实现中,所述通过第二预测模型对所述核心张量进行处理,包括:通过所述第二预测模型对所述核心张量进行处理,得到第一张量;通过张量分解逆变换对所述第一张量进行处理,得到第二张量;将所述第二张量映射为多条预测结果序列,其中每条预测结果序列对应于一条时间序列,所述预测结果序列包括对应的时间序列在时间维度上的数据预测值。

在第二方面的一种可选实现中,所述对所述目标张量进行张量分解,包括:基于映射矩阵对所述目标张量进行Tucker分解,其中,在所述Tucker分解时,所述映射矩阵在时间维度上无正交约束。

在第二方面的一种可选实现中,所述将多条时间序列映射成对应的目标张量,包括:在所述时间维度上数据增广处理多条时间序列;将数据增广处理后的多条时间序列映射为所述目标张量。

在第二方面的一种可选实现中,所述将多条时间序列映射成对应的目标张量,包括:在时间维度上通过多维延时嵌入变换MDT将多条时间序列映射成所述目标张量。

在第二方面的一种可选实现中,所述第二预测模型和所述第一预测模型为支持张量输入的差分整合移动平均自回归ARIMA模型。

第三方面,本申请提供了一种执行设备,所述设备包括:

获取模块,用于获取多条时间序列,其中每条时间序列包括在时间维度上排列的数据,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系;

映射模块,用于将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;

预测模块,用于通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。

在第三方面的一种可选实现中,所述多条时间序列包括第一时间序列和第二时间序列,所述第一时间序列包括的数据用于表示第一对象的第一特性在时间维度上的变化,所述第二时间序列包括的数据用于表示第二对象的所述第一特性在时间维度上的变化,所述第一对象和所述第二对象在第一特征上存在关联关系。

在第三方面的一种可选实现中,所述多条时间序列包括第三时间序列和第四时间序列,所述第三时间序列包括的数据用于表示第三对象的第二特性在时间维度上的变化,所述第四时间序列包括的数据用于表示所述第三对象的第三特性在时间维度上的变化,所述第三对象的第二特性和所述第三对象的第三特性存在关联关系。

在第三方面的一种可选实现中,所述预测模块,具体用于:

对所述目标张量进行张量分解,得到核心张量;

通过所述第一预测模型对所述核心张量进行处理,得到所述预测结果。

在第三方面的一种可选实现中,所述预测模块,具体用于:

通过所述第一预测模型对所述核心张量进行处理,得到第一张量;

通过张量分解逆变换对所述第一张量进行处理,得到第二张量;

将所述第二张量映射为多条预测结果序列,其中每条预测结果序列对应于一条时间序列,所述预测结果序列包括对应的时间序列在时间维度上的数据预测值。

在第三方面的一种可选实现中,所述预测模块,具体用于:

基于映射矩阵对所述目标张量进行Tucker分解,其中,在所述Tucker分解时,所述映射矩阵在时间维度上无正交约束。

在第三方面的一种可选实现中,所述映射模块,具体用于:

在所述时间维度上数据增广处理多条时间序列;

将数据增广处理后的多条时间序列映射为所述目标张量。

在第三方面的一种可选实现中,所述映射模块,具体用于:

在时间维度上通过多维延时嵌入变换MDT将多条时间序列映射成所述目标张量。

在第三方面的一种可选实现中,所述第一预测模型为支持张量输入的差分整合移动平均自回归ARIMA模型。

第四方面,本申请提供了一种训练设备,所述设备包括:

获取模块,用于获取多条时间序列和每条时间序列对应的目标数据,其中每条时间序列包括在时间维度上排列的多个第一数据,所述目标数据在时间维度上位于每条时间序列包括的所述多个第一数据之后,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系;

映射模块,用于将所述时间序列映射成目标张量,所述目标张量的维度大于所述时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;

预测模块,用于通过第二预测模型对所述目标张量进行处理得到预测结果,其中,所述第二预测模型为未执行过迭代训练的模型,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值;

迭代训练模块,用于根据每条时间序列在时间维度上的数据预测值和对应的目标数据,利用第一损失函数对所述第二预测模型进行迭代训练,直至每条时间序列在所述时间维度上的数据预测值和对应的目标数据的相似度达到第一预设程度;

输出模块,用于输出第一预测模型,所述第一预测模型为所述第二预测模型执行过迭代训练后得到的模型。

在第四方面的一种可选实现中,所述多条时间序列包括第一时间序列和第二时间序列,所述第一时间序列包括的第一数据用于表示第一对象的第一特性在时间维度上的变化,所述第二时间序列包括的第一数据用于表示第二对象的所述第一特性在时间维度上的变化,所述第一对象和所述第二对象在第一特征上存在关联关系。

在第四方面的一种可选实现中,所述多条时间序列包括第三时间序列和第四时间序列,所述第三时间序列包括的第一数据用于表示第三对象的第二特性在时间维度上的变化,所述第四时间序列包括的第一数据用于表示所述第三对象的第三特性在时间维度上的变化,所述第三对象的第二特性和所述第三对象的第三特性存在关联关系。

在第四方面的一种可选实现中,所述预测模块,具体用于对所述目标张量进行张量分解,得到核心张量;通过所述第二预测模型对所述核心张量进行处理,得到所述预测结果。

在第四方面的一种可选实现中,所述预测模块,具体用于通过所述第二预测模型对所述核心张量进行处理,得到第一张量;通过张量分解逆变换对所述第一张量进行处理,得到第二张量;将所述第二张量映射为多条预测结果序列,其中每条预测结果序列对应于一条时间序列,所述预测结果序列包括对应的时间序列在时间维度上的数据预测值。

在第四方面的一种可选实现中,所述预测模块,具体用于基于映射矩阵对所述目标张量进行Tucker分解,其中,在所述Tucker分解时,所述映射矩阵在时间维度上无正交约束。

在第四方面的一种可选实现中,所述映射模块,具体用于在所述时间维度上数据增广处理多条时间序列;将数据增广处理后的多条时间序列映射为所述目标张量。

在第四方面的一种可选实现中,所述映射模块,具体用于在时间维度上通过多维延时嵌入变换MDT将多条时间序列映射成所述目标张量。

在第四方面的一种可选实现中,所述第二预测模型和所述第一预测模型为支持张量输入的差分整合移动平均自回归ARIMA模型。

第五方面,本申请提供了一种训练设备,包括处理器和存储器,所述处理器与所述存储器耦合,所述通信设备为终端设备或者训练设备;所述存储器,用于存储程序;所述处理器,用于执行所述存储器中的程序,使得所述通信设备执行如上述第二方面所述的方法。

第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的数据预测方法。

第七方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的数据预测方法。

第八方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持执行设备或训练设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存执行设备或训练设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

第九方面,本申请提供了一种数据预测方法,所述方法包括:

获取多条时间序列,其中每条时间序列包括在时间维度上排列的数据,每条时间序列用于表示一种销售商品的一种特征在时间维度上的变化,其中,上述特征是销售量或需求量,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系;

将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;

通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。

在第九方面的一种可选实现中,所述多条时间序列包括第一时间序列和第二时间序列,所述第一时间序列包括的数据用于表示第一销售商品的第一特性在时间维度上的变化,所述第二时间序列包括的数据用于表示第二销售商品的所述第一特性在时间维度上的变化,所述第一销售商品和所述第二销售商品在第一特征上存在关联关系,第一特性为销售量或需求量。

在第九方面的一种可选实现中,所述第三时间序列包括的数据用于表示第三销售商品的第二特性在时间维度上的变化,所述第四时间序列包括的数据用于表示所述第三销售商品的第三特性在时间维度上的变化,所述第三销售商品的第二特性和所述第三销售商品的第三特性存在关联关系,第二特征和第三特性为销售量或需求量。

本申请实施例中,获取多条时间序列,其中每条时间序列包括在时间维度上排列的数据,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系;将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。通过上述方式,将时间序列映射为高阶多维的目标张量,改善了预测模型输入,可以使得预测模型学习到时间序列之间的关联关系,提高了预测模型的预测精度。

附图说明

图1为本申请实施例提供的人工智能主体框架的一种结构示意图;

图2为本申请实施例提供的一种产品层次结构的示意性说明图;

图3为本申请实施例提供的一种数据预测方法的实施例示意图;

图4a为本申请实施例中提供的一种重复矩阵的结构示意;

图4b为本申请实施例中提供的一种多维延时嵌入变换MDT的流程示意;

图5为本申请实施例提供的一种数据预测方法的实施例流程示意;

图6为本申请实施例提供的数据处理系统的一种系统架构图;

图7为本申请实施例提供的数据预测方法的一种流程示意图;

图8为本申请实施例提供的执行设备的一种结构示意图;

图9为本申请实施例提供的训练设备的一种结构示意图;

图10为本申请实施例提供的执行设备的一种结构示意图;

图11为本申请实施例提供的训练设备一种结构示意图;

图12为本申请实施例提供的芯片的一种结构示意图。

具体实施方式

本申请实施例提供了一种图像处理方法以及相关设备,用于通过高维卷积神经网络获取阵列图像的特征平面,并对特征平面进行上采样,相比起直接对第一阵列图像进行上采样,节省了大量的计算机资源。

下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。

(1)基础设施

基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。

(2)数据

基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。

(3)数据处理

数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。

其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。

推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。

决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。

(4)通用能力

对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。

(5)智能产品及行业应用

智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、平安城市等。

本申请可以应用于时间序列预测领域中,其中,时间序列预测就是利用过去一段历史时间内某事件时间的特征来预测未来一段时间内该事件的特征,时间序列预测是依赖于事件发生的先后顺序的,具体的,在一些实际业务场景中,我们需要对一些目标对象(例如产品)的特性(例如销售量、需求量等)进行时间序列预测,来推测未来该产品的特征变化。

下面介绍本申请数据预测方法可应用的一种场景:

本发明数据预测方法可以应用在多个时间序列,且时间序列之间存在一定关系的预测问题中,例如供应链的多产品的需求预测问题,多地区(市及下属区)的电力预测问题等。下面以具有树形结构的多个产品的需求预测为例来说明本申请数据序列预测方法的应用场景。

请参阅图2,图2是本申请实施例提供的一种产品层次结构的示意性说明图。

整机(pick to order,PTO):是指用于直接销售的完整产品,例如一台服务器、计算机等,该整机可以是图2中产品1。

半成品(assembled item,AI):是指需要通过工厂进行加工的中间件,该半成品可以是图2中,产品2、产品3、产品4、产品5、产品6。

采购件(purchased item,PI):是指直接通过采购获取的产品,可以是图2中产品7、产品8、产品9、产品10、产品11、产品12。

在一些场景中,一些产品之间的某些特性(以下实施例中称为第一特性或第二特性)之间在时间维度上存在关联关系,例如,A产品是整机,B产品是用于组装A产品的半成品,此时,A产品的需求量和销售量与B产品的需求量之间存在关联关系,换一种表述方式,A产品的销售量的时间序列的变化会影响到B产品的销售量的时间序列,考虑到时间序列(或产品)之间的内在相互关系,可以将具有关联关系的多个时间序列作为输入,去训练时间序列预测模型,使得时间序列预测模型学习到多个时间序列之间的关联关系,并通过训练好的时间序列预测模型来同时对多条时间序列进行预测,且预测效果(精度)较好。

示例性的,一台笔记本laptop与显示屏幕screen、主板mother board、键盘keyboard等,由于显示屏幕screen、主板mother board、键盘keyboard是笔记本laptop的组成部分因此笔记本的销售量的时间序列中的数据变化趋势会和显示屏幕screen、主板mother board、键盘keyboard等的销售量的时间序列中的数据变化趋势存在关联关系,又例如,主板mother board与风扇fan、存储器memory、硬件驱动hard drive和中央处理器(central processing unit,CPU)等,由于风扇fan、存储器memory、硬件驱动hard drive和中央处理器(central processing unit,CPU)等是主板mother board的组成部分,因此风扇fan、存储器memory、硬件驱动hard drive和中央处理器(central processing unit,CPU)的销售量的时间序列中的数据变化趋势会和主板mother board的销售量的时间序列中的数据变化趋势存在关联关系。

在一些场景中,产品的某些特性之间在时间维度上存在关联关系,例如,A产品的销售量和需求量之间存在关联关系,换一种表述方式,一种产品的一种特征的时间序列的变化会影响到该产品另一种特征的时间序列,考虑到时间序列之间的内在相互关系,可以将具有关联关系的多个时间序列作为输入,去训练时间序列预测模型,使得时间序列预测模型学习到多个时间序列之间的关联关系,并通过训练好的时间序列预测模型来同时对多条时间序列进行预测,且预测效果(精度)较好。

自回归积分滑动平均模型(autoregressive integrated moving averagemodel,ARIMA),是由博克思(Box)和詹金斯(Jenkins)提出一种时间序列预测方法,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型,然而,ARIMA不能同时处理多条时间序列,因此,无法利用到时间序列之间的关联关系提升预测效果。且ARIMA是每次单独处理每一条时间序列并估计其模型参数,所以对多条时间序列尤其是大量样本数量的数据所需计算时间非常大。

基于此,本申请实施例提供一种数据预测方法。

为了便于理解,下面先对本申请实施例涉及的几个概念进行介绍。

1、时间序列:

时间序列是一组按照时间发生先后顺序进行排列的数据点序列。通常一组时间序列的时间间隔为一恒定值,因此时间序列可以作为离散时间数据进行分析处理。

2、自回归积分滑动平均模型(autoregressive integrated moving averagemodel,ARIMA),是由博克思(Box)和詹金斯(Jenkins)提出一种时间序列预测方法,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。

3、张量:是一个用来表示在矢量、标量和其它张量之间的线性关系的多线性函数,其中,一维张量被称为向量,二维张量被称为矩阵,通常三维及以上的张量被简单称为张量。可选地,张量的维度与该张量所包括的数据类别的数量有关,如:张量中包括帐号数据、资源数据以及标签数据,则该张量为三维张量。

4、张量分解:张量分解通过将原数据分解从中提取有价值的特征。张量是多维数据的专有名词。向量和矩阵可分别被认为是一阶(一维)和二阶(二维)张量。在现实世界中在,很多数据比如视频等都是张量形式。Tucker分解是其中一个最常用的分解技术。对于一个三阶张量,由Tucker分解可以得到三个二阶的因子矩阵(factor matrix)和一个三阶的核张量(core tenor)。换一种表述方式:Tucker分解通过因子矩阵(也称作映射矩阵)将原张量映射到一个具有良好特性(比如低秩low-rank)的核心张量。核心张量可以进一步被应用于分类、聚类、回归等任务中。

参照图3,图3为本申请实施例提供的一种数据预测方法的实施例示意图,如图3示出的那样,本申请实施例提供的一种数据预测方法,包括:

301、获取多条时间序列,其中每条时间序列包括在时间维度上排列的数据,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系。

本申请实施例中,可以获取多条时间序列,其中,多条时间序列包括第一时间序列和第二时间序列,所述第一时间序列包括的数据用于表示第一对象的第一特性在时间维度上的变化,所述第二时间序列包括的数据用于表示第二对象的所述第一特性在时间维度上的变化,所述第一对象和所述第二对象在第一特征上存在关联关系。

本申请实施例中,多条时间序列中包括对应于第一对象的第一时间序列,以及对应于第二对象的第二时间序列,第一时间序列表示第一对象在时间维度上的第一特性,在一种场景中,第一特征可以是需求量或者是销售量等,第一时间序列可以表示第一对象在时间维度上的需求量或者是销售量的变化,例如,第一时间序列可以是第一对象过去一年内每个月的销售量。第二时间序列可以表示第二对象在时间维度上的需求量或者是销售量的变化,例如,第二时间序列可以是第二对象过去一年内每个月的销售量,第一对象和第二对象在第一特征上存在关联关系,即,第一对象和第二对象之间具有如图2示出的产品之间的关联关系,例如,第一对象和第二对象在销售量上具有关联关系或者在需求量上具有关联关系,这里并不限定。需要说明的是,上述关联关系为第一对象和第二对象本身具有的。

本申请实施例中,所述多条时间序列可以包括第三时间序列和第四时间序列,所述第三时间序列包括的数据用于表示第三对象的第二特性在时间维度上的变化,所述第四时间序列包括的数据用于表示所述第三对象的第三特性在时间维度上的变化,所述第三对象的第二特性和所述第三对象的第三特性存在关联关系。

本申请实施例中,多条时间序列中可以包括对应于第三对象的第三时间序列和第四时间序列,第三时间序列为第三对象的第三特性的时间序列,第三特征可以是需求量或者是销售量等,第三时间序列可以表示第三对象在时间维度上的需求量或者是销售量的变化,例如,第三时间序列可以是第三对象过去一年内每个月的销售量。第四时间序列可以表示第三对象在时间维度上的需求量或者是销售量的变化,例如,第四时间序列可以是第三对象过去一年内每个月的需求量,第三对象的第三特征和第四特性存在关联关系,例如,第三对象的销售量和需求量具有关联关系。需要说明的是,上述关联关系为第三特征和第四特征本身具有的。

本申请实施例中,多条时间序列包括的数据在时间维度上的变化具有关联关系,多条时间序列中的各条时间序列之间可以具有时间维度上的关联关系,一条时间序列的变化会影响到其他时间序列,考虑到时间序列之间的内在相互关系,可以将具有关联关系的多个时间序列作为输入,去训练时间序列预测模型,使得时间序列预测模型学习到多个时间序列之间的关联关系,并通过训练好的时间序列预测模型来同时对多条时间序列进行预测,且预测效果(精度)较好。

在一种场景中,上述第一特征可以是地区的电力需求量等,此时,所述第一时间序列包括的数据可以用于表示A地区的电力需求量在时间维度上的变化,所述第二时间序列包括的数据用于表示B地区的一地区在时间维度上的变化,A地区和B地区在电力需求量上存在关联关系。

本申请实施例中,第一对象、第二对象以及第三对象可以为产品或销售商品,第一对象、第二对象以及第三对象的时间序列可以为产品在过去的一个年内每月的需求数量,则本实施例中的数据预测方法可以应用于产品需求预测,可以预测出产品在未来一段时间内每月的需求数量。

又例如,第一对象、第二对象以及第三对象可以为地区,该地区可以中国各个省、市、县、区等,第一对象、第二对象以及第三对象的时间序列可以为地区在过去的一个月内每天的电力需求瓦数。则,本实施例中的数据预测方法可以应用于电力需求预测,可以预测出各个地区在未来一段时间内每天的需求瓦数。可以理解,地区之间存在固定的层次结构,例如,一个省可以包括多个市,一个市可以包括多个区、县等。

302、将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据。

本申请实施例中,在获取多条时间序列,每条时间序列包括在时间维度上排列的数据之后,可以将所述多条时间序列映射成目标张量,所述目标张量的维度大于所述时间序列的维度。

在一些场景中,产品的生命周期很短,例如电子产品(手机或笔记本电脑等),导致其原材料供应周期和产品销售周期都很短。这样的情况下,其需求量预测和销售量预测都是基于非常短小(数量少)的样本,且对应的时间序列的变化波动大。

基于此,可以在所述时间维度上数据增广处理所述多条时间序列,以增加时间序列在时间维度上的数据数量,并将数据增广处理后的所述多条时间序列映射为对应的目标张量。

本申请实施例中,可以使用变换技术(或称为空间重构技术)将多条时间序列转换为目标张量,其中所述目标张量的维度大于所述时间序列的维度。具体的,可以使用多维延时嵌入变换(multi-way delay embedding transform,MDT)、傅里叶变换、小波变换、经验模态分解(empirical mode decomposition,EMD)等方式将多条时间序列沿着时间维度转换为目标张量。

接下来以在时间维度上通过多维延时嵌入变换MDT将多条时间序列映射成对应的目标张量为例对本申请实施例进行说明:

本申请实施例中,使用多路延迟嵌入变换技术MDT沿着时间维度实施将时间序列转换为目标张量,其中目标张量可以称为块汉克尔张量(block Hankel tensor,BHT)。若变换过程只沿着时间维度实施,相比于时间序列,目标张量的维度增加1维。

本申请实施例中,多个时间序列可以基于重复矩阵S

本申请实施例中,在得到进行数据增广处理后的矩阵后,可以在时间维度上对进行数据增广处理后的矩阵进行拆分,得到多个矩阵切片,例如图4b中示出的,每个矩阵切片的规格为I×τ,目标张量由多个矩阵切片组成,在图4b的示例中,目标张量的维度为3,时间序列的维度为2,目标张量的维度大于时间序列的维度。

示例性的,若时间序列的数量I为1000,每条时间序列的长度T为40,即I=1000,T=40,设置参数τ=5,沿着时间维度经MDT变换后,得到一个1000*5*(40-5+1)=1000*5*36的三维目标张量。需要说明的是,上述仅为一种示例,并不构成对本申请的限定。

本申请实施例中,块汉克尔张量BHT具有良好的结构特性,比如低秩或平滑,这比原始数据(多条时间序列)更容易学习和训练。

需要说明的是,本申请实施例中,只对时间维度上做了MDT变换,因为多个时间序列在其他非时间维度上的相邻关系并不很强相关(换句话说,可以任意置换不同时间序列之间的排序),因此对多个时间序列在非时间维度上实施MDT变换的意义不大,反而会增加计算量。

本申请实施例中,也可以在时间维度上不对多个时间序列进行数据增广处理,例如,若针对于一些数据量比较充足的时间序列来说,可以直接在时间维度上对时间序列进行拆分,得到多个矩阵切片,目标张量由多个矩阵切片组成。

需要说明的是,以上仅仅以MDT变换为例说明了如何将多条时间序列沿着时间维度转换为目标张量,然而在实际应用中,也可以用其他方法,例如傅里叶变换、小波变换、经验模态分解(empirical mode decomposition,EMD)等方式将多条时间序列转换为目标张量,本实施例并不限定。

303、通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。

本申请实施例中,在将所述多条时间序列映射成对应的目标张量,所述目标张量的维度大于所述时间序列的维度之后,可以通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括每条时间序列在所述时间维度上的数据预测值,或者也可以先对所述目标张量进行张量分解,得到核心张量,再通过第一预测模型对所述核心张量进行处理,得到所述预测结果,其中所述预测结果包括每条时间序列在所述时间维度上的数据预测值。

本申请实施例中,在得到目标张量后,可以对所述目标张量进行张量分解,得到核心张量,由于核心张量core tensors比原来的数据(目标张量)可以更容易被捕捉到内在的时间相关性,能够降低第一预测模型在训练过程中的计算量和存储需求量,因而其可以被直接用来训练第一预测模型。

接下来说明如何对所述目标张量进行张量分解:

在一种实施例中,可以基于映射矩阵对所述目标张量进行Tucker分解,Tucker分解需要一组共用的映射矩阵,现有技术中,会对映射矩阵在每个维度方向上加以约束,参照如下公式:(U为映射矩阵)

本申请实施例中,可以不在时间维度上加正交约束,即是

本申请实施例中,第一预测模型可以为基于核心张量进行训练得到的。在一种实施例中,第一预测模型可以为支持张量输入的差分整合移动平均自回归ARIMA模型,具体的,在得到块汉克尔张量BHT后,可以使用Tucker张量分解得到核心张量core tensors,并通过第一预测模型ARIMA对所述核心张量进行处理,得到第一张量(新的核心张量),然后通过Tucker张量分解逆变换对所述第一张量进行处理,得到第二张量(新的目标张量),将所述第二张量映射为多条预测结果序列(例如通过MDT逆变换得到多条时间序列中每条时间序列的预测值)。

例如,基于MDT变换后得到1000*5*36的目标张量,通过Tucker分解得到核心张量(假设核心张量的秩大小设置为【50,4】),得到一个50*4*36的核心张量,通过ARIMA预测后得到大小50*4*37的新核心张量(第一张量),通过张量分解逆变换得到1000*5*37的第二张量,再通过MDT逆变换得到1000*41的预测结果,预测结果包括多条预测结果序列,每条预测结果序列对应于一条时间序列,所述预测结果序列包括对应的时间序列在时间维度上的数据预测值,即可以由预测结果输出1000条时间序列的第41个时间点的数据预测值。

示例性的,参照图5,图5为本申请实施例提供的一种数据预测方法的实施例流程示意,如图5示出的那样,X

本申请实施例中,通过将多个时间序列映射为高阶多维的目标张量,改善了预测模型输入,可以使得预测模型学习到多个时间序列之间的关联关系,提高了预测模型的预测精度。

本申请实施例中,在时间维度上数据增广处理所述多条时间序列,针对于小样本时间序列,因为其数量非常有限的信息,现有技术无法直接使用时间序列作为预测模型训练和执行的输入,或者无法取得较好的预测结果,本申请实施例中进行数据增广处理后的时间序列,在时间维度上的数据数量相比于未经过数据增广处理的时间序列在时间维度上的数据数量大大增加,可以提高预测模型的预测精度。

本申请实施例中,使用张量分解后得到的核心张量训练模型,以及在进行数据预测时,作为预测模型的输入,由于核心张量core tensors比原来的数据(目标张量)可以更容易被捕捉到内在的时间相关性,能够降低第一预测模型在训练过程中的计算量和存储需求量。

需要说明的是,本实施例中,将所述多条时间序列映射成对应的目标张量的方法仅为一种示意,并不构成对本申请的限定,在实际应用中,可以将上述实施例中的MDT变换技术换成其他比如小波变换或其他变换技术。

需要说明的是,本实施例中,对所述目标张量进行张量分解的方法仅为一种示意,并不构成对本申请的限定,在实际应用中,可以将Tucker分解换成其他张量分解方法比如CP分解(candecomp parafac)或奇异值分解(singular value decomposition,SVD)等张量分解模型,本申请并不限定。

需要说明的是,本实施例中,第一预测模型的类型并不限定于上述ARIMA模型,也可以为自回归(auto regressive,AR)、支持向量回归(support vector regression,SVR)等预测模型,本申请并不限定。

本申请实施例中,获取多条时间序列,其中每条时间序列包括在时间维度上排列的数据,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系;将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。通过上述方式,将多个时间序列映射为高阶多维的目标张量,改善了预测模型输入,可以使得预测模型学习到多个时间序列之间的关联关系,提高了预测模型的预测精度。

请先参阅图6,图6为本申请实施例提供的数据处理系统的一种系统架构图,在图6中,数据处理系统200包括执行设备210、训练设备220、数据库230、客户设备240和数据存储系统250,执行设备210中包括计算模块211。

其中,数据库230中存储有多条时间序列,训练设备220生成用于处理多条时间序列的目标模型/规则201,并利用数据库中的多条时间序列对目标模型/规则201进行迭代训练,得到成熟的目标模型/规则201。本申请实施例中以目标模型/规则201为第一预测模型为例进行说明。

训练设备220得到的第一预测模型可以应用不同的系统或设备中,例如手机、平板、笔记本电脑等等。其中,执行设备210可以调用数据存储系统250中的数据、代码等,也可以将数据、指令等存入数据存储系统250中。数据存储系统250可以置于执行设备210中,也可以为数据存储系统250相对执行设备210是外部存储器。

计算模块211可以通过第一预测模型对客户设备240接收的多条时间序列进行映射成对应的目标张量,所述目标张量的维度大于所述时间序列的维度,并通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括每条时间序列在所述时间维度上的数据预测值。

本申请的一些实施例中,请参阅图6,执行设备210和客户设备240可以为分别独立的设备,执行设备210配置有I/O接口212,与客户设备240进行数据交互,“用户”可以通过客户设备240向I/O接口212输入多条时间序列,执行设备210通过I/O接口212将数据预测值返回给客户设备240,提供给用户。

值得注意的,图6仅是本发明实施例提供的一种数据处理系统的架构示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在本申请的另一些实施例中,执行设备210可以配置于客户设备240中,作为示例,例如当客户设备为手机或平板时,执行设备210可以为手机或平板的主处理器(Host CPU)中用于进行数据预测的模块,执行设备210也可以为手机或平板中的处理器或者神经网络处理器(NPU),NPU作为协处理器挂载到主处理器上,由主处理器分配任务。

结合上述描述,下面开始对本申请实施例提供的数据预测方法的训练阶段的具体实现流程进行描述。

一、训练阶段

本申请实施例中,训练阶段描述的是训练设备220如何利用数据库230中维护的多条时间序列和和每条时间序列对应的目标数据得到第一预测模型的过程,具体的,请参阅图7,图7为本申请实施例提供的数据预测方法的一种流程示意图,本申请实施例提供的数据预测方法可以包括:

701、训练设备获取多条时间序列和每条时间序列对应的目标数据,其中每条时间序列包括在时间维度上排列的多个第一数据,所述目标数据在时间维度上位于每条时间序列包括的所述多个第一数据之后,所述多条时间序列具有相同的维度,所述多条时间序列包括的第一数据在时间维度上的变化具有关联关系。

本申请的一些实施例中,训练设备上需要预先存储有多条时间序列和和每条时间序列对应的目标数据,则在对第二预测模型进行训练之前,先获取多条时间序列和和每条时间序列对应的目标数据,所述多条时间序列和和每条时间序列对应的目标数据用于供训练设备对第二预测模型进行训练。

具体的,每条时间序列包括在时间维度上排列的多个第一数据,所述目标数据在时间维度上位于每条时间序列包括的所述多个第一数据之后,例如,一个时间序列包括多个按照时间先后排列的第一数据(A1,A2,A3,A4,A5),目标数据A6在时间维度上位于上述多个第一数据之后,即A1,A2,A3,A4,A5,A6也可以组成一个时间序列。

702、训练设备将所述时间序列映射成目标张量,所述目标张量的维度大于所述时间序列的维度,所述目标张量包含所述多条时间序列包括的数据。

本申请实施例中,训练设备在获取多条时间序列和和每条时间序列对应的目标数据,每条时间序列包括在时间维度上排列的多个第一数据,所述目标数据在时间维度上位于每条时间序列包括的所述多个第一数据之后,可以将所述多条时间序列映射成对应的目标张量,所述目标张量的维度大于所述时间序列的维度。

具体的,可以在所述时间维度上数据增广处理所述多条时间序列,以增加时间序列在时间维度上的数据数量,并将数据增广处理后的所述多条时间序列映射为对应的目标张量。

本申请实施例中,可以使用变换技术(或称为空间重构技术)将多条时间序列转换为目标张量,其中所述目标张量的维度大于所述时间序列的维度。具体的,可以使用多维延时嵌入变换(multi-way delay embedding transform,MDT)、傅里叶变换、小波变换、经验模态分解(empirical mode decomposition,EMD)等方式将多条时间序列转换为目标张量。

703、训练设备通过第二预测模型对所述目标张量进行处理得到预测结果,其中,所述第二预测模型为未执行过迭代训练的模型,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。

本申请的一些实施例中,训练设备在对第二预测模型进行训练之前,需要初始化一个第二预测模型,也即第二预测模型为未执行过迭代训练的时间序列预测模型,进而可以将多条时间序列输入到第二预测模型中,以通过第二预测模型对多条时间序列进行处理,从而得到预测结果。

本申请实施例中,在将所述多条时间序列映射成对应的目标张量,所述目标张量的维度大于所述时间序列的维度之后,可以通过第二预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括每条时间序列在所述时间维度上的数据预测值,或者也可以先对所述目标张量进行张量分解,得到核心张量,再通过第二预测模型对所述核心张量进行处理,得到所述预测结果,其中所述预测结果包括每条时间序列在所述时间维度上的数据预测值。

本申请实施例中,在得到目标张量后,可以对所述目标张量进行张量分解,得到核心张量,由于核心张量core tensors比原来的数据(目标张量)可以更容易被捕捉到内在的时间相关性,能够降低第一预测模型在训练过程中的计算量和存储需求量,因而其可以被直接用来训练第二预测模型。

704、训练设备根据每条时间序列在时间维度上的数据预测值和对应的目标数据,利用第一损失函数对所述第二预测模型进行迭代训练,直至每条时间序列在所述时间维度上的数据预测值和对应的目标数据的相似度达到第一预设程度。

本申请的一些实施例中,训练设备在获取到述每条时间序列在所述时间维度上的数据预测值之后,可以将述每条时间序列在所述时间维度上的数据预测值和所述每条时间序列对应的目标数据进行对比,并通过第一损失函数对第二预测模型进行迭代训练,直至所述每条时间序列在所述时间维度上的数据预测值和所述每条时间序列对应的目标数据的相似度达到第一预设程度。

应当理解,只要第一损失函数是在数据大小的维度上能表示出数据预测值和目标数据之间的差异即可,对于第一损失函数的具体表现形式,此处不做限定。

705、训练设备输出第一预测模型,所述第一预测模型为所述第二预测模型执行过迭代训练后得到的模型。

本申请的一些实施例中,训练设备在对第二预测模型执行多次迭代操作之后,可以输出第一预测模型,其中,第一预测模型是一个泛指的概念,指的是对预测精度较低的第二预测模型执行过迭代训练后得到的预测模型。

本申请的一些实施例中,训练设备在输出第一预测模型之后,可以向执行设备发送第一预测模型。

可选的,多条时间序列包括第一时间序列和第二时间序列,所述第一时间序列包括的第一数据用于表示第一对象的第一特性在时间维度上的变化,所述第二时间序列包括的第一数据用于表示第二对象的所述第一特性在时间维度上的变化,所述第一对象和所述第二对象在第一特征上存在关联关系。

可选的,多条时间序列包括第三时间序列和第四时间序列,所述第三时间序列包括的第一数据用于表示第三对象的第二特性在时间维度上的变化,所述第四时间序列包括的第一数据用于表示所述第三对象的第三特性在时间维度上的变化,所述第三对象的第二特性和所述第三对象的第三特性存在关联关系。

在图1至图7所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图8,图8为本申请实施例提供的执行设备的一种结构示意图,执行设备800包括:获取模块801,用于获取多条时间序列,其中每条时间序列包括在时间维度上排列的数据,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系;映射模块802,用于将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;预测模块803,用于通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。

本申请实施例中,获取模块801获取多条时间序列,其中每条时间序列包括在时间维度上排列的数据,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系;映射模块802将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;预测模块803通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。本申请实施例中,通过将多个时间序列映射为高阶多维的目标张量,改善了预测模型输入,可以使得预测模型学习到多个时间序列之间的关联关系,提高了预测模型的预测精度。

在一种可能的设计中,多条时间序列包括第一时间序列和第二时间序列,所述第一时间序列包括的数据用于表示第一对象的第一特性在时间维度上的变化,所述第二时间序列包括的数据用于表示第二对象的所述第一特性在时间维度上的变化,所述第一对象和所述第二对象在第一特征上存在关联关系。

本申请实施例中,时间序列中包括对应于第一对象的第一时间序列,以及对应于第二对象的第二时间序列,第一时间序列表示第一对象在时间维度上的第一特性,第一特征可以是需求量或者是销售量等,第一时间序列可以表示第一对象在时间维度上的需求量或者是销售量的变化,例如,第一时间序列可以是第一对象过去一年内每个月的销售量。第二时间序列可以表示第二对象在时间维度上的需求量或者是销售量的变化,例如,第二时间序列可以是第二对象过去一年内每个月的销售量,第一对象和第二对象在第一特征上存在关联关系,即,第一对象和第二对象之间具有如图2示出的产品之间的关联关系,例如,第一对象和第二对象在销售量上具有关联关系或者在需求量上具有关联关系,这里并不限定。需要说明的是,上述关联关系为第一对象和第二对象本身具有的。

在一种可能的设计中,多条时间序列包括第三时间序列和第四时间序列,所述第三时间序列包括的数据用于表示第三对象的第二特性在时间维度上的变化,所述第四时间序列包括的数据用于表示所述第三对象的第三特性在时间维度上的变化,所述第三对象的第二特性和所述第三对象的第三特性存在关联关系。

本申请实施例中,多条时间序列中可以包括对应于第三对象的第三时间序列和第四时间序列,第三时间序列为第三对象的第二特性的时间序列,第三特征可以是需求量或者是销售量等,第三时间序列可以表示第三对象在时间维度上的需求量或者是销售量的变化,例如,第三时间序列可以是第三对象过去一年内每个月的销售量。第四时间序列可以表示第三对象在时间维度上的需求量或者是销售量的变化,例如,第四时间序列可以是第三对象过去一年内每个月的需求量,第三对象的第二特征和第三特性存在关联关系,例如,第三对象的销售量和需求量具有关联关系。

在一种可能的设计中,所述预测模块803,具体用于:对所述目标张量进行张量分解,得到核心张量;通过所述第一预测模型对所述核心张量进行处理,得到所述预测结果。本申请实施例中,使用张量分解后得到的核心张量训练模型,以及在进行数据预测时,作为预测模型的输入,由于核心张量core tensors比原来的数据(目标张量)可以更容易被捕捉到内在的时间相关性,能够降低第一预测模型在训练过程中的计算量和存储需求量。

在一种可能的设计中,所述预测模块803,具体用于:通过所述第一预测模型对所述核心张量进行处理,得到第一张量;通过张量分解逆变换对所述第一张量进行处理,得到第二张量;将所述第二张量映射为多条预测结果序列,其中每条预测结果序列对应于一条时间序列,所述预测结果序列包括对应的时间序列在时间维度上的数据预测值。

在一种可能的设计中,所述预测模块803,具体用于:基于映射矩阵对所述目标张量进行Tucker分解,其中,在所述Tucker分解时,所述映射矩阵在时间维度上无正交约束。

本申请实施例中,可以不在时间维度上加正交约束,其他度的正交约束不变,通过上述方式,使得预测模型对输入参数更具鲁棒性,表现也更平稳。需要说明的是,本实施例中,对所述目标张量进行张量分解的方法仅为一种示意,并不构成对本申请的限定,在实际应用中,可以将Tucker分解换成其他张量分解方法比如CP分解(candecomp parafac)或截断奇异值分解(truncated singular value decomposition,TSVD)等张量分解模型,本申请并不限定。

在一种可能的设计中,所述映射模块802,具体用于:在所述时间维度上数据增广处理多条时间序列;将数据增广处理后的多条时间序列映射为对应的目标张量。本申请实施例中,在时间维度上数据增广处理所述多条时间序列,针对于小样本时间序列,因为其数量非常有限的信息,现有技术无法直接使用时间序列作为预测模型训练和执行的输入,或者无法取得较好的预测结果,本申请实施例中进行数据增广处理后的时间序列,在时间维度上的数据数量相比于未经过数据增广处理的时间序列在时间维度上的数据数量大大增加,可以提高预测模型的预测精度。

在一种可能的设计中,所述映射模块802,具体用于:在时间维度上通过多维延时嵌入变换MDT将多条时间序列映射成对应的目标张量,所述目标张量为块汉克尔张量BHT。

在一种可能的设计中,所述第一预测模型为支持张量输入的差分整合移动平均自回归ARIMA模型。需要说明的是,本实施例中,第一预测模型的类型并不限定于上述ARIMA模型,也可以为自回归(auto regressive,AR)、近邻(nearest neighbors,NN)等预测模型,本申请并不限定。

需要说明的是,执行设备800中各模块/单元之间的信息交互、执行过程等内容,与本申请中图3对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供一种训练设备,请参阅图9,图9为本申请实施例提供的训练设备的一种结构示意图,训练设备900包括:

获取模块901,用于获取多条时间序列和每条时间序列对应的目标数据,其中每条时间序列包括在时间维度上排列的多个第一数据,所述目标数据在时间维度上位于每条时间序列包括的所述多个第一数据之后,所述多条时间序列具有相同的维度,所述多条时间序列包括的第一数据在时间维度上的变化具有关联关系;

映射模块902,用于将所述时间序列映射成目标张量,所述目标张量的维度大于所述时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;

预测模块903,用于通过第二预测模型对所述目标张量进行处理得到预测结果,其中,所述第二预测模型为未执行过迭代训练的模型,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值;

迭代训练模块904,用于根据每条时间序列在时间维度上的数据预测值和对应的目标数据,利用第一损失函数对所述第二预测模型进行迭代训练,直至每条时间序列在所述时间维度上的数据预测值和对应的目标数据的相似度达到第一预设程度;

输出模块905,用于输出第一预测模型,所述第一预测模型为所述第二预测模型执行过迭代训练后得到的模型。

本申请实施例中,获取模块901,用于获取多条时间序列和每条时间序列对应的目标数据,其中每条时间序列包括在时间维度上排列的多个第一数据,所述目标数据在时间维度上位于每条时间序列包括的所述多个第一数据之后,所述多条时间序列具有相同的维度,所述多条时间序列包括的第一数据在时间维度上的变化具有关联关系;映射模块902,用于将所述时间序列映射成目标张量,所述目标张量的维度大于所述时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;预测模块903,用于通过第二预测模型对所述目标张量进行处理得到预测结果,其中,所述第二预测模型为未执行过迭代训练的模型,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值;迭代训练模块904,用于根据每条时间序列在时间维度上的数据预测值和对应的目标数据,利用第一损失函数对所述第二预测模型进行迭代训练,直至每条时间序列在所述时间维度上的数据预测值和对应的目标数据的相似度达到第一预设程度;输出模块905,用于输出第一预测模型,所述第一预测模型为所述第二预测模型执行过迭代训练后得到的模型。

需要说明的是,训练设备900中各模块/单元之间的信息交互、执行过程等内容,与本申请中图7对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

接下来介绍本申请实施例提供的一种执行设备,请参阅图10,图10为本申请实施例提供的执行设备的一种结构示意图,执行设备1000具体可以表现为手机、平板、笔记本电脑、服务器等,此处不做限定。其中,执行设备1000上可以部署有图8对应实施例中所描述的执行设备800,用于实现图8对应实施例中执行设备800的功能。具体的,执行设备1000包括:接收器1001、发射器1002、处理器1003和存储器1004(其中执行设备1000中的处理器1003的数量可以一个或多个,图10中以一个处理器为例),其中,处理器1003可以包括应用处理器10031和通信处理器10032。在本申请的一些实施例中,接收器1001、发射器1002、处理器1003和存储器1004可通过总线或其它方式连接。

存储器1004可以包括只读存储器和随机存取存储器,并向处理器1003提供指令和数据。存储器1004的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1004存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。

处理器1003控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。

上述本申请实施例揭示的方法可以应用于处理器1003中,或者由处理器1003实现。处理器1003可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1003中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1003可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1003可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1004,处理器1003读取存储器1004中的信息,结合其硬件完成上述方法的步骤。

接收器1001可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1002可用于通过第一接口输出数字或字符信息;发射器1002还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1002还可以包括显示屏等显示设备。

本申请实施例中,在一种情况下,处理器1003,用于执行图8对应实施例中的执行设备800执行的数据预测方法。具体的,应用处理器10031,用于获取多条时间序列,其中每条时间序列包括在时间维度上排列的数据,所述多条时间序列具有相同的维度,所述多条时间序列包括的数据在时间维度上的变化具有关联关系;将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;通过第一预测模型对所述目标张量进行处理得到预测结果,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值。

一种可选实现中,多条时间序列包括第一时间序列和第二时间序列,所述第一时间序列包括的数据用于表示第一对象的第一特性在时间维度上的变化,所述第二时间序列包括的数据用于表示第二对象的所述第一特性在时间维度上的变化,所述第一对象和所述第二对象在第一特征上存在关联关系。

一种可选实现中,多条时间序列包括第三时间序列和第四时间序列,所述第三时间序列包括的数据用于表示第三对象的第二特性在时间维度上的变化,所述第四时间序列包括的数据用于表示所述第三对象的第三特性在时间维度上的变化,所述第三对象的第二特性和所述第三对象的第三特性存在关联关系。

一种可选实现中,应用处理器10031,用于对所述目标张量进行张量分解,得到核心张量;通过所述第一预测模型对所述核心张量进行处理,得到所述预测结果。本申请实施例中,使用张量分解后得到的核心张量训练模型,以及在进行数据预测时,作为预测模型的输入,由于核心张量core tensors比原来的数据(目标张量)可以更容易被捕捉到内在的时间相关性,能够降低第一预测模型在训练过程中的计算量和存储需求量。

一种可选实现中,应用处理器10031,用于通过所述第一预测模型对所述核心张量进行处理,得到第一张量;通过张量分解逆变换对所述第一张量进行处理,得到第二张量;将所述第二张量映射为多条预测结果序列,其中每条预测结果序列对应于一条时间序列,所述预测结果序列包括对应的时间序列在时间维度上的数据预测值。

一种可选实现中,应用处理器10031,用于基于映射矩阵对所述目标张量进行Tucker分解,其中,在所述Tucker分解时,所述映射矩阵在时间维度上无正交约束。

一种可选实现中,一种可选实现中,在所述时间维度上数据增广处理多条时间序列;将数据增广处理后的多条时间序列映射为对应的目标张量。本申请实施例中,在时间维度上数据增广处理所述多条时间序列,针对于小样本时间序列,因为其数量非常有限的信息,现有技术无法直接使用时间序列作为预测模型训练和执行的输入,或者无法取得较好的预测结果,本申请实施例中进行数据增广处理后的时间序列,在时间维度上的数据数量相比于未经过数据增广处理的时间序列在时间维度上的数据数量大大增加,可以提高预测模型的预测精度。

一种可选实现中,应用处理器10031,用于在时间维度上通过多维延时嵌入变换MDT将多条时间序列映射为所述目标张量。

一种可选实现中,所述第一预测模型为支持张量输入的差分整合移动平均自回归ARIMA模型。

需要说明的是,应用处理器10031执行上述各个步骤的具体方式,与本申请中图3对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图3对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供了一种训练设备,请参阅图11,图11是本申请实施例提供的训练设备一种结构示意图,训练设备1100上可以部署有图9对应实施例中所描述的训练设备900,用于实现图9对应实施例中训练设备900的功能,具体的,训练设备1100由一个或多个服务器实现,训练设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在训练设备1100上执行存储介质1130中的一系列指令操作。

训练设备1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

本申请实施例中,中央处理器1122,用于执行图9对应实施例中的训练设备执行的数据预测方法。具体的,中央处理器1122,用于获取多条时间序列和每条时间序列对应的目标数据,其中每条时间序列包括在时间维度上排列的多个第一数据,所述目标数据在时间维度上位于每条时间序列包括的所述多个第一数据之后,所述多条时间序列具有相同的维度,所述多条时间序列包括的第一数据在时间维度上的变化具有关联关系;将所述多条时间序列映射成目标张量,所述目标张量的维度大于时间序列的维度,所述目标张量包含所述多条时间序列包括的数据;通过第二预测模型对所述目标张量进行处理得到预测结果,其中,所述第二预测模型为未执行过迭代训练的模型,所述预测结果包括所述多条时间序列中每条时间序列在时间维度上的数据预测值;根据每条时间序列在时间维度上的数据预测值和对应的目标数据,利用第一损失函数对所述第二预测模型进行迭代训练,直至每条时间序列在所述时间维度上的数据预测值和对应的目标数据的相似度达到第一预设程度;输出第一预测模型,所述第一预测模型为所述第二预测模型执行过迭代训练后得到的模型。

需要说明的是,中央处理器1122执行上述各个步骤的具体方式,与本申请中图7对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图7对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图8所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图10所示实施例描述的方法中训练设备所执行的步骤。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述图8所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图10所示实施例描述的方法中训练设备所执行的步骤。

本申请实施例提供的执行设备、训练设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述图8所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图10所示实施例描述的方法中训练设备所执行的步骤。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。

具体的,请参阅图12,图12为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 1200,NPU 1200作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1203,通过控制器1204控制运算电路1203提取存储器中的矩阵数据并进行乘法运算。

在一些实现中,运算电路1203内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1203是二维脉动阵列。运算电路1203还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1203是通用的矩阵处理器。

举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1202中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1201中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1208中。

统一存储器1206用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1205,DMAC被搬运到权重存储器1202中。输入数据也通过DMAC被搬运到统一存储器1206中。

BIU为Bus Interface Unit即,总线接口单元1210,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1209的交互。

总线接口单元1210(Bus Interface Unit,简称BIU),用于取指存储器1209从外部存储器获取指令,还用于存储单元访问控制器1205从外部存储器获取输入矩阵A或者权重矩阵B的原数据。

DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1206或将权重数据搬运到权重存储器1202中或将输入数据数据搬运到输入存储器1201中。

向量计算单元1207包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。

在一些实现中,向量计算单元1207能将经处理的输出的向量存储到统一存储器1206。例如,向量计算单元1207可以将线性函数和/或非线性函数应用到运算电路1203的输出,例如对卷积层提取的特征平面进行线性数据增广,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1207生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1203的激活输入,例如用于在神经网络中的后续层中的使用。

控制器1204连接的取指存储器(instruction fetch buffer)1209,用于存储控制器1204使用的指令;

统一存储器1206,输入存储器1201,权重存储器1202以及取指存储器1209均为On-Chip存储器。外部存储器私有于该NPU硬件架构。

其中,图7和图8所示的高维卷积神经网络中各层的运算可以由运算电路1203或向量计算单元1207执行。

其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

相关技术
  • 一种数据预测方法以及相关设备
  • 针对数据偏移的目标对象行为预测方法及其相关设备
技术分类

06120113006838