一种负荷预测的方法及装置与流程

文档序号:20491873发布日期:2020-04-21 22:06阅读:109来源:国知局
一种负荷预测的方法及装置与流程

本发明涉及智慧能源技术领域,尤其涉及一种负荷预测的方法及装置。



背景技术:

在智慧能源系统中,要实现能源系统的智能化,就需要获取能源系统中的多种负荷数据,进而对这些负荷数据进行数据建模、分析和运用,以能够实现能源系统的负荷预测。但是,每种负荷的时间序列数据都有其各自的特点,因此不同的数据要用到不同的算法去分析,当有成百上千的不同时间序列数据时,会给数据分析带来很大的工作量,目前没有很好的通用算法去解决不同的时间序列问题。



技术实现要素:

本发明提供一种负荷预测的方法及装置,使算法根据不同的时间序列数据的特点自身能够合理的去匹配时间序列预测算法去分析时间序列数据。

第一方面,本发明提供了一种负荷预测的方法,所述方法包括:

获取时间序列数据,以将所述时间序列数据分为训练集和测试集;

基于所述训练集、测试集和预设算法池确定负荷预测模型,其中,所述预设算法池包括至少两种的预设算法;

利用所述负荷预测模型,得到所述时间序列数据的预测算法;

根据所述时间序列数据的预测算法,以待预测的时间序列数据作为输入数据,得到负荷预测数据的结果。

优选地,

所述基于所述训练集、测试集和预设算法池确定负荷预测模型包括:

基于所述训练集中的每条时间序列数据对所述预设算法池中的所有算法分别进行训练,得到训练后的算法;

根据所述测试集中的每条时间序列数据和所述训练后的算法,得到预测结果;

基于所述测试集中的所述每条时间序列数据以及该时间序列数据对应的所述预测结果确定该条时间序列数据对应算法标签,其中,每个算法标签对应一种算法;

通过所述测试集中任一时间序列数据与其对应的算法标签确定所述负荷预测模型。

优选地,

所述基于所述测试集中的所述每条时间序列数据以及该时间序列数据对应的所述预测结果确定该条时间序列数据对应算法标签包括:

针对所述测试集中的所有时间序列数据,确定每条时间序列数据和与其对应的所述预测结果的均方根误差;

确定所述时间序列数据对应的所述均方根误差的大小;

选择所述均方根误差最小的所述时间序列数据对应的算法作为该条时间序列数据对应的算法标签。

优选地,

所述均方根误差通过如下公式确定:

其中,n表示所述测试集中所述时间序列数据的个数,yi表示第i个所述时间序列数据,表示第i个所述时间序列数据对应的预测结果。

优选地,

所述基于所述训练集、测试集和预设算法池,确定负荷预测模型之前,所述方法还包括:

分别提取所述训练集的预设个维度的数据特征。

优选地,

所述基于所述训练集中的每条时间序列数据对所述预设算法池中的所有算法分别进行训练,得到训练后的算法包括:

利用第一预设算法对所述训练集的预设个维度的数据特征进行聚类,以得到k个分类器;

基于所述测试集并利用第二预设算法对所述k个分类器进行聚类预测,以得到聚类预测后的所述时间序列数据;

以所述聚类预测后的所述时间序列数据作为所述预设算法池中任一预设算法的输入训练该预设算法,以得到训练后的算法。

优选地,

所述以待预测的时间序列数据作为所述负荷预测模型的输入,得到负荷预测结果包括:

提取所述待预测的时间序列数据的预设个维度的数据特征;

利用所述第三预设算法对所述待预测的时间序列数据的预设个维度的数据特征进行聚类,以得到所述预测集的至少一个聚类数据;

基于任一所述聚类数据查找与其对应的所述训练后的算法;

利用所述查找到的所述训练后的算法对所述待预测的时间序列进行预测,得到负荷预测结果。

优选地,

所述利用所述负荷预测模型,得到所述时间序列数据的预测算法,包括:

根据所述负荷预测模型对所述训练集、测试集中的每条时间序列数据进行预测,以得到每条所述时间序列数据的均方根误差;

确定所述均方根误差最小的所述时间序列数据对应的算法为所述时间序列数据的预测算法。

第二方面,本发明提供了一种负荷预测的装置,所述装置包括:

获取模块,用于获取时间序列数据,以将所述时间序列数据分为训练集和测试集;

模型确定模块,用于基于所述训练集、测试集和预设算法池确定负荷预测模型,其中,所述预设算法池包含至少两种的预设算法;

预测算法确定模块,用于利用所述负荷预测模型,得到所述时间序列数据的预测算法;

预测模块,用于根据所述时间序列数据的预测算法,以待预测的时间序列数据作为输入数据,得到负荷预测数据的结果。

优选地,

所述预测算法确定模块,包括:

预测单元,用于根据所述负荷预测模型对所述训练集、测试集中的每条时间序列数据进行预测,以得到每条所述时间序列数据的均方根误差;

确定单元,用于确定所述均方根误差最小的所述时间序列数据对应的算法为所述时间序列数据的预测算法。

本发明提供了一种负荷预测的方法及装置,基于训练集、测试集和预设的多种算法,建立时间序列数据与算法的对应关系而得到负荷预测模型,基于该负荷预测模型,可以根据不同的时间序列数据的特点自身能够合理的去匹配时间序列预测算法,进而得到负荷预测结果,从而在时间序列数据类型较多、数量计算工作量很大时,能够降低人力成本和提高计算机的运算效率。

附图说明

为了更清楚地说明本说明书实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的一种负荷预测的方法的流程示意图;

图2为本发明一实施例提供的一种负荷预测的装置的结构示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本说明书的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

智慧能源系统中,时间序列数据预测的算法有很多,比如平滑指数、arima、神经网络等等,每个时间序列数据由于自身的特点都会有一个最适合它的算法,本发明通过训练时间序列数据和最适合此数据的负荷预测算法之间的一个映射关系,当有一个类型的时间序列数据时,通过算法就可以找到适合它的最好的预测算法,这样可以省去对数据进行分析来找到最适合它的预测算法的大量人工成本。

图1为本发明一实施例提供的一种负荷预测的方法的流程示意图。

如图1所示,本发明实施例提供的一种负荷预测的方法,可以包括如下步骤:

步骤102,获取时间序列数据,以将时间序列数据分为训练集和测试集。

本步骤中,可以从各类能源监测传感器中获取各类负荷相关的时间序列数据。综合获取到的所有时间序列数据,并分别划分为训练集数据和测试集数据。例如,可以将所有的时间序列数据随机地一分为二,一部分为训练集数据,另一部分则为测试集数据。

步骤104,基于训练集、测试集和预设算法池确定负荷预测模型,其中,预设算法池包含至少两种的预设算法。

示例性地,本步骤可以实现为如下步骤:步骤a、基于所述训练集中的每条时间序列数据对所述预设算法池中的所有算法分别进行训练,得到训练后的算法;步骤b、根据所述测试集中的每条时间序列数据和所述训练后的算法,得到预测结果;步骤c、基于所述测试集中的所述每条时间序列数据以及该时间序列数据对应的所述预测结果确定该条时间序列数据对应算法标签,其中,每个算法标签对应一种算法;步骤d、通过所述测试集中任一时间序列数据与其对应的算法标签确定所述负荷预测模型。

进一步地,步骤c中基于所述测试集中的所述每条时间序列数据以及该时间序列数据对应的所述预测结果确定该条时间序列数据对应算法标签,其中,每个算法标签对应一种算法可以实现为:步骤c1、针对所述测试集中的所有时间序列数据,确定每条时间序列数据和与其对应的所述预测结果的均方根误差;

步骤c2、比较所有所述时间序列数据对应的所述均方根误差的大小;步骤c3、选择所述均方根误差最小的所述时间序列数据对应的算法作为该条时间序列数据对应的算法标签。其中,关于均方根误差可以通过如下公式确定:

其中,n表示所述测试集中所述时间序列数据的个数,yi表示第i个所述时间序列数据,表示第i个所述时间序列数据对应的预测结果。

根据本发明另一实施例,本发明还可以包括:所述获取时间序列数据,以将所述时间序列数据分为训练集和测试集之后,分别提取所述训练集的预设个维度的数据特征。进一步地,步骤a可以包括如下步骤:步骤a1、利用第一预设算法对所述训练集的预设个维度的数据特征进行聚类,以得到所述训练集的聚类个数;步骤a2、基于所述训练集的聚类个数,利用第二预设算法对所述训练集的所有时间序列数据进行聚类,以得到聚类后的所述时间序列数据;步骤a3、以所述聚类后的所述时间序列数据作为所述预设算法池中任一预设算法的输入,以训练该预设算法,得到训练后的算法。

其中,第一预设算法例如为two-step算法,第二预设算法例如为kmeans算法。示例性地,上述步骤运行过程例如为用two-step算法对训练集数据提取的预设个维度(例如42个维度)特征进行聚类,得到聚类数k(k是常数),然后选用kmeans算法进行k类聚类,得到k类数据,选取一个分类器,以k类数据作为训练数据对该分类器(例如,梯度提升回归树)进行训练,其中,训练数据除了k类数据还包括有与该类数据中每个时间序列数据对应的预测算法(例如,预设算法池中的预设算法,或者各预设算法对应的标签)。

示例性地,训练后的算法可以理解为一个分类器,该分类器中包括时间序列数据和与其对应的预测算法。

步骤106,利用负荷预测模型,得到时间序列数据的预测算法。

在一些实施方式中,本步骤可以实现为根据负荷预测模型对训练集、测试集中的每条时间序列数据进行预测,以得到每条时间序列数据的均方根误差,确定均方根误差最小的时间序列数据对应的算法为时间序列数据的预测算法。其中,均方根误差的公式可以参考前述均方根误差公式,在此不再赘述。

示例性地,例如,本发明实施例中可以包括有指数平滑(一阶指数平滑,二阶指数平滑,三阶指数平滑),ar算法(自回归算法),arima算法,svr算法,神经网络算法,随机森林回归算法,梯度提升树回归算法,线性回归算法等预设算法。针对每一种预设算法,分别对训练集和测试集的每条时间序列数据做预测,得到每条时间序列数据的rmse(均方根误差)评价指标值,然后选取rmse值最小的那个预设算法作为时间序列数据的预测算法。

步骤108,根据时间序列数据的预测算法,以待预测的时间序列数据作为输入数据,得到负荷预测数据的结果。

根据本发明实施例,本步骤可以进一步实现为如下步骤:步骤e、提取所述待预测的时间序列数据的预设个维度的数据特征;步骤f、利用所述第三预设算法对所述待预测的时间序列数据的预设个维度的数据特征进行聚类,以得到所述预测集的至少一个聚类数据;步骤g、基于任一所述聚类数据查找与其对应的所述训练后的算法;步骤h、利用所述查找到的所述训练后的算法对所述待预测的时间序列进行预测,得到负荷预测结果。

在本发明实施例中,预设算法池中的预设算法可以包括指数平滑算法、自回归算法、arima算法、svr算法、神经网络算法、随机森林回归算法、梯度提升树回归算法、线性回归算法中至少一种预设算法。其中,指数平滑算法包括但不限于一阶指数平滑、二阶指数平滑、三阶指数平滑。

本发明提供了一种负荷预测的方法,基于训练集、测试集和预设的多种算法,建立时间序列数据与算法的对应关系而得到负荷预测模型,基于该负荷预测模型,可以根据不同的时间序列数据的特点自身能够合理的去匹配时间序列预测算法,进而得到负荷预测结果,从而在时间序列数据类型较多、数量计算工作量很大时,能够降低人力成本和提高计算机的运算效率。

图2为本发明一实施例提供的一种负荷预测的装置的结构示意图。

如图2所示,本发明的一种负荷预测的装置,可以包括获取模块21、模型确定模块22、预测算法确定模块23和预测模块24。

获取模块21,用于获取时间序列数据,以将所述时间序列数据分为训练集和测试集。

模型确定模块22,用于基于所述训练集、测试集和预设算法池确定负荷预测模型,其中,所述预设算法池包括至少两种的预设算法。

预测算法确定模块23,用于利用所述负荷预测模型,得到所述时间序列数据的预测算法。

预测模块24,用于根据所述时间序列数据的预测算法,以待预测的时间序列数据作为输入数据,得到负荷预测数据的结果。

进一步地,预测算法确定模块23可以包括预测单元和确定单元。

预测单元可以用于根据所述负荷预测模型对所述训练集、测试集中的每条时间序列数据进行预测,以得到每条所述时间序列数据的均方根误差;确定单元可以用于确定所述均方根误差最小的所述时间序列数据对应的算法为所述时间序列数据的预测算法。

进一步地,所述预设算法池可以包括指数平滑算法、自回归算法、arima算法、svr算法、神经网络算法、随机森林回归算法、梯度提升树回归算法、线性回归算法中至少一种预设算法。

本发明提供了一种负荷预测的装置,基于训练集、测试集和预设的多种算法,建立时间序列数据与算法的对应关系而得到负荷预测模型,基于该负荷预测模型,可以根据不同的时间序列数据的特点自身能够合理的去匹配时间序列预测算法,进而得到负荷预测结果,从而在时间序列数据类型较多、数量计算工作量很大时,能够降低人力成本和提高计算机的运算效率。

本发明一个实施例还提供一种电子设备。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。

存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

在一种可能实现的方式中,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,也可从其它设备上获取相应的计算机程序,以在逻辑层面上形成一种基于差异演进算法的区域智慧能源网络的设备配置装置。处理器,执行存储器所存放的程序,以通过执行的程序实现本发明任一实施例中提供的一种负荷预测的方法。

上述如本说明书图1所示实施例提供的一种负荷预测的方法执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行本发明任一实施例中提供的一种负荷预测的方法,并具体用于执行如图1所示的方法。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元或模块分别描述。当然,在实施本说明书时可以把各单元或模块的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

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