摘要:基于人工神经网络原理,设计了一个三层的BP网络来实现电力系统的短期负荷预测。经过仿真验证,利用BP神经网络进行电力系统短期负荷预测是可行和有效的,其预报结果准确性很高。
关键词:短期负荷预测;BP神经网络;电力系统
中图分类号:TM711
0前言
电力系统负荷预测是电力生产部门的重要工作之一,通过准确的负荷预测,可以经济合理地安排机组启停,减少旋转备用容量,合理安排检修计划,降低发电成本,提高经济效益。许多学者对此进行了研究,提出了很多种预测方法,并且及时地将数学上的最新进展应用到预测中去,使预测的水平得到迅速提高,负荷预测研究取得了很大的进展。
1负荷的分类及其短期预测的方法
1.1负荷的分类
负荷预测按预测时间可以分为长期、中期和短期负荷预测。其中,在短期负荷预测中,周负荷预测(未来7天)、日负荷预测(未来24小时负荷预测)及提前小时预测对于电力系统的实时运行调度至关重要。因为对未来时刻进行预调度要以负荷预测的结果为依据,负荷预测的结果的准确性将直接影响调度的结果,从而对电力系统的安全稳定运行和经济性带来重要影响。
1.2负荷短期预测的方法
电力系统负荷短期预报问题的解决办法和方式可以分为统计技术、专家系统法和神经网络等3种。统计技术中所用的短期负荷模型一般可归为时间系列模型和回归模型。时间系列模型的缺点在于不能充分利用对负荷性能有很大影响的气候信息等因素,但需要事先知道负荷与气象变量之间的函数关系,这是比较困难的。而且为了获得比较精确的预报结果,需要大量的计算,这一方法不能处理气候变量和与负荷之间的非平衡暂态关系。专家系统法利用了专家的经验知识和推理规则,使节假日或有重大活动日子的符合预报精度得到了提高。但是,把专家知识和经验等准确地转化为一系列规则是非常不容易的。
众所周知负荷曲线是与很多因素相关的一个非线性关系函数。对于抽取盒逼近这种非线性函数,神经网络是一种合适的方法。神经网络的优点在于它具有模拟多变量而不需要对输入变量做复杂的相关假定的能力。它不依靠专家经验,只利用观察到的数据,可以从训练过程中通过学习来抽取和逼近隐含的输入/输出非线性关系。近年来的研究表明,相对于前两种方法,利用神经网络技术进行电力系统短期负荷预报可获得更高的精度。本文主要采用BP神经网络来对电力系统短期负荷进行预测。
2BP神将网络
2.1BP学习算法的思想
BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行预先预定的学习次数为止。
2.2BP神经网络的组成及作用
BP神经网络的产生归功于BP算法的获得,它有一个输入层、一个输出层和一个或多个隐含层,同层神经元间无关联,各层神经元间向前连接,根据对象的复杂程度,选择适当的网络结构,就可以实现从输入空间到输出空间的任意非线性函数的映射。
BP神经网络主要用于:(1)函数逼近,即用输入矢量和相应的输出矢量训练一个网络逼近一个函数;(2)系统辨识和预测,即用一个特定的输出矢量将它与输入矢量联系起来;(3)分类,即把输入矢量以所定义的合适方式进行分类;(4)数据压缩,即减少输出矢量维数以便于传输或存储。
3短期负荷预测的BP神经网络设计
3.1输入/输出向量设计
在预测日的前一天中,每隔2个小时对电力负荷进行1次测量,这样一来,一天共测得12组负荷数据。由于负荷值曲线相邻的点之间不会发生突变。因此后一时刻的值必然和前一时刻的值有关,除非出现重大事故等特殊情况。所以这里将前一天的实时负荷数据作为网络的样本数据。
此外,由于电力负荷还与环境因素有关,比如最高和最低气温等,因此,还需要通过天气预报等手段获得预测日的最高气温、最低气温和天气特征值(晴天、阴天还是雨天)。以此形式表示天气特征值:0——晴天,0.5——阴天,1——雨天。这里将电力负荷预测日当天的气象特征数据作为网络的输入变量。因此,输入变量就是一个15维的向量。
显而易见,目标向量就是预测日当天的12个负荷值,即一天中每个整点的电力负荷。这样一来,输出变量就成为一个12维的向量。
在获得输入和输出变量后,要对其归一化处理,将数据处理为区间[0,1]之间的数据。归一化方法有很多种形式,本文主要采用如下公式(3.1)。
(3.1)
3.2BP网络设计
对于BP网络的设计,一般的预测问题都可以通过单隐层的BP网络实现。由于输入向量有15个元素,所以网络输入层的神经元有15个,根据Kolmogorov定理可知,网络中间层的神经元可以取31个。而输出向量有12个,所以输出层中的神经元应该有12个。网络中间层的神经元传递函数采用S型正切函数tansig,输出层神经元传递函数采用S型对数函数logsig。这是因为函数的输出位于区间[0,1]中,正好满足网络的输出要求。其相关的Matlab程序代码为:
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]
Net=newff(threshold,[31,12],{‘tansig’,’logsig’},’trainlm’)
3.3网络训练
网络经过训练后才可以用于电力负荷预测的实际应用。考虑到网络的结构比较复杂,神经元个数比较多,需要适当增大训练次数和学习速率。其训练参数及代码如下:
Net.trainparam.epochs=1000;
Net.trainparam.goal=0.01;
Net.trainparam.lr=0.1;
Net=train(net,p,t)
4BP神经网络仿真及分析
本文以河南省漯河市2008年7月11日到7月21日的整点有功负荷值,以及2008年7月12日到7月22日的气象特征状态量作为网络的训练样本,预测7月23日的电力负荷。利用Matlab仿真结果如图1所示。
图1BP神经网络训练结果
由仿真结果可以看出,经过6次训练后,网络的误差已经小于0.01,达到了要求。
5结论
本文提出了用BP神经网络对短期负荷进行预测,并且利用Matlab进行仿真,其仿真结果与实际值非常接近。可见文中所使用方法可以很好的对短期负荷进行预测,并且具有很好的实用价值。
参考文献
1赵林明,胡浩云,魏德华等。多层前向人工神经网络[M]。北京:清华大学出版社,1998
2刘晨辉。电力系统负荷预报理论与方法。哈尔滨工业大学出版社,1987.12
3袁曾任。人工神经元网络及其应用。清华大学出版社,1990.1
4葛哲学,孙志强。神经网络理论与MATLABR2007实现。电子工业出版社,2008.5。