APP下载

一种基于LSTM神经网络的电力负荷预测方法

2020-07-11王永志

实验室研究与探索 2020年5期
关键词:神经元神经网络负荷

王永志,刘 博,李 钰

(吉林大学仪器科学与电气工程学院,长春130061)

0 引 言

电力负荷是用户在某一时刻向电力系统取用电功率的总和[1],是电力系统规划和运行的重要组成部分,其准确的分析和预测对电网系统的安全可靠运行、降低成本、提高效率、合理规划起到尤为重要的作用[2]。

随着大数据技术的发展,我国电网系统已进入智能电网时代,给电力系统各项数据的采集、监控、分析和存储带来了更大的挑战。趋势外推法[3]、时间序列法[4]、专家系统法[5]、回归分析法[6]等经典的电力负荷预测方法难以满足智能电网时代电力负荷预测的更高要求。郭松林等[7]分析了灰色数学理论法在电力负荷预测中的应用前景,张国江等[8]运用模糊预测的方法分析了多种因素对电力负荷预测结果的影响,刘洋等[9]应用反向传播神经网络算法对海量负荷数据进行了分类研究,文献[10-11]中将自回归积分滑动平均模型(ARIMA)应用于电力负荷预测,肖白等[12]基于支持向量机模型(SVM)对空间负荷数据进行了预测。

针对以上模型对长周期时间序列数据连续学习能力不强等问题,本文提出了在Tensorflow 深度学习的框架下,构建针对电力负荷预测的LSTM 神经网络预测模型,使用西班牙真实电力负荷数据训练模型,并对预测结果进行验证。实验结果证明,模型在电力负荷数据预测时具有很好的长周期非线性学习能力,预测结果具有较高的精度,为电力系统负荷预测提供有效依据。

1 LSTM神经网络

神经网络理论用计算机模拟人脑的学习能力,用算法结点模拟人脑的神经元,对海量历史数据进行学习,以找到解决问题的最佳方法[13]。电力负荷预测本质上是找到历史负荷数据中的映射关系,再利用此映射关系预测未来的电力负荷数据。神经网络模型具有很强的记忆力、鲁棒性、非线性学习能力,可以很好地解决电力负荷预测问题[14]。

LSTM是一种改进的循环神经网络(Recurrent Neural Network,RNN)算法,由Hochreiter 等提出并经Alex Graves改进后得以推广和应用[15]。RNN 的工作原理重在循环,即前一神经元的输出连同下一时间点的其他变量重新作为神经元的输入送到当前神经元,数据在回路中由当前状态传递到下一个状态,可将RNN 展成链状神经网络(见图1)[16]。

图1 RNN展开示意图

图1 中神经网络单元的输入为Xt,输出为Ht。当训练数据的时间间隔较短,即训练数据较少时,RNN能够很好地对历史信息进行学习并做出预测。随着训练数据的时间间隔不断增长,RNN 学习能力会变弱,模型会随着时间间隔的增大忘记之前数据的规律,长期依赖的学习能力差,从而出现梯度下降现象[17]。电力负荷预测需对长周期的负荷数据进行学习,找到其中的映射关系再做出预测,而RNN处理电力负荷预测问题难以达到理想效果。

LSTM神经网络能够很好地用于解决上述问题。它具有能够学习长期依赖的能力,适合对长周期的电力负荷数据进行学习,找出其中隐含的映射关系并用于预测。LSTM 神经网络与RNN 同样可展成链式结构,但LSTM网络模型比RNN模型的神经元结构复杂一些[18],信息在网络的细胞中逐个传递(见图2)。

图2 LSTM网络模型结构示意图

为了避免像RNN 一样出现梯度下降现象,LSTM采用“门”结构来加强细胞间的信息传递与沟通,包括输入门(Input Gate)、输出门(Output Gate)、遗忘门(Forget Gate)三门结构[19],它们通过控制神经元的输入、输出以及历史依赖共同作用对电力负荷数据进行学习和预测。LSTM神经网络具体运算过程如下:

式(1)控制当前神经元从上一神经元中“忘记”信息,由被称作“遗忘门”的Sigmoid 层实现。遗忘门的工作原理是它通过读取前一神经元的输出ht-1及当前神经元输入Xt进行运算,输出一个[0,1]之间的值与上一细胞状态ct-1相乘,若输出1 与ct-1相乘后代表对上一细胞状态信息完全“记忆”,输出0 与ct-1相乘后代表对上一细胞状态完全“遗忘”,以此方式保证网络模型的长期记忆性。

式(2)和(3)共同控制细胞的输入。式(2)由被称作“输入门”的Sigmoid层实现。输入门读取前一神经元的输出ht-1及当前神经元输入Xt输出一个[0,1]之间的量it。式(3)由一层tanh 创建一个新的候选值向量~ct,便可由ct-1、ft、it得到式(4)中当前细胞状态ct。

经计算获得上一神经元的信息留存及当前神经元的信息输入后,最终输出由被称作“输出门”的Sigmoid层控制。将经过tanh 层处理的当前细胞状态量ct与输出门得到的Sigmoid量ot相乘,得到式(6)中当前神经元的最终输出量ht。

2 LSTM预测模型

基于LSTM设计一种用于电力负荷数据预测的神经网络模型,在TensorFlow 框架下使用Python 语言编程实现,能对长周期的电力负荷数据进行学习,用得到的模型去预测未来的电力负荷值。

2.1 实验数据集

从ENTSO(Europe electricity transmission system operator)网站(https://transparency.entsoe. eu)下载了实验所用电力负荷数据。选取西班牙自2018-01-01 ~2019-01-01 的真实电力负荷数据作为实验数据集,此数据集由这1 a 中每天24 个整点电力负荷采样值构成,共计8 760(24 ×365)条负荷数据(见图3)。

图3 原始数据展示图(前2 000条)

2.2 数据预处理

数据采集过程中因人为操作或设备故障等原因可能造成数据缺失,数据不完整会影响模型的预测结果,故需补全缺失数据。电力负荷数据具有典型的日周期变化规律,实验中采用缺失值的前1 d以及后1 d相同时刻的负荷数据均值对缺失数据补全。

LSTM神经网络模型对输入的数据尺度敏感,数据尺度太大会影响模型训练效果,可用下式对补全后的数据进行归一化处理[20]:

式中:x是原始电力负荷数据;xmin为原始数据的最小值(18.179 GW);xmax表示原始数据的最大值(22.514 GW);xnorm为归一化后的负荷数据([0,1]之间的一个值),可在保证数据趋势不变的前提下缩小数据尺度。

2.3 模型结构设计

TensorFlow作为目前最受欢迎的一个机器学习框架,广泛用于机器学习、深度学习研究[21]。基于TensorFlow框架设计了针对电力负荷数据预测的LSTM神经网络模型(见图4)。

实验数据分成两部分,前51 周用作模型训练集,第52 周电力负荷数据作为测试集,与模型预测结果对比以检验模型的预测效果。将训练数据输入到设计好的RNN、LSTM模型分别迭代训练,通过对模型不断地调参优化,最终确定模型参数为:隐层神经元个数(num_units)为128,训练数据分成16 批(batch_size),每批400 个(window_size),学利率(AdamOptimizer)为0.001,迭代次数3 000 次(train_steps)。

3 结果分析

用训练后的LSTM、RNN 模型分别生成未来1 周的预测数据,预测数据个数(predict_steps)为168(24×7)。最终得到的实验结果图(见图5、6)。

图4 LSTM神经网络模型实现流程图

图5 LSTM模型预测结果图

图6 RNN模型预测结果图

图5、6 中共展示了4 周数据,绿线为预测部分前3 周的训练数据(训练集最后3 周数据);蓝线为待预测1 周时间内的真实数据(与模型预测结果进行对比);红色线为两种模型生成的预测曲线。预测部分的原始数据、LSTM 预测结果、RNN 预测结果图(见图7)。

图7 预测结果对比图

(1)负荷数据的日变化规律。从0:00 ~11:00 随着人们工作、生活的开始负荷数据逐渐增大,在11:00时负荷值达到日最大值27.964 GW(均值),11:00 ~12:00 因午休导致负荷下降,12:00 ~ 13:00 负荷短暂增加,13:00 ~24:00 负荷逐渐下降,在午夜24 点负荷数据达到最低值18.260 GW(均值)。

(2)负荷数据的周变化规律。1 周中每天均遵循上述日变化规律,其中周1 ~周5 负荷呈周期性变化,变化规律基本相同;周6、周日随着工厂等用电大户的休息,同期负荷值、负荷峰值会较工作日低。对比两个模型的预测结果可知,RNN模型(绿线)只能学习到电力负荷历史数据的日周期规律,难以准确预测周6、周日的负荷变化,而LSTM 模型(橙线)可以很好地学习到负荷数据日变化、周变化的周期规律,能准确预测周1 ~周日7 d的负荷值。

预测误差用模型损失值(真实值与预测值的误差均方差)表示,实验中将训练数据输入到网络中进行3 000 次迭代,随着迭代次数的增加可以得到不同模型的损失值(见图8、表1)。

图8 模型损失值随迭代次数变化图

LSTM、RNN两种模型的损失值在前500 次迭代的下降速率很快,当迭代达到1 000 次后均逐渐趋于稳定。由损失值的差异可知,RNN 模型比LSTM 模型的损失值大,LSTM模型最终损失值稳定在0.2 左右,而RNN模型损失值最终稳定在0.3 左右,故LSTM 模型的预测结果更为准确。

4 结 语

基于LSTM模型设计了一种用于电力负荷数据预测的神经网络模型,在TensorFlow 框架下用Python 语言编程实现。采用西班牙电力负荷的真实数据进行验证,证明了所提出模型的有效性。

LSTM与RNN对比结果表明LSTM模型学习的长期依赖性较强,可有效避免在模型训练过程中出现梯度下降现象。

综上所述,LSTM 神经网络具有长时间依赖的学习能力,为长周期电力负荷数据预测提供了一种有效的解决方法。

表1 模型损失值

猜你喜欢

神经元神经网络负荷
3项标准中维持热负荷要求对比分析
Opening flexible resources by integrating energy systems: A review of flexibility for the modern power system
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
跃动的神经元——波兰Brain Embassy联合办公
主动降负荷才是正经事
基于神经网络的拉矫机控制模型建立
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用
毫米波导引头预定回路改进单神经元控制
侧脑室注射DIDS对缺血再灌注脑损伤大鼠神经元凋亡的拮抗作用