中国科技论文在线
基于 BP 神经网络短期电力负荷预测研究#
http://www.paper.edu.cn
张超,吕玉琴,侯宾,陈小军,俎云霄**
(北京邮电大学电子工程学院,北京 100876)
摘要:介于电力负荷预测在电力系统中的重要性,本文首先对电力负荷预测对电力系统的意
义进行了描述,概述了电力负荷预测的基本原理和步骤,分析了传统电力负荷预测方法的优
缺点,在详细分析 BP 神经网络原理的基础上,设计了负荷分析方案,并通过对某市负荷数
据的分析,在充分考虑了日常负荷与天气因素的关系之后,建立了神经网络短期负荷预测模
型,并进行短期预测,验证了其具有较高的精度,且具有很强的稳定性,适合多种不同的预
测环境。
关键词:BP 神经网络;电力负荷;短期预测
中图分类号:TM73
Investigation on the Short-Term Load Forecasting of
Electric Power Based on BP Neural Network
ZHANG Chao, LV Yuqin, HOU Bin, CHEN Xiaojun, ZU Yunxiao
(School of Electronic Engineering, Beijing University of Posts and Telecommunications,
Beijing 100876)
Abstract: Considering the importance of the power load forecasting in the power system,in this
paper, the meaning of the load forecasting for the power system is described firstly, then it gives
summary of the basic principles and steps of the power load forecasting, analyses the advantages
and disadvantages of traditional forecasting methods, and works out a load analysis plan on the
comprehensive study of the BP neural network theory. Taking full account of the relationship
between the daily load and weather factors, the paper finally establishes a short-term load
forecasting model based on the neural network and put it into short-term application. Results of
the prediction are verified highly precise and stable, which makes it suitable for different
forecasting conditions.
Keywords: electric power load; the short-term forecast; the BP neural network
5
10
15
20
25
30
0 引言
电力系统发展至今,已经成为国计民生中不可或缺的重要环节,特别是面临在一个相当
长的时期内电能供需矛盾的现状,使得电力系统负荷预测变得尤其重要。电力系统的任务是
尽可能经济地给广大用户提供持续可靠和良好质量的电能,以满足任何用电设备的负荷需
求。电力负荷需求的大小是电力系统规划设计和运行研究的重要因素,因此,对未来负荷的
变化趋势有一个事先的科学估计,无论是对于电力系统发展还是对于运行研究而言,都是极
其重要的内容[1]。
电力系统负荷预测是根据电力负荷、社会、经济、气象等历史数据,探索电力负荷历史
数据变化规律对未来负荷的影响,寻求电力负荷与各种相关因素之间的内在联系,从而对未
来的电力负荷进行科学的预测[2]。
电力负荷预测的意义主要有以下几个方面:
1)可以提高电力系统供电可靠性;
2)可以为电力系统规划建设提供可靠依据;
35
40
基金项目:清华大学电力系统国家重点实验室 基于 OFDM 的电力线载波通信芯片的物理层设计
作者简介:张超,(1988-),男,硕士研究生,智能信息处理与通信软件、网络安全。
通信联系人:吕玉琴,(1945-),女,教授,智能信息处理、网络安全、多媒体通信系统。E-mail: lvyq@263.net
- 1 -
中国科技论文在线
http://www.paper.edu.cn
3)可以降低投资,提高系统经济性。
本文主要针对 BP 神经网络应用于电力系统中短期负荷预测做了进一步研究,并通过程
序设计了 BP 神经网络。通过实例运行 BP 网络证明本文所提供的预测方法具有较好的预测
精度。
1 电力负荷预测
1.1 负荷预测的基本原理
负荷预测工作是根据电力负荷的发展变化规律,预计或判断其未来发展趋势和状况的活
动,因此必须科学地总结出预测工作的基本原理,用于指导负荷预测工作。预测工作的基本
原理主要包括以下几个方面:可知性原理,可能性原理,连续性原理,相似性原理,反馈性
原理,系统性原理。
1.2 负荷预测的基本步骤
对电力负荷的预测,一般可按下列步骤进行。
1)确定负荷预测的目标,即近、中、远期负荷预测;
2)收集和分析历史数据,对电力系统的历史数据及有关信息加以整理,排除偶发事件
的有关信息,为电力负荷预测提供可靠的原始资料;
3)建立预测模型,根据预测目标和资料,选择合适的电力负荷预测方法,建立相应的
数学模型;
4) 对预测结果进行分析,评价各因素对电力负荷预测结果的影响及预测结果的可信度。
电力系统负荷短期预报问题的解决办法和方式可以分为统计技术、专家系统法和神经网
络法等 3 种。统计技术中所使用的短期负荷一般可归为时间系列模型和回归模型。时间序列
模型的缺点在于不能充分利用对负荷性能有很大影响的气候信息和其他因素,导致了预报的
不准确和数据的不稳定。回归模型虽然考虑了气象信息等因素,但需要事先知道负荷与气象
变量之间的函数关系,这是比较困难的。而且为了获得比较精确的预报结果,需要大量的计
算,这一方面不能处理气候变量和与负荷之间的非平衡暂态关系。专家系统法利用了专家的
经验知识和推理规则,使节假日或有重大活动日子的负荷预报精度得到了提高。但是,把专
家知识和经验等准确地转化为一系列规则是非常不容易的[3]。
当前的电力负荷预测的难点在于预测过程存在随机的干扰因素,主要是经济、政策因素
和天气影响因素。前面两者密切相关,对负荷预测的干扰也比较复杂;而对于天气影响因素
的处理存在对未来气象本身预测的准确性问题,难度很大,因此,对预测的方法提出了新的
要求。
众所周知,负荷曲线是很多因素相关的一个非线性函数。对于抽样和逼近这种非线性函
数,神经网络是一种合适的方法。神经网络的优点在于它具有模拟多变量而不需要对输入变
量做复杂的相关假设的能力。它不依靠专家经验,只利用观察到的数据,可以从训练过程中
通过学习来抽样和逼近隐含的输入/输出非线性的关系。近年来的研究表明,相对于前面的
方法,利用神经网络技术进行电力系统短期负荷预报可获得更高的精度[4]。
45
50
55
60
65
70
75
- 2 -
中国科技论文在线
2 负荷分析方案设计
2.1 负荷预测建模
http://www.paper.edu.cn
80
85
90
95
运用数据挖掘技术进行电力负荷预测建模的过程分为五个阶段,包括模型定义、数据选
取和准备、探索型数据分析、建模和实施。
电力负荷预测模型的建立,就是确定负荷预测值(即模型输出量)及与预测量相关的决
定因素(称为模型输入量)。假设任一时刻电力系统的负荷都可以由正常负荷分量、气象敏
感负荷分量、特殊事件负荷分量、随机负荷分量 4 个独立成分的线性组合而成。
本文主要考虑正常负荷分量,即每天每小时的负荷值。以及气象敏感负荷分量,即每天
的最高和最低温度。
在数据选取和准备阶段,搜寻并检查历史数据,作为未来分析的一览表,将数据整合到
一个适当的程度,例如:省略不适当的记录(如空记录)、不完整的数据记录、训练数据、
试验数据,并且进行必要的格式转换等等。
本文进行短期预测,通过仪表得到每天的负荷值,每天按整点进行记录,通过温度传感
器得到相应的温度值。将得到的数据进行预处理,即将数据整合到一个适当的程度。
然后建立并确认分析模型。通常尝试不同的建模技术或结合不同数据集,以及衡量模型
性能的不同,由此选出最好的分析模型。实用上可以采取实验比较法,在精度一致的条件下,
选择较简单的算法。本文在比较了线性回归分析法和 BP 神经网络算法之后,得出了 BP 神
经网络分析模型更加适合本文测试的电网数据。
2.2 BP 神经网络算法
BP 网络是一种单向传播的多层前向网络,其结构如图 1 所示。由图可见,BP 网络是一
种具有三层或三层以上的神经网络,包括输入层、中间层(隐层)和输出层。上下层之间实
现全连接,而每层神经元之间无连接。当一对学习样本提供给网络后,神经元的激活值从输
100
入经各中间层向输出层传播,从输出层的各神经元获得网络的输入响应。接下来,按照减小
目标输出与实际误差的方向,从输出层经过各中间层逐层修正各连接权值,最后回到输入层,
这种算法称为“误差逆传播算法”,即 BP 算法。随着这种误差逆的传播修正不断进行,网
络对输入模式响应的正确率也不断上升[5]。
1x
2x
3x
1y
2y
3y
图 1 BP 网络结构图
105
110
对于 BP 网络,有一个非常重要的定理。即对于任何在闭区间内的一个连续函数都可以
用单隐层的 BP 网络逼近,因而一个三层 BP 网络就可以完成任意的n 维到 m 维的映射。
隐层的神经元数目选择是一个十分复杂的问题,往往需要根据设计者的经验和多次实验
来确定,因而不存在一个理想的解析式来表示。隐单元的数目与问题的要求、输入/输出单
- 3 -
中国科技论文在线
http://www.paper.edu.cn
元的数目都有着直接关系。隐单元数目太多会导致学习时间过长、误差不一定最佳,也会导
致容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。以下 3
个公式可用于选择最佳隐单元数的参考公式。
k
,其中,k 为样本数, 1n 为隐单元数,n 为输入单元数。如果
i
n> ,
nC = 。
i
0
1
i
n
>∑
C
i
n
i
1)
i
=
0
2) 1n
115
120
125
=
n m a
+
+ ,其中, m 为输出神经元数, n 为输入单元数, a 为[1,10]之间的
常数。
n
3) 1
=
log
2
n
,其中,n 为输入单元数。
还有一种途径可用于确定隐单元的数目。首先使隐单元的数目可变,或者放入足够多的隐单
元,通过学习将那些不起作用的隐单元剔除,直到不可收缩为止。同样,也可以在开始时放
入比较少的神经元,学习到一定次数之后,如果不成功则再增加隐单元的数目,直到达到比
较合理的隐单元数目为止[6]。
2.3 算法设计
如果将一周的 7 天每天都看做一种类型,则共有 7 种类型。在预测日的前一天中,每 1
小时对电力负荷进行一次测量,这样一来,一天共测得 24 组负荷数据。由于负荷值曲线相
邻的点之间不会发生突变,因此后一时刻的值必然和前一时刻的值有关,除非出现重大事故
等特殊情况。所以这里将前一天的实时负荷数据作为网络的样本数据。
此外,由于电力负荷还与环境因素有关,如最高和最低气温等。因此,还需要通过天气
预报等手段获得预测日的最高气温和最低气温。本文将电力负荷预测日当日的气象特征数据
作为网络的输入变量。因此,输入变量就是一个 26 维的向量。
130
显而易见,目标向量就是预测日当天的 24 个负荷值,即一天中每个整点的电力负荷。
这样一来,输出变量就成为一个 24 维的向量。
获得输入和输出变量后,要对其进行归一化处理,将数据处理为区间[0,1]之间的数据。
归一化方法有许多种形式,本文采用如下公式:
x
−
min
x
−
min
x
max
=
ˆ
x
x
一般的预测问题都可以通过单隐层的 BP 网络实现。本文由于输入向量有 26 个元素,
所以网络输入层的神经元有 26 个,经过多次训练网络中间层的神经元可以取 53 个。而输出
向量有 24 个,所以输出层中的神经元应该有 24 个。网络中间层的神经元传输函数采用 S
型正切函数 tansig,输出层神经元传递函数采用 S 型对数函数 logsig。这是因为函数的输出
位于区间[0,1]中,正好满足网络输出的要求。
本文采用的是一个三层 BP 网络,BP 网络的学习过程及步骤如下。
输入层至中间层的连接权 ijw , 1, 2,..., 26
中间层至输出层的连接权 jtv , 1, 2,...,53
中间层各单元的输出阈值 jθ , 1, 2,...,53
输出层各单元的输出阈值 tγ , 1, 2,..., 24
整理好的历史负荷数据和温度值构成k 个 26 维输入向量
, 1, 2,...,53
, 1, 2,..., 24
i =
j =
j =
t =
j =
t =
;
;
;
;
=
(
kP
a a
,
1
2
,...,
a
26
)
,同理构成
135
140
145
- 4 -
中国科技论文在线
k 个 24 维目标向量
kT
=
(
y y
1
2
,
,...,
y
24
)
。
http://www.paper.edu.cn
给每个连接权值 ijw 、 jtv 、阈值 jθ 、 tγ 赋予区间(-1,1)内的随机值,随机选取一组输
入样本和目标样本提供给网络,可以得到输出层各单元的响应 tC ,即网络的实际输出:
C
t
=
log
sig
⎧
⎨
⎩
53
∑
j
1
=
v
jt
⎡
⎢
⎣
tan
sig
(
26
∑
i
1
=
w a θ γ
ij
t
−
−
)
i
j
⎤
⎥
⎦
⎫
⎬
⎭
150
进一步可利用下面 2 个公式得到输出层和中间层各单元的一般化误差:
−
n
w a
ij
i
−
θ
j
)]
(
θ
j
)
)
i
jt
(
e
k
j
q
t
1
=
k
t
−
d
k
t
C
t
)
=
[
(1
−
−
θ
j
sig
(
sig
∑
i
1
=
∑
]tan
i
d v
t
w a
ij
i
C C
t
t
)[1 tan
y
(
=
n
∑
i
1
=
td 来修正连接权 jtv 和阈值 tγ 。
利用输出层各单元的一般化误差 k
−∑
i
1
=
0
1α< <
je 来修正连接权 ijw 和阈值 jθ 。
+ i
i
e aβ
w N
1)
)
(
k
k
+ =
ij
i
j
+ i
e
N
)
(
k
1β<
0
β
<
j
1)
+ =
利用中间层各单元的一般化误差 k
w N
(
ij
N
1)
+ =
v N
jt
v N
jt
(
1)
+ =
w a
ij
i
+ i
α
i
α
d
tan
sig
(
N
(
N
θ
j
θ
j
)
+
d
k
t
i
k
t
n
(
γ
t
γ
t
)
(
155
160
随机选取下一个学习样本向量提供给网络,直到k 个训练样本训练完毕。接着重新从k 个学
习样本中随机选取一组输入和目标样本,提供给网络,直到网络全局误差 E 小于预先设定
的 210− ,即网络收敛。如果学习次数大于预先设定的值,网络就无法收敛。
3 实验验证
利用以下代码创建一个满足上述要求的 BP 网络。
165
threshold=[0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0
1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1];
net=newff(threshold,[53,24],{'tansig','logsig'},'trainrp');
其中,变量 threshold 用于规定输入向量的最大值和最小值,规定网络输入向量的最大
值为 1,最小值为 0。‘trainrp’表示设定网络的训练函数。
网络经过训练后才可以用于电力负荷预测的实际应用。考虑到网络的结构比较复杂,神
170
经元个数比较多,需要适当增大训练次数和学习速率。训练参数的设定如表 1 所示。
175
训练次数
1000
训练代码如下:
net.trainParam.epochs=1000;
net.trainParam.goal=0.01;
LP.lr=0.1;
net=train(net,P,T);
表 1 训练参数
训练目标
0.01
学习速率
0.1
- 5 -
中国科技论文在线
训练结果如图 2 所示。
http://www.paper.edu.cn
180
185
190
图 2 训练结果
可见,经过 23 次训练后,网络误差为 210− ,达到之前设定的要求。
训练好的网络还需要进行测试才可以判定是否可以投入实际应用。
测试代码如下:
P_test=[0.2062 0.1338 0.0600 0.0493 0.1838 0.0591 0.0428 0.4682 0.5479 0.3321 0.3361
0.3080 0.1722 0.2673 0.1660 0.1834 0.0873 0.5533 0.1941 0.5182 0.1381 0.1511 0.0000 0.2477
0.1451 0.2805]';
Out=sim(net,P_test);
本文利用仿真函数 sim 来计算网络的输出。预测误差曲线如图 3 所示。
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
-0.4
0
5
10
15
20
25
图 3 预测误差
- 6 -
中国科技论文在线
http://www.paper.edu.cn
由图 3 可见,网络预测值和真实值之间的误差非常小,都小于 0.3,这表明预测取得了
比较满意的结果。
4 结论
195
电力负荷预测是电力调度、用电、计划、规划等部门的重要工作,国内外关于短期负荷
预测的文献很多,但是由于电力负荷受诸多因素的影响和负荷本身的不确定性,使得迄今还
没有一种十分满意的方法。本文介绍的基于 BP 神经网络的预测方法,在综合考虑天气情况、
历史负荷和日期类型等对未来负荷影响的因素后,使用了神经网络的非线性拟合等功能,取
得了较好的负荷预测效果。
[参考文献] (References)
[1] 高强,王胜,徐建源. 基于人工神经网络的中期电力负荷预测研究[J]. 沈阳工业大学学报,2004,26(1):
41-43.
[2] 康重庆,夏清,张伯明. 电力系统负荷预测研究综述与发展方向的探讨[J].电力系统自动化,2004,28
(17):1-11.
[3] D.C.Park, M.A.E1-Sharkawi, R.J.Marks,eta1. Electric Load Forecasting Using an Artificial Neural Network[J].
IEEE Trans On Power System, 199l, 6(2):442-449.
[4] Hippert H.S, Pedreira C.E, Souza R.C. Neural Networks for Short-term Load Forecasting:A review and
Evalution[J]. IEEE Trans on Power System, 2001, 16(1):44-45.
[5] 储琳琳,郭纯生. 浅析 BP 神经网络算法的改进和优化[J]. 科技创新导报,2009,12(2):31-33.
[6] 田景文. 人工神经网络算法研究及应用[M]. 北京:北京理工大学出版社,2006.
200
205
210
- 7 -