基于改进BP人工神经网络的电力负荷预测
2011-03-26陈金赛张新波
陈金赛,张新波
(浙江工商大学信息与电子工程学院,浙江杭州310018)
0 引言
电力系统负荷预测[1-4,9]是根据电力负荷、经济、社会、气象等历史数据,探索电力负荷历史数据变化规律对未来负荷的影响,寻求电力负荷与各种相关因素之间的内在联系,而对未来的电力负荷进行科学的预测。负荷预测对电力系统许多部门都起着重要的作用。例如以日负荷曲线为预测对象是制定日前发电计划[5]的基础。短期负荷预测是负荷预测的重要组成部分,他对于机组最优组合、经济调度、最优潮流、电力市场交易等都有着重要的意义。负荷预测精度越高,越有利于提高发电设备的利用率和经济调度的有效性。短期电力预测的研究已有很长历史,有各种预测方法。有基于同类型日的预测方法、一元线性回归法、时间序列预测法、频域分量预测法、基于小波分析的预测法、基于混沌理论的预测方法和人工神经网络预测法等。人工神经网络(Artificial Neural Networks,ANN)具有很强的自学习和复杂的非线性函数拟合能力,很适合用于短期电力负荷预测,是在国际上得到认可的使用预测方法之一。由于传统的ANN方法存在着学习速率慢和存在局部极小点问题,为了克服该缺点,需要改进ANN算法。
1 改进的BP人工神经网络及同类型日思想的模糊映射
1.1 改进的BP人工神经网络
针对传统的ANN算法存在的缺陷为加快BP算法训练速度,避免陷入局部极小值和改善算法的有效性,有以下两种方法:
(1)增加动量法。为了提高网络的训练速度,可以在权值调整公式中增加一动量项。用W代表某层权矩阵,X代表某层输入向量,则含有动量项的权值调整向量表达式为:
增加动量项即从前一次权值调整过程中取出一部分叠加到本次权值调整量中,∂称为动量系数,∂∈(0,1)。动量项反映了以前积累的调整经验,对于t时刻的调整起阻尼作用。当误差曲面出现骤然起伏时,可减小振荡趋势,提高训练速度;
(2)引入陡度因子。学习率η也称为步长,平坦区域内,η太小会使训练次数增加,如果在调整进入平坦区后,设法压缩神经元的净输入,使其输出退出转移函数的不饱和区,就可以改变误差函数的形状,从而使调整脱离平坦区。
本文网络的训练算法是在增加动量项的同时引入陡度因子的训练算法:在误差反向传播阶段,在增加动量项的同时,当神经元输出进入了转移函数的饱和区时引入陡度因子,从而调整误差函数的形状使之脱离平坦区。
1.2 同类型日思想的模糊映射
1.2.1 同类型日思想
取基准日之前的若干天为历史样本,则刻画出的示意图如图1所示[6,7]。
以基准日为起点,以7天为周期,可对历史样本分出第一周期、第二周期……。第一周期中,必有一个与待预测日相同类型的预测日(即同为星期一,或同为星期二,……),称为“同类型日”(或“相似日”)。这些同类型日历史日的负荷与待测日的负荷具有较高的相关性。相反地,历史日中与待测日具有不同星期类型的负荷日称为“不同类型日”。
图1 基于同类型日思想预测的整体描述
对于排序好的输入数据,由于各个特征量的量纲不同,因此需要把各个物理量作相应的映射,把不同量纲的值映射到一个特定的区间,使各个量之间可以有数值上的可比性,从而方便相似度的定量计算。
1.2.2 模糊映射处理方法
这里的模糊映射处理是指把每天的相关因素值经过相关因素库映射到(0,1)区间上,对输入进行一次模糊映射预处理。为了避免神经元的饱和现象,需要对原始数据进行预处理,这样做将有利于训练过程的收敛。
2 基于改进的算法进行短期电力负荷预测的实现
2.1 数据的模糊映射处理
把对应的神经元进行线性激活和映射处理。气象类型(阴,晴,多云,雨,雪,风等),星期类型(周一,周二,……,周日等),日期差(历史日与预测日相差天数,1天,2天等),日分类(正常日,元旦,国庆,春节等),温度(最高温度,最低温度等)。把这些值映射在一定的区间范围内,便于分析和计算。
将气象数据最高温度、最低温度、天气特征(天气情况的语言表述),也作为网络的输入变量[8,10]。其中,天气特征用数值来度量晴为0.1,阴为0.4,多云为0.5,雨为0.6,雪为0.7来量化。日类型星期一、星期二到星期四、星期五、星期六和星期日的量化系数分别为0.2,0.4,0.6,0.8,1。日期差1天为0.1,2天为0.2等。
2.2 算法的执行步骤
算法的执行步骤为:
(1)对输入层的424个神经元根据同类型日思想进行排序;
(2)对排序好的神经元数据进行模糊映射处理,使之全部映射到(-1,1)区间中;
(3)建立合适的ANN模型初始化。对权值矩阵赋随机数,误差E置0,网络训练后达到的精度Emin设为一个正的小数;
(4)将处理过的训练样本输入到网络中;
(5)由网络正向计算出各层节点输出;
(6)计算网络的实际输出与期望输出的误差并画出相应误差曲线;
(7)从输出层起始反向计算到第一个隐层,在权值调整中增加动量项,使误差减小到最小。如果在输出的误差曲线中出现平坦区,则在原转换函数中引入陡度因子;
(8)用改进的算法修正权值Wij和阈值φ;
(9)对训练样本集中的每一个样本重复以上步骤,调整神经元数目和权值,直到对整个训练样本集的误差达到要求为止并画出相应误差曲线。
3 实例分析
应用前述的算法组成神经网络,结合相关因素法设计一种基于BP人工神经网络的电力系统预测系统,搜集湖州市2010年6月3日到6月18日之间每天每个时刻的电力负荷数据以及当天的温度、天气条件以及星期类型等,预测6月19日的每个时刻的电力负荷数据。把采集到的数据根据前面的方法进行模糊映射处理。
对仿真结果进行分析,用MATLAB对传统的BP网络和改进的BP网络进行仿真结果符合预测的目标如图2、3所示:
图2 BP标准算法误差变化曲线
图3 改进后的算法误差变化曲线
如表1所示,实现同样训练目标误差精度,标准BP算法需要521步,而改进的BP算法仅需要86步。由此可见,本文提出的改进BP算法是一种合理的、有效的和可行的BP算法。
4 结束语
由于短期电力系统负荷的运行规律非常复杂,并受到很多因素的影响如温度、天气情况、星期类型等。所以合理选择应用于短期负荷预测的神经网络至关重要,本文采用了改进的BP人工神经网络和同类型日思想的模糊映射方法建立神经网络模型。由于传统的BP算法存在着学习速度慢和存在局部极小点的问题,为了克服这些困难本文采用了增加附加动量项和陡度因子的方法进行了仿真,结果表明有很好的可行性和有效性。
表1 24个神经网络6月18日预测值与实际值比较
[1]金海梅,熊信艮,胡耀武.基于相似性原理的短期负荷预测方法[J].电力系统自动化,2001,25(23):45-48.
[2]张明理,赵瑞.短期负荷中相似日的判别方法[J].吉林电力,2005,32(1):19-21.
[3]赵宏伟,任震,黄雯莹.考虑周期性的短期负荷预测[J].中国电机工业学报,1997,17(3):211-216.
[4]徐进东,丁晓群,邓勇.基于相似日的线性外推短期负荷预测[J].继电器,2005,33(7):37-40.
[5]于尔铿,刘广一,周京阳,等.能源管理系统[M].北京:科学出版社,1998:587-592.
[6]清华大学电机系.电力市场预测理论及其应用[M].北京:清华大学,1997:276-280.
[7]刘梅,徐洪强,李真,等.基于周期性分析的短期负荷预测(下册)[C].郑州:全国高校电子专业第20届学术年会论文集,2004:1 633-1 636.
[8]罗慧,巢清尘,李奇,等.气象要素在短期电力负荷中的预测中的应用[M].北京:清华大学,1999:31-56.
[9]Yang Hong-Tzer,Huang Chao-Ming.A new shortterm load forecasting approach using self-organizing fuzzy ARMAX model[J].IEEE Transaction on Power Systens,1998,13(1):217-255.
[10]Chow T W S,Eung C T.Neural Network Based Short-term Load Forecasting Using Weather Compensation[J].IEEE Trans on Power Systems,1996,11(4):1 736-1 742.