本发明涉及电力负荷预测技术领域,特别是涉及一种基于循环神经网络的电力负荷预测方法、装置、设备及计算机可读存储介质。
背景技术:
精确的电力负荷预测对于保证电力系统的可靠安全运行至关重要,同时为电量生产和供电调度提供了可靠的指导。电力负荷预测传统方法有时间序列分析、回归模型和自回归移动平均模型等。由于电力负荷具有非线性的特性,而传统方法的非线性拟合能力较差,因此很难对电力负荷进行准确地预测。
近年来,因神经网络具有很强的自学习和非线性拟合能力,能够较好地解决电力负荷预测问题,神经网络在电力负荷预测中的应用已经成为热点。现有的利用神经网络进行电力负荷预测方式一般包括利用粗糙集理论对神经网络预测模型输出的预测负荷进行补偿,进而对电力负荷进行预测,或者利用基于蚁群优化算法循环神经网络进行短期负荷预测。但是两者均没有充分利用电力负荷数据中的信息,电力负荷预测的精度低。
综上所述,如何有效地解决不能充分利用电力负荷数据中的信息,电力负荷预测精度低等问题,是目前本领域技术人员急需解决的问题。
技术实现要素:
本发明的目的是提供一种基于循环神经网络的电力负荷预测方法,该方法充分利用了电力负荷数据中的信息,较大地提高了电力负荷预测精度;本发明的另一目的是提供一种基于循环神经网络的电力负荷预测装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种基于循环神经网络的电力负荷预测方法,所述电力负荷预测方法包括:
获取预存的电力负荷数据集;
将所述电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络,分别得到各层所述循环神经网络在预设时长内最后预设时刻的隐层状态;其中,每层循环神经网络所述预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入;每层循环神经网络各预设时刻的输出为当前时刻隐层状态与当前层循环神经网络输出权重矩阵的乘积;
分别将各层所述循环神经网络在所述预设时长内最后预设时刻的隐层状态输入到全连接网络,得到所述电力负荷数据集的融合特征;
利用所述融合特征预测下一预设时刻的电力负荷值。
在本发明的一种具体实施方式中,当所述电力负荷数据集中的电力负荷数据的数量级或量纲不一致时,在获取预存的电力负荷数据集之后,将所述电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络之前,还包括:
对所述电力负荷数据集中的各所述电力负荷数据进行归一化操作。
在本发明的一种具体实施方式中,在利用所述融合特征预测下一预设时刻的电力负荷值之后,还包括:
获取下一预设时刻的真实电力负荷值;
利用所述真实电力负荷值和预测出的电力负荷值检验预测过程所用电力负荷预测模型的有效性。
在本发明的一种具体实施方式中,利用所述真实电力负荷值和预测出的电力负荷值检验预测过程所用电力负荷预测模型的有效性,包括:
计算预定数量个不同预设时刻的真实电力负荷值和分别对应的预测电力负荷值的均方根误差;
利用所述均方根误差检验所述电力负荷预测模型的有效性。
在本发明的一种具体实施方式中,在计算预定数量个不同预设时刻的真实电力负荷值和分别对应的预测电力负荷值的均方根误差之后,还包括:
根据所述均方根误差对各层所述循环神经网络的参数进行梯度下降操作。
一种基于循环神经网络的电力负荷预测装置,所述电力负荷预测装置包括:
数据集获取模块,用于获取预存的电力负荷数据集;
隐层状态获得模块,用于将所述电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络,分别得到各层所述循环神经网络在预设时长内最后预设时刻的隐层状态;其中,每层循环神经网络所述预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入;每层循环神经网络各预设时刻的输出为当前时刻隐层状态与当前层循环神经网络输出权重矩阵的乘积;
融合特征获得模块,用于分别将各层所述循环神经网络在所述预设时长内最后预设时刻的隐层状态输入到全连接网络,得到所述电力负荷数据集的融合特征;
电力负荷值预测模块,用于利用所述融合特征预测下一预设时刻的电力负荷值。
在本发明的一种具体实施方式中,还包括:
归一化模块,用于当所述电力负荷数据集中的电力负荷数据的数量级或量纲不一致时,在获取预存的电力负荷数据集之后,将所述电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络之前,对所述电力负荷数据集中的各所述电力负荷数据进行归一化操作。
在本发明的一种具体实施方式中,还包括:
真实值获取模块,用于在利用所述融合特征预测下一预设时刻的电力负荷值之后,获取下一预设时刻的真实电力负荷值;
有效性检验模块,用于利用所述真实电力负荷值和预测出的电力负荷值检验预测过程所用电力负荷预测模型的有效性。
一种基于循环神经网络的电力负荷预测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述基于循环神经网络的电力负荷预测方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述基于循环神经网络的电力负荷预测方法的步骤。
应用本发明实施例所提供的方法,将获取到的电力负荷数据集依次输入到设置有不同跳跃连接的多层循环神经网络,并且每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入,分别得到各层循环神经网络在预设时长内最后预设时刻的隐层状态。分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接网络,得到电力负荷数据集的融合特征,利用融合特征预测下一预设时刻的电力负荷值。通过将各层循环神经网络设置不同跳跃连接,使得每层循环神经网络具有不同时间周期的建模能力,并且设置每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入,实现了对电力负荷数据集的多尺度时序依赖建模,捕捉电力负荷数据中的多尺度时间结构,得到融合特征,基于融合特征对电力负荷值进行预测,充分利用了电力负荷数据中的信息,较大地提高了电力负荷预测精度。
相应的,本发明实施例还提供了与上述基于循环神经网络的电力负荷预测方法相对应的基于循环神经网络的电力负荷预测装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于循环神经网络的电力负荷预测方法的一种实施流程图;
图2为本发明实施例中一种基于循环神经网络的电力负荷预测方法的网络结构图;
图3为本发明实施例中基于循环神经网络的电力负荷预测方法的另一种实施流程图;
图4为本发明实施例中一种基于循环神经网络的电力负荷预测装置的结构框图;
图5为本发明实施例中一种基于循环神经网络的电力负荷预测设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
参见图1,图1为本发明实施例中基于循环神经网络的电力负荷预测方法的一种实施流程图,该方法可以包括以下步骤:
s101:获取预存的电力负荷数据集。
在电力系统运行的过程中,可以对生成的电力负荷数据进行预先存储,形成电力负荷数据集。在需要对未来电力负荷值进行预测时,可以获取预先存储的电力负荷数据集。该电力负荷数据集可以是针对一个用户的电力负荷数据,也可以是针对一个企业或机关单位的电力负荷数据,本发明实施例对此不做限定。
s102:将电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络,分别得到各层循环神经网络在预设时长内最后预设时刻的隐层状态。
其中,每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入;每层循环神经网络各预设时刻的输出为当前时刻隐层状态与当前层循环神经网络输出权重矩阵的乘积。
可以预先逐层构建设置有不同跳跃连接的多层循环神经网络,每一层循环神经网络的每个预设时刻都存在对应的输出和隐层状态,并且每层循环神经网络各预设时刻的输出为当前时刻隐层状态与当前层循环神经网络输出权重矩阵的乘积,并且每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入。各层循环神经网络可以通过以下公式进行构建:
其中,
上述公式可以简化表示为:
从将电力负荷数据集输入到最底层循环神经网络起,向前传播的过程可以通过如下公式表示:
其中,it,t∈1,...,l表示预处理后的电力负荷数据,
通过为各层循环神经网络设置不同的跳跃连接,并将每层循环神经网络预设时长内各预设时刻的输出作为下一层循环神经网络对应时刻的输入,从而建立了各层循环神经网络的多尺度时序依赖关系。如各层循环神经网络的时间间隔可以为1天,则每经过一天为一个预设时刻,时间间隔的设定可以根据实际需要进行设定,本发明实施例对此不做限定。
在获取到电力负荷数据集之后,可以将电力负荷数据集先输入到最底层循环神经网络,将最底层循环神经网络的输出作为下一层循环神经网络的输入,以此类推,使得电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络,分别得到各层循环神经网络最后预设时刻的隐层状态。
s103:分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接网络,得到电力负荷数据集的融合特征。
在分别得到各层循环神经网络最后预设时刻的隐层状态之后,可以分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接网络,得到电力负荷数据集的融合特征,具体过程可以用如下公式表示:
其中,hl为各层循环神经网络最后一个时刻隐层状态的连接,
s104:利用融合特征预测下一预设时刻的电力负荷值。
在得到电力负荷数据集的融合特征之后,可以利用融合特征预测下一预设时刻的电力负荷值,具体过程可以用如下公式表示:
c=wf·hl+b;
其中,c为全连接神经网络的输出,wf为权重,hl为各层循环神经网络最后一个时刻隐层状态的连接,b为偏置。
应用本发明实施例所提供的方法,将获取到的电力负荷数据集依次输入到设置有不同跳跃连接的多层循环神经网络,并且每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入,分别得到各层循环神经网络在预设时长内最后预设时刻的隐层状态。分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接网络,得到电力负荷数据集的融合特征,利用融合特征预测下一预设时刻的电力负荷值。通过将各层循环神经网络设置不同跳跃连接,使得每层循环神经网络具有不同时间周期的建模能力,并且设置每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入,实现了对电力负荷数据集的多尺度时序依赖建模,捕捉电力负荷数据中的多尺度时间结构,得到融合特征,基于融合特征对电力负荷值进行预测,充分利用了电力负荷数据中的信息,较大地提高了电力负荷预测精度。
需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
在一种具体实例中,如图2所示,由三层跳跃连接数分别为1、2、4的循环神经网络建模电力负荷数据中不同尺度的时序依赖,在预测过程中将电力负荷数据集进行切片,得到多条子序列,每一条子序列的时刻数为l。利用1到l时刻的电力负荷值,预测l+1时刻的电力负荷值,利用2到l+1时刻的电力负荷值预测l+2时刻的电力负荷值。x1、x2、x3、x4、x5、x6、x7、x8及xl分别表示电力负荷数据集切片成的多条子序列中第1到第l个时刻的电力负荷值,将最底层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入,分别得到各层循环神经网络最后预设时刻的隐层状态。分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接层,得到电力负荷数据集的融合特征,利用融合特征预测下一预设时刻的电力负荷值xt+1。
参见图3,图3为本发明实施例中基于循环神经网络的电力负荷预测方法的另一种实施流程图,该方法可以包括以下步骤:
s301:获取预存的电力负荷数据集。
s302:当电力负荷数据集中的电力负荷数据的数量级或量纲不一致时,对电力负荷数据集中的各电力负荷数据进行归一化操作。
在获取到预存的电力负荷数据集之后,若电力负荷数据集中的电力负荷数据的数量级或量纲不一致,则可以对电力负荷数据集中的各电力负荷数据进行归一化操作。对于原始电力负荷数据集x=[x1,x2,...,xs]t以通过以下公式进行归一化:
其中,xi表示原始电力负荷数据集中第i个时刻的电力负荷数据,s表示原始电力负荷数据集中总的时刻数,s>l,ii表示归一化后的电力负荷数据,max(x)和min(x)分别表示原始电力负荷数据集中的电力负荷数据的最大值和最小值。
从而得到归一化后电力负荷数据集i=[i1,i2,...,is]t。通过在电力负荷数据集中的电力负荷数据的数量级或量纲不一致时,对各电力负荷数据进行归一化,加速了各层循环神经网络的进行特征融合的速度,提升了特征融合效果。
s303:将电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络,分别得到各层循环神经网络最后预设时刻的隐层状态。
其中,每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入;每层循环神经网络各预设时刻的输出为当前时刻隐层状态与当前层循环神经网络输出权重矩阵的乘积。
s304:分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接网络,得到电力负荷数据集的融合特征。
s305:利用融合特征预测下一预设时刻的电力负荷值。
s306:获取下一预设时刻的真实电力负荷值。
可以获取下一预设时刻的真实电力负荷值。
s307:计算预定数量个不同预设时刻的真实电力负荷值和分别对应的预测电力负荷值的均方根误差。
在预测出下一预设时刻的电力负荷值,并获取到下一预设时刻的真实电力负荷值,即获取到预测的电力负荷值对应的真实电力负荷值之后,可以计算预定数量个不同预设时刻的真实电力负荷值和分别对应的预测电力负荷值的均方根误差。均方根误差的计算过程可以由如下公式表示:
其中,n表示预测值的数量,
需要说明的是,预定数量n可以根据实际情况进行设定和调整,本发明实施例对此不做限定。
s308:利用均方根误差检验电力负荷预测模型的有效性。
在得到计算预定数量个不同预设时刻的真实电力负荷值和分别对应的预测电力负荷值的均方根误差之后,可以利用均方根误差检验电力负荷预测模型的有效性。如可以将本申请计算得到的均方根误差与用现有的方法计算得到的均方根误差进行比较,从而检验本申请电力负荷预测模型的有效性。
s309:根据均方根误差对各层循环神经网络的参数进行梯度下降操作。
在得到预测电力负荷值的均方根误差之后,可以根据均方根误差对各层循环神经网络的参数进行梯度下降操作。如可以在循环神经网络反向传播的过程中,使用bp算法来最小化损失函数,从而使得各层循环神经网络的网络参数得以优化,进一步提高电力负荷预测精度。
相应于上面的方法实施例,本发明实施例还提供了一种基于循环神经网络的电力负荷预测装置,下文描述的基于循环神经网络的电力负荷预测装置与上文描述的基于循环神经网络的电力负荷预测方法可相互对应参照。
参见图4,图4为本发明实施例中一种基于循环神经网络的电力负荷预测装置的结构框图,该装置可以包括:
数据集获取模块41,用于获取预存的电力负荷数据集;
隐层状态获得模块42,用于将电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络,分别得到各层循环神经网络最后预设时刻的隐层状态;其中,每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入;每层循环神经网络各预设时刻的输出为当前时刻隐层状态与当前层循环神经网络输出权重矩阵的乘积;
融合特征获得模块43,用于分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接网络,得到电力负荷数据集的融合特征;
电力负荷值预测模块44,用于利用融合特征预测下一预设时刻的电力负荷值。
应用本发明实施例所提供的装置,将获取到的电力负荷数据集依次输入到设置有不同跳跃连接的多层循环神经网络,并且每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入,分别得到各层循环神经网络最后预设时刻的隐层状态。分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接网络,得到电力负荷数据集的融合特征;利用融合特征预测下一预设时刻的电力负荷值。通过将各层循环神经网络设置不同跳跃连接,使得每层循环神经网络具有不同时间周期的建模能力,并且设置每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入,实现了对电力负荷数据集的多尺度时序依赖建模,捕捉电力负荷数据中的多尺度时间结构,得到融合特征,基于融合特征对电力负荷值进行预测,充分利用了电力负荷数据中的信息,较大地提高了电力负荷预测精度。
在本发明的一种具体实施方式中,该装置还可以包括:
归一化模块,用于当电力负荷数据集中的电力负荷数据的数量级或量纲不一致时,在获取预存的电力负荷数据集之后,将电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络之前,对电力负荷数据集中的各电力负荷数据进行归一化操作。
在本发明的一种具体实施方式中,该装置还可以包括:
真实值获取模块,用于在利用融合特征预测下一预设时刻的电力负荷值之后,获取下一预设时刻的真实电力负荷值;
有效性检验模块,用于利用真实电力负荷值和预测出的电力负荷值检验预测过程所用电力负荷预测模型的有效性。
在本发明的一种具体实施方式中,有效性检验模块包括均方根误差计算子模块和有效性检验子模块,
均方根误差计算子模块,用于计算预定数量个不同预设时刻的真实电力负荷值和分别对应的预测电力负荷值的均方根误差;
有效性检验子模块,用于利用均方根误差检验电力负荷预测模型的有效性。
在本发明的一种具体实施方式中,该装置还可以包括:
梯度下降模块,用于在计算预定数量个不同预设时刻的真实电力负荷值和分别对应的预测电力负荷值的均方根误差之后,根据均方根误差对各层循环神经网络的参数进行梯度下降操作。
相应于上面的方法实施例,参见图5,图5为本发明所提供的基于循环神经网络的电力负荷预测设备的示意图,该设备可以包括:
存储器51,用于存储计算机程序;
处理器52,用于执行上述存储器51存储的计算机程序时可实现如下步骤:
获取预存的电力负荷数据集;将电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络,分别得到各层循环神经网络最后预设时刻的隐层状态;其中,每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入;每层循环神经网络各预设时刻的输出为当前时刻隐层状态与当前层循环神经网络输出权重矩阵的乘积;分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接网络,得到电力负荷数据集的融合特征;利用融合特征预测下一预设时刻的电力负荷值。
对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
获取预存的电力负荷数据集;将电力负荷数据集从最底层循环神经网络依次经过设置有不同跳跃连接的各层循环神经网络,分别得到各层循环神经网络最后预设时刻的隐层状态;其中,每层循环神经网络预设时长内各预设时刻的输出为下一层循环神经网络对应时刻的输入;每层循环神经网络各预设时刻的输出为当前时刻隐层状态与当前层循环神经网络输出权重矩阵的乘积;分别将各层循环神经网络在预设时长内最后预设时刻的隐层状态输入到全连接网络,得到电力负荷数据集的融合特征;利用融合特征预测下一预设时刻的电力负荷值。
该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。