一种基于LSTM改进的电力短时负荷预测算法的制作方法

文档序号:19636270发布日期:2020-01-07 12:02阅读:683来源:国知局
一种基于LSTM改进的电力短时负荷预测算法的制作方法

本发明涉及电力短时负荷预测算法领域,特别是一种基于lstm改进的电力短时负荷预测算法。



背景技术:

电力系统是国民建设和人民生活不可缺少的重要环节,实现电能高效利用越发重要。一方面电力负荷的预测可以方便地比较负荷对系统的负担,使电气设备被合理使用,保证电力系统经济、安全和可靠运行作用。另一方面,各发电和用电企业对于负荷预测精度的要求越来越高,精准的负荷预测有利于各发电企业合理安排调度计划,保证时刻为大众提供高质量电能的情况下对电力设备等进行完善的维护和检查,也能够帮助用电企业采取主动措施提高用电质量和经济性。短时电力负荷预测通常是指1年以内的预测,包括年,月,日,小时,主要是用于指导电力部门的日常运行,对用电规划有深远意义。

传统的电力负荷预测方法包括指数平滑法、时间序列法、趋势外推法、回归分析法等。近些年来,大量的新能源产业和大规模间歇性新能源发电系被广泛的使用,使得负荷类型变的高度随机性和动态变化性,传统负荷预测方法很难适应。

现代电力电荷预测方法有灰色预测法、模糊负荷预测和神经网络方法等。灰色预测法将收集到的电力数据累加或累减后通过gm(1,1)模型求解偏微分方程,逐步修正模型参数,并且数据越多,效果越好,从而很好地解决了中长期电力预测问题。但是,灰色模型本身具有指数增长性,而某一时期影响电力负荷的因素多种多样,因此灰色预测法的应用场景并不丰富。模糊预测法是基于模糊理论,将已有的工作经验、历史数据或将二者的综合以规则的形式表达出来,并转换成可以在计算机上运行的算法,进而完成各种工作任务,但其学习能力较弱,受人为因数的影响较大。神经网络法也有很多模型,其中最为经典的是bp神经网络,传统bp算法收敛速度慢,导致网络训练效率较低。所以很多人在其基础上进行改善也取得了较大进步。

随着智能电网的完善和硬件设备的提高,为负荷预算提供了海量的高质量数据和强大算力,为深度学习和机器学习在电力负荷上的应用提供强有力的基础。考虑日特征相关因素的神经网络负荷预测模型,进一步降低了天气等不确定因素对模型的负面影响。这也证明了,考虑时间因素对数据整体分布影响的时间序列模型是解决电力预测问题有力工具。

长短时记忆神经网络(lstm)由于神经网络中包含时间记忆单元,特别适用于处理和预测时间、序列时间、序列间隔和延迟事件,所以非常适合电力负荷的预测。本发明首先提出了lstm电力预测模型。



技术实现要素:

为解决现有技术中存在的问题,本发明提供了一种基于lstm改进的电力短时负荷预测算法,解决了以往算法很难适应传统负荷预测方法、应用场景不丰富、学习能力较弱、受人为因数的影响较大和网络训练效率较低的问题。

本发明采用的技术方案是,一种基于lstm改进的电力短时负荷预测算法,包括以下步骤:

s1:将所有电力数据进行预处理操作;

s2:采用onehot方法对“天气”这一非数字特征进行编码,进而生成更加规整的输入张量;

s3:输入网络的输入层维数;

s4:隐藏层作为模型的计算核心,采用lstm网络,每一层的输出作为下一层的输入;

s5:经过网络的前向传播之后,使用全连接层整合所有隐藏层的计算结果,并通过re-lu线性整流函数映射,获得最终的预测值;

s6:为了实现网络参数的自动更新,采用误差反向传播法则实现参数梯度的自动求导;

s7:采用带批量的adam优化算法对模型实现超参数的迭代优化训练;

s8:在评价回归预测模型时,采用通用的平均误差和均方根误差来评价。

优选地,基于lstm改进的电力短时负荷预测算法的计算公式为:

yi=π(f8(f7(…f1(xi))))

其中,xi和yi是第i条电力数据及其对应的预测输出,fi是模型中的第i层神经网络,π表示全连接层。

优选地,s7的adam优化算法θt的计算公式为:

式中,θt-1为待更新参数,mt为偏一阶矩估计,m0=0;vt为偏二阶矩估计,v0=0;β1和β2为矩估计的指数衰减率;ε为小正数,在机器学习问题中这些参数的默认值为α=0.01,β1=0.9,β2=0.999,ε=10-8

优选地,s7的adam优化算法gt的计算公式为:

式中,θt-1为待更新参数;α为学习率,gt为随机目标函数的梯度。

优选地,s7的adam优化算法mt的计算公式为:

mt=β1mt-1+(1-β1)gt

式中,θt-1为待更新参数;α为学习率;gt为随机目标函数的梯度;mt为偏一阶矩估计,m0=0;vt为偏二阶矩估计,v0=0;β1和β2为矩估计的指数衰减率;ε为小正数,在机器学习问题中这些参数的默认值为α=0.01,β1=0.9,β2=0.999,ε=10-8

优选地,s7的adam优化算法vt的计算公式为:

式中,θt-1为待更新参数;α为学习率;gt为随机目标函数的梯度;mt为偏一阶矩估计,m0=0;vt为偏二阶矩估计,v0=0;β1和β2为矩估计的指数衰减率;ε为小正数,在机器学习问题中这些参数的默认值为α=0.01,β1=0.9,β2=0.999,ε=10-8

优选地,s8的通用的平均误差的计算公式为:

优选地,s8的均方根误差的计算公式为:

其中,xi为第i时刻负荷的实际值,为对应的预测值。

优选地,s3的网络的输入层维数为n×f,其中,n为网络中每一层的神经单元数量,对应n条训练数据,f为一条电力数据记录包含的特征数量。

优选地,s4的lstm网络为含有8个神经单元的lstm网络。

本发明基于lstm改进的电力短时负荷预测算法的有益效果如下:

1.采用了adam优化算法,与基础的随机梯度下降算法相比,它的优点是速度快;可用于非平稳的目标函数/数据,即梯度的均值、协方差变化大;可用于有噪声并且/或者稀疏的梯度;不容易陷入局部最优点且更新速度快。

2.采用lstm算法,lstm是一种增强型循环神经网络,具有更好的时序记忆能力,是处理长期时序数据问题的理想模型。

附图说明

图1为本发明基于lstm改进的电力短时负荷预测算法的8个神经单元的lstm网络图

图2为本发明基于lstm改进的电力短时负荷预测算法的一个rnn单元图

图3为本发明基于lstm改进的电力短时负荷预测算法的rnn计算公式图

图4为本发明基于lstm改进的电力短时负荷预测算法的lstm的细胞单元结构图

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

循环神经网络rnn

循环神经网络rnn因为其独特的网络模型结构解决了信息保存的问题,是一门专门用于处理和预测序列数据的神经网络,它的关键点之一是它可以用来连接先前的信息到当前的任务。如下图2所示,是一个rnn单元:

rnn原理:在上图的网络神经模块中,a表示t时刻的隐藏层,读取t时刻的输入xt,并且输出一个值ht,循环使得信息从当前传递到下一步。rnn和传统神经网络的区别在于隐藏层的输入有两个来源,一个是xt,另一个是上一个隐藏状态的输出at-1

使用公式可将上图rnn表示为如图3所示:

st=tanh(uxt+wst-1)(1)

ot=softmax(vst)(2)

因为现实应用中输出值ot往往会被限制在某一范围,因此我们将当前时刻的记忆状态st乘以权重v后再输出。需要注意地是,网络中每一层中的参数w、u和v均相同。

长短时记忆网络lstm

由于rnn有着一定的局限性,随着时间间隔的不断增大,会丧失学习到连接很远的信息能力(梯度消失),为了解决这个问题lstm应运而生。lstm解决了rnn梯度爆炸和梯度弥散的问题,有了很大的改进。如图4所示为lstm的细胞单元结构:

lstm在rnn中的每一层都加入了三种阀门节点,如图所示,输入阀门置于输入xt之后,该阀门对输入进行了净化处理,筛选出有用信息喂入网络,输入阀门通常由sigmoid函数实现。遗忘阀门置于前一时刻的记忆状态st-1之后,它的作用是选择出前一记忆状态应当保留的部分,它通常由tanh函数实现。最后一个是输出阀门,它置于网络的输出之后,可以自动提取输出信息中的重要部分,它也由sigmoid函数实现。

所以,计算公式为:

ft=σ(wf·[ht-1,xt]+bf)(1)

it=σ(wi·[ht-1,xt]+bi)(2)

gt=tanh(wg·[ht-1,xt]+bg)(3)

ct=ftct-1+itgt(4)

ot=σ(wo·[ht-1,xt]+bo)(5)

ht=ottanhct(6)

f、i、g、c、o分别代表遗忘门、输入门、备选的用来更新的细胞状态、更新后的细胞状态和输出门;w和b分别为对应的权重系数矩阵和偏置项;σ和tanh分别表示sigmoid激活函数和双曲正切函数,当各个阀门开启时,网络前部的各个状态会对当前节点计算产生影响,而当各个阀门关闭后,之前的计算结果与当前状态不再关联。通过这种机制,lstm达到了降低网络整体计算量的目的,成为当前应用循环神经网络的主流框架。

相关影响因素分析

日历效应

日历效应是指用电量与日期相关的波动,包括星期效应、假日效应和月份效应。星期效应是指工作日和周末的连续重复形成了一个潜在的7天周期性,这使得用电量在该周期内也呈现特定的循环规律。与此同时,8h工作制造成的日内负荷波动也属于星期效应的范畴。假日效应指节假日对用电量的影响,将会覆盖星期效应。月份效应,即温度变化不能解释的季节性,月份效应在暑假和春节期间较为显著,对其他月份也有不同程度的影响。

本发明提出因果模型以处理日历效应,该模型的主要优点是能够对样本中日历效应中难以用动态模型捕捉的非周期特征(农历假期、闰年等)进行有效处理。日历效应模型如式(7)所示。

式中:fi(dt)表示日历效应对第t日第i时负荷的影响;等号右侧第一项表示星期效应,dwt为虚拟变量,当第t天是星期w时为1;βwi表示星期w对第i小时电力负荷的影响;等号右侧第二项表示假日效应,djt为虚拟变量,当第t天属于第j类假日时为1;βji表示假日类型j对i小时电力负荷的影响。其中,当djt=1时,djt-1=0,此时星期效应被假日效应覆盖。等号右侧第三项表示月份效应,kftm为虚拟变量,当第t天属于第k月时为1;βki表示第k月对i小时负荷的影响。

温度效应

外部温度是决定电力需求的另一因素,尤其是对中短时间尺度下的负荷预测结果具有显著影响,具体有以下方面:第一,温度改变了电力消耗的变化方向或需求状态,如当温度在较高时进一步升高,空调的使用将增加电力消耗,但当温度在较低时升高,则会降低电力消耗。第二,根据需求温度弹性,温度变化影响电力需求。第三,日历效应可能与温度效应相互影响。本发明对温度效应建模沿两个维度进行,第一个维度估计需求行为调整时的温度阈值,首先,构建如式(8)所示的分段线性辅助回归。

式中:为经h-p滤波器剔除长期趋势后,第t天第i小时的负荷数据;τ分别为低温阈值和高温阈值;ε′it为随机误差项;tt为第t天的日平均气温;其余变量均为回归参数。通过反复给定高低温阈值进行多次回归并进行aic准则验证,当aic最小时,对应的低温和高温阈值即为符合要求的估计值。

需要说明,温度效应更多地与室内温度相关,鉴于本发明需对每小时负荷分别建模,理想情况下最好使用每小时室内温度数据。然而,获取每小时温度数据代价较高,同时由于室内外温度的关系受建筑热力学性能的影响,无法推导出由室外温度推算室内温度的普适公式,因此本发明在温度效应建模中只采用日频率室外温度。在数据受限的情况下,为更好地捕捉真实的温度效应,本发明在建模中引入了最低、最高与日平均气温以及连续五天以上的移动平均温度;同时,为解决温度弹性中的非线性问题,本发明将温度的平方也作为解释变量。综上所述,温度效应如式(9)所示。

式中:gi表示温度效应,是温度t的函数;tt为日平均温度,取日内最高温和最低温的均值;τ分别是低温和高温的估计阈值;为连续五天以上平均气温的移动平均值;at为日内温差;其余变量均为回归参数。

白昼效应

白昼效应是指白昼时间对用电量的影响,通常白昼时间越短,照明耗电越多,用电量越大。我国经纬度跨度都较大,导致不同地区、不同季节的白昼时间差异显著,因此本发明将白昼效应也纳入模型考量中。具体而言,在逐时分析预测的视角下,白昼效应主要体现在日出、日落时刻对临近时段用电量的影响,对稳定处于白昼或夜间的时段则无影响。通过查阅气象数据,在全年内我国日出时间均分布在北京时间5:00-7:00;日落时间均分布在17:00-19:00。因此,对于上述时间段的负荷预测,本发明引入白昼效应作为高频分量以解释白昼时间对用电量的影响,如式(10)所示。

式中:mi表示白昼效应对第i时负荷的影响,是日出时间srt和日落时间sst的函数;其余变量均为回归参数。

基于lstm的电力负荷预测

考虑到lstm是一种增强型循环神经网络,具有更好的时序记忆能力,是处理长期时序数据问题的理想模型。因此,我们提出了基于长短期记忆神经网络电力负荷预测算法。图3是网络模型的整体流程图。我们首先将所有电力数据进行预处理操作,并采用onehot方法对“天气”这一非数字特征进行编码,进而生成更加规整的输入张量。网络的输入层维数为n×f,n是网络中每一层的神经单元数量,对应n条训练数据,f是一条电力数据记录包含的特征数量。隐藏层作为模型的计算核心,设计了一个含有8个神经单元的lstm网络,如图1所示,每一层的输出作为下一层的输入,由于纸篇幅限制,我们并未画出全部的隐藏层。经过网络的前向传播之后,我们使用全连接层整合所有隐藏层的计算结果,并通过re-lu线性整流函数映射,获得最终的预测值。

整个过程可以用公式表示为:

yi=π(f8(f7(…f1(xi))))(11)

其中,xi和yi是第i条电力数据及其对应的预测输出,fi是模型中的第i层神经网络,π表示全连接层。

为了实现网络参数的自动更新,我们采用了误差反向传播法则实现参数梯度的自动求导。传统深度模型在训练过程中实现超参数的迭代优化大多采用批量随机梯度下降算法(batch-sgd),导致训练过程经常出现数值不稳定现象,并且batch-sgd算法对网络的存储能力要求较高。相比于batch-sgd,带批量的adam优化算法具有占用内存小,训练稳定和适用于高噪声数据问题等优点,因此本发明采用带批量的adam代替传统的batch-sgd。

adam优化算法

adam是一种可以替代传统随机梯度下降(sgd)过程的一阶优化算法,它能基于训练数据迭代地更新神经网络权重。adam最开始是由openai的diederikkingma和多伦多大学的jimmyba在提交到2015年iclr论文(adam:amethodforstochasticoptimization)中提出的。与基础的随机梯度下降算法相比,它的优点是速度快;可用于非平稳的目标函数/数据,即梯度的均值、协方差变化大;可用于有噪声并且/或者稀疏的梯度;不容易陷入局部最优点且更新速度快。

adam算法更新参数方法如下:

whileθtnotconvergedo

t=t+1

mt=β1mt-1+(1-β1)gt

endwhile

其中,θt-1为待更新参数;α为学习率;gt为随机目标函数的梯度;mt为偏一阶矩估计,m0=0;vt为偏二阶矩估计,v0=0;β1和β2为矩估计的指数衰减率;ε为小正数。在机器学习问题中这些参数的默认值为α=0.01,β1=0.9,β2=0.999,ε=10-8

模型评价指标

在评价回归预测模型时,采用通用的平均误差(meanabsolutepercentageerror,mape)和均方根误差(root-mean-squareerror,rmse)来描述,计算的公式如下:

其中,xi为第i时刻负荷的实际值,为对应的预测值。

实验环境

本发明所有模型采用python3.7编程语言实现,基于lstm的电力负荷预测模型使用tensorflow深度学习库实现,训练的模型硬件环境为win10,intelcorei56500,nvidiageforcegtx1070ti,内存为12gb。

数据预处理

本发明使用的数据集为国网河北省电力有限公司从2018年6月1日到2018年8月30日之间收集到的40000+电力数据,我们按照9:1的比例将数据集随机分割成训练集和测试集。数据特征质量的好坏从某种程度上决定了模型性能所能达到的上限,因此必要的数据预处理至关重要。

因为天气不是数值属性,所以利用onehot热编码方法将各个天气用对应的唯一整数值表示。最后,为了提升模型的预测精度,加速收敛,我们将所有特征进行归一化处理。

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