........................................ELECTRIC POWER ICT
中图分类号:TM715 文献标志码:A 文章编号:2095-641X(2017)05-0008-04 DOI:10.16543/j.2095-641x.electric.power.ict.2017.05.002
深度学习框架下 LSTM 网络在
短期电力负荷预测中的应用
陈亮,王震,王刚
(山东鲁能软件技术有限公司,山东 济南 250000)
摘要:准确的电力负荷预测可以保证电力供应的稳定,降低用电成本,提高供电质量。在进行短期
电力负荷预测时,考虑到时序数据的时间相关性,应用张量流深度学习框架构建了 LSTM 神经网络
模型,对电力负荷时序数据进行回归预测。使用某省电力公司电力负荷数据进行模拟仿真,结果表
明基于长短期记忆人工神经网络(Long-Short Term Memory,LSTM)的深度学习模型在短期电
力负荷预测中可以有效地预测负荷变化。
关键词:短期电力负荷预测;长短期记忆神经网络;张量流;深度学习
特
别
推
荐
0 引言
电力系统的主要任务是向用户提供经济、可靠、
符合电能质量标准的电能,满足社会的各类负荷需
求。由于电能难以大量存储以及电力需求时刻变化
等特点,这就要求系统发电应随时与负荷的变化动
态平衡。准确的电力负荷预测既可以保证电力供应
的稳定,减少用电成本,提高供电质量,也有助于电
力系统的健康发展。以往的负荷预测技术,多采用
诸如前馈人工神经网络、支持向量机等进行短期的
电力负荷预测 [1-6],网络中没有记忆单元,缺少对时序
数据时间相关性的考虑。因此,可以在短期负荷预
测方法的基础上,考虑电力负荷的时间相关因素,将
上一时间信息衔接到当前时间的任务上构建长短期
记忆模型。本文介绍了一种基于长短期记忆人工神
经网络的深度学习模型进行短期电力负荷预测的方
法,可使调度人员更好地了解未来负荷的变化波动,
更有针对性地进行电力调度 [7-8]。
基 金 项 目:山 东 省 自 主 创 新 及 成 果 转 化 专 项 项 目“电
力 行 业 大 数 据 平 台 的 研 制 及 产 业 化 应 用”
(2014ZZCX10105-1)。
本文提出的方法首先将原始电力负荷数据进行
清洗转换,然后在张量流深度学习框架下构建基于
长短期记忆人工神经网络的预测回归模型,最后利
用该模型进行回归预测,得到下一时间窗口的负荷
变化。该方法充分发挥了负荷数据时间相关性的特
点,并结合国家电网公司某省公司实际数据,利用该
方法进行短期电力负荷预测,结果表明其具有较高
的预测精度,可以有效预测未来负荷的变化。
1 长短期记忆神经网络
长 短 期 记 忆 人 工 神 经 网 络(Long-Short Term
Memory,LSTM)是一种改进的时间循环神经网络
(Recurrent Neural Network,RNN),由 Hochreiter 等
提出并由 Alex Graves 进行了改良和推广 [9]。LSTM
可以学习时间序列长短期依赖信息,由于神经网络
中包含时间记忆单元,因此适用于处理和预测时间
序列中的间隔和延迟事件。
1.1 循环神经网络
循环神经网络(RNN)是一种改进的多层感知器
网络(见图 1),包括输入层、隐藏层、输出层,在隐藏
层中有输入到下一时间隐藏层的连接。按时间展开
8
电 力 信 息 与 通 信 技 术
2017 年第 15 卷第 5 期
ELECTRIC POWER ICT ........................................
后,可以发现当前时刻隐藏层的输入包括两部分,即
当前时刻的输入层输入和上一时刻的隐藏层输入。
w
w
w
w
w
w
w
w
w
w
w
图 1 循环神经网络
Fig.1 Recurrent neural network
在前向传播过程中,当前层按照网络连接及权值
对输入数据进行计算并输出到下一层,计算过程为:
态,其计算公式为:
a t
( )
c
=
∑
I
i
x t w
i
ic
( )
+
H
∑
h
b t
(
h
−
1)
w
hc
(2)
x t w∑
式 中, ( )
i
ic
I
i
是 在 时 刻 t 的 输 入 门 输 入,
w−∑
1)
b t
(
h
是在时刻 t–1 的遗忘门输入。
hc
H
h
同时有:
s t
( )
c
c
1)
− +
a t
c
( ))
b t
l
( )g(
∅=
b t s t
(
( )
(3)
式中,bl(t)g(ac(t)) 是 t 时刻遗忘门 ac(t) 映射的
乘 积,b∅(t)sc(t–1) 是 t 时 刻 遗 忘 门 与 t–1 时 刻 Cell
状 态 输 出 的 乘 积,g(·) 为 映 射 函 数,sc(t) 是 t 时 刻
Cell 的状态输出。
s t
( )
j
=
f
(
∑
l
i
x t v
( )
i
+
ji
m
∑
h
s t
(
h
−
u
1)
+
b
)
j
jh
(1)
2 张量流深度学习框架
2.1 深度学习
特
别
推
荐
深 度 学 习 [13-15](Deep Learning)的 概 念 源 于 人
工神经网络,其动机在于建立模拟人脑进行分析学
习的神经网络,从而达到模仿人脑的机制来解释数
据的目的。深度学习算法突破了传统神经网络对层
数及每层节点数量的限制,其训练方法与传统神经
网络相比有很大区别。传统神经网络随机设定参数
初始值,采用 BP 算法利用梯度下降法训练网络,直
至收敛。但深度结构训练很困难,传统的对浅层有
效的方法对于深度结构并无太大作用,随机初始化
权值极易使目标函数收敛到局部极小值,且由于层
数较多,残差向前传播会丢失严重,导致梯度扩散,
因此深度学习过程中采用贪婪无监督的逐层训练方
法。即在一个深度学习设计中,每层被分开对待并
以一种贪婪方式进行训练,当前一层训练完后,新的
一层将前一层的输出作为输入并编码以用于训练,
最后在每层参数训练完后,在整个网络中利用有监
督学习进行参数微调。
2.2 张量流深度学习框架
TensorFlow 是 Google 在 2015 年 11 月 开 源 的
深度学习人工智能框架系统,使用 TensorFlow 可以
构建 Softmax 回归模型、卷积神经网络、循环神经网
络、Sequence-to-Sequence 模型等深度学习模型,用
以进行语音识别、图像识别、文本语义分析及偏微分
方程求解等,并且可根据需要灵活构建新的分析模
型,是之前所开发的深度学习基础架构 DistBelief 的
改进版本。TensorFlow 使用数据流图技术来进行数
电 力 信 息 与 通 信 技 术
2017 年第 15 卷第 5 期 9
x t v∑
式 中, ( )
i
l
i
是 在 时 刻 t 的 输 入 层 输 入,
ji
m
s t
(
h
u−∑
1)
h
置,f(·) 为映射函数,sj(t) 为 t 时刻的隐藏层输出。
是 在 时 刻 t–1 时 的 隐 藏 层 输 入,bj 为 偏
jh
循环神经网络计算过程中虽然加入了上一时刻
的输入,但是随着时间的推移,后面节点对前面时间
节点的感知能力下降,即存在 RNN 的梯度消失问题。
1.2 长短期记忆神经网络
鉴于循环神经网络的梯度消失问题,长短期记
忆神经网络在保持 RNN 网络结构的基础上重新设
计了计算节点 [10-12]。LSTM 的计算节点如图 2 所示。
图 2 LSTM 的计算节点
Fig.2 LSTM computational nodes
计 算 节 点 由 输 入 门、输 出 门、遗 忘 门 和 Cell 组
成,其中 Cell 是计算节点核心,用以记录当前时刻状
........................................ELECTRIC POWER ICT
值计算。数据流图中的节点代表数值运算操作,节点
节点之间的边代表多维数据张量之间的某种联系。
其 中,张 量(Tensor)使 用 N 维 数 组 表 示,流(Flow)
使 用 基 于 数 据 流 图 的 计 算,张 量 流(TensorFlow)
即 张 量 从 图 的 一 端 流 动 到 另 一 端 进 行 计 算 的 过
程。TensorFlow 可以在多种异构设备(含有 CPU 或
GPU)上通过简单的 API 调用来使用其功能。
TensorFlow 的数据流图是一种对计算的抽象描
述。在计算开始时,数据流图在会话中被启动,会话
将图中的操作分发到各计算设备上,同时提供操作
的执行方法。这些方法按照各边的计算关系计算并
产生张量(Tensor)返回。TensorFlow 数据流图如图
3 所示,其中节点为数值计算操作,边为由 N 维数组
表示的张量。
图 3 TensorFlow 数据流图
Fig.3 TensorFlow data flow diagram
对于分类函数,有:
f x
( ) ReLu(
(4)
式中,x 为输入特征向量,w 为模型权值向量,
w x b
)
⋅ +
=
特
别
推
荐
b 为偏置,ReLu(·) 为激活函数,f(·) 为分类函数。
3 应用分析
按照上述方法,选取国家电网公司某网省公司
某年全年时隔半小时采样的负荷数据(即每日 48 个
负荷数据)共 17 472 个样本数据集进行模型构建,
以预测电力负荷范围,并以实际负荷数据进行验证。
部分负荷数据见表 1 所列,数据已归一化。
表 1 不同时间的负荷数据
Tab.1 Load data at different time
0:30 1:00 1:30 2:00 2:30 3:00 3:30 4:00 4:30 5:00 5:30 6:00
1 月 1 日 0.77 0.79 0.73 0.69 0.62 0.61 0.59 0.55 0.55 0.52 0.52 0.48
1 月 2 日 0.65 0.64 0.60 0.58 0.54 0.52 0.51 0.51 0.52 0.53 0.54 0.52
1 月 3 日 0.67 0.65 0.61 0.56 0.51 0.49 0.50 0.50 0.47 0.48 0.47 0.46
1 月 4 日 0.64 0.62 0.57 0.52 0.52 0.50 0.46 0.45 0.45 0.45 0.47 0.46
1 月 5 日 0.62 0.57 0.56 0.53 0.51 0.51 0.48 0.46 0.45 0.48 0.54 0.53
10
电 力 信 息 与 通 信 技 术
2017 年第 15 卷第 5 期
具体验证过程如下。
1)对负荷数据进行转换。将 17 472 个负荷数
据分为 3 组,分别为训练数据集(占 80%)、验证数据
集(占 10%)和测试数据集(占 10%)。
2)使 用 TensorFlow 深 度 学 习 框 架 构 建 LSTM
网络,并使用训练集数据对其进行训练。
3)使用训练后的 LSTM 模型进行回归分析。
使用训练后的 LSTM 模型在测试数据集上进行
回归分析,测试数据拟合结果如图 5 所示,其中绿线
为测试数据,蓝线为拟合结果。计算均方误差(MSE)
为 0.004 282。可见,实际负荷变化范围与预测负荷
变化误差较小,预测结果较为准确。
图 4 拟合结果
Fig.4 Fitting results
4 结语
由于电力负荷时间序列具有非线性、时变、易干
扰、观察时间有限等特点,采用传统的预测模型预测
一般精度不高,实际应用效果较差。本文使用某网
省电力负荷实测数据,应用 TensorFlow 深度学习框
架构建长短期记忆神经网络回归预测模型,对电力
负荷进行回归预测。仿真计算结果表明该方法能够
较好地实现短期内的电力负荷预测,可满足实际应
用需要。
参考文献:
[1] KIARTZIS S J, ZOUMAS C E, THEOCHARIS J B, et al.
Short-term load forecasting in an autonomous power system
using artificial neural networks[J]. IEEE Transactions on Power
Systems, 1997, 12(4): 1591-1596.
[2] 杨奎河. 短期电力负荷的智能化预测方法研究[D]. 西安: 西安
电子科技大学, 2004.
[3] 王晨辉, 张晓亮, 梁晓传. 云计算架构下基于BP神经网络负载
预测策略的研究[J]. 电力信息与通信技术, 2016, 14(11): 46-50.
WANG Chen-hui, ZHANG Xiao-liang, LIANG Xiao-chuan.
ELECTRIC POWER ICT ........................................
Research on load forecasting strategy based on BP neural
network under cloud computing architectures[J]. Electric Power
Information and Communication Technology, 2016, 14(11): 46-
50.
[4] 余向前, 路民辉, 任琳杰, 等. 基于改进型Elman神经网络的短
期电力负荷预测[J]. 电力信息与通信技术, 2014, 12(2): 39-43.
YU Xiang-qian, LU Min-hui, REN Lin-jie, et al. Short-term load
forecast based on improved Elman neural network[J]. Electric
Power Information and Communication Technology, 2014, 12(2):
39-43.
[5] 孔平, 陈亮, 马晶. 基于模糊信息粒化支持向量机的短期电力
负荷预测[J]. 电力信息与通信技术, 2016, 14(1): 11-14.
KONG Ping, CHEN Liang, MA Jing. Short-term power load
forecasting based on the fuzzy information granulation and
SVM[J]. Electric Power Information and Communication
Technology, 2016, 14(1): 11-14.
[6] 周林, 吕厚军. 人工神经网络应用于电力系统短期负荷预测的
研究[J]. 四川电力技术, 2008, 31(6): 68-72.
ZHOU Lin, LV Hou-jun. ANN application to short term load
forecasting research of power system[J]. Sichuan Electric Power
Technology, 2008, 31(6): 68-72.
[7] 石德琳. 基于神经网络的电力负荷预测研究与实现[D]. 济南:
山东大学, 2016.
2000, 12(10): 2451-2471.
[12] GERS F A, SCHRAUDOLPH N N, SCHMIDHUBER J.
Learning precise timing with lstm recurrent networks[J]. The
Journal of Machine Learning Research, 2003, 3(1): 115-143.
[13] 孙志军, 薛磊, 许阳明, 等. 深度学习研究综述[J]. 计算机应用
研究, 2012, 29(8): 2806-2810.
SUN Zhi-jun, XUE Lei, XU Yang-ming, et al. Overview of deep
learning[J]. Application Research of Computers, 2012, 29(8):
2806-2810.
[14] 尹宝才, 王文通, 王立春. 深度学习研究综述[J]. 北京工业大学
学报, 2015(1): 48-59.
YIN Bao-cai, WANG Wen-tong, WANG Li-chun. Review of
deep learning[J]. Journal of Beijing University of Technology,
2015(1): 48-59.
[15] 毛勇华, 桂小林, 李前, 等. 深度学习应用技术研究[J]. 计算机
应用研究, 2016, 33(11): 3201-3205.
MAO Yong-hua, GUI Xiao-lin, LI Qian, et al. Study on
application technology of deep learning[J]. Application Research
of Computers, 2016, 33(11): 3201-3205.
编辑 邹海彬
收稿日期:2017-02-09
[8] 李宝玉. 基于神经网络的电力负荷预测[D]. 长沙: 湖南大学,
作者简介:
2013.
[9] GRAVES A. Supervised sequence labelling with recurrent neural
陈亮(1981–),男,山东济南人,博士,高级
工程师,从事深度学习与电力大数据分析技术
networks[M]. Berlin: Springer, 2012.
研究工作;
[10] HOCHREITER S, SCHMIDHUBER J. Long short-term
王震(1978–),男,山东济南人,高级工程
memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[11] GERS F A, SCHMIDHUBER J, CUMMINS F. Learning to
forget: continual prediction with lstm[J]. Neural Computation,
陈亮
师,从事电力大数据分析技术研究工作;
王刚(1977–),男,山东济南人,工程师,从
事电力大数据分析管理及研究工作。
Application of LSTM Networks in Short-Term Power Load Forecasting Under
the Deep Learning Framework
CHEN Liang, WANG Zhen, WANG Gang
(Shandong Luneng Software Technology Co., Ltd., Jinan 250000, China)
Abstract: Accurate power load forecasting can ensure the stability of power supply, reduce the cost and improve
the quality of power supply. For the short-term power load forecasting, considering the time correlation of time-
series data, this paper builds a LSTM neural network model based on the TensorFlow deep learning framework and
applies this model in the power load time-series data regression prediction. A simulation using power load data from
a province power company proves that the deep learning model based on long-short term memory neural network
can effectively predicate the load change in the short-term power load forecasting.
Key words: short term power load forecasting; long-short term memory neural network; TensorFlow; deep learning
特
别
推
荐
电 力 信 息 与 通 信 技 术
2017 年第 15 卷第 5 期 11