基于自适应Elman神经网络的短期风电功率预测
2014-03-26肖蕾李郁侠
肖蕾,李郁侠
(西安理工大学 水利水电学院,陕西 西安 710048)
短期风电功率预测可为电网调度部门进行经济调度和风电竞价上网提供依据,预测精度的提高一直是研究的重点[1]。
早期的预测技术主要有趋势外推法、回归分析法、时间序列法等,这些方法预测精度不高,并且不具备自适应和自学习能力。近年来专家系统、人工神经网络[2-3]、小波分析[4-5]及支持向量机[6]等人工智能方法得到了广泛研究和应用,其中人工神经网络法应用于风电功率预测,取得了较好效果。目前大量应用的BP神经网络,是一种静态神经网络,用于预测动态的风电功率容易陷入局部最小值,预测精度很难提高[7-8]。
风电功率预测模型的输入变量包括温度、风速等,这些因素是随时间变化的。为根据风电场所在区域的实际情况进行预测模型的自动调整,本文建立了自适应Elman神经网络对短期风电功率进行预测。
1 Elman神经网络
Elman神经网络是一种反馈神经网络,其神经网络一共有4层,分别是输入层、隐含层、承接层,输出层,输入层神经元起传输信号的作用,输出层神经元起线性加权的作用。承接层从隐含层接受反馈信号,用来记忆隐含层神经元前一时刻的输出值,并用到本次计算中;反馈状态不同,则输出结果不同。承接层神经元的输出经延迟与存储,再输到隐含层,其对历史数据有敏感性,增加了网络自身处理动态信息的能力,可用于动态建模[9-11]。
设神经网络的输入向量为u,隐含层输出向量为x,承接层输出向量为xc,输出向量为y。w1、w2和w3分别为隐含层到输出层、输入层到隐含层、承接层到隐含层的连接权值。g(·)为输出神经元的激活函数,是隐含层输出的线性组合,一般采用purelin函数。f(·)为隐含层神经元的激活函数,一般采用tansig函数。则各层之间的关系为:
x(k)=f(w1xc(k)+w2(u(k-1)))
(1)
xc(k)=x(k-1)
(2)
y(k)=g(w3x(k))
(3)
Elman神经网络算法可采用BP网络中附加动量的梯度下降反向传播算法对网络进行训练,其网络权值w1和w2的修正方法和BP网络中权值的修正方法一样,对w3采用链式导数规则来修正,衡量算法是否结束的误差函数E为:
(4)
式中,d(k)是期望输出向量。
2 Elman神经网络的设计与改进
2.1 输入量的选取
风电场的输出功率随风的波动而波动,风力机捕获的风电功率可以用下式表示:
(5)
式中,P为风轮输出功率(kW),Cp为风轮的功率系数,A为风轮扫掠面积(m2),ρ为空气密度(kg/m3),v为风速(m/s)。
风速是影响风电功率输出的最重要因素,空气密度的大小直接关系到捕获的风能的多少。本文以西北某风电场2011年的气象数据为依据,得出了不同月份空气密度的日变化曲线(见图1),月空气密度曲线图(见图2)。从图1和图2可以看出同一月内不同天的空气密度变化不大,同一年中不同月的空气密度变化较大。
为了研究密度对风电功率的影响,本文取该风电场1月、7月、8月的各个典型日的历史风速和功率数据做出功率散点,如图3。
图1 不同月份空气密度的日变化曲线
图2 空气密度的月变化曲线
图3 1月、7月及8月的功率散点图
从图2可以看出7月和8月的空气密度相近,从图3可以看出7月和8月功率变化趋势基本一样;从图2可以看出1月和7月份的空气密度相差较大,从图3可以看出1月和7月的功率变化趋势相差较大,通过分析可以得出结论:空气密度对风电功率输出的影响较大。
空气密度ρ为气压、气温和水气压的函数,其计算公式为:
(6)
式中,P为气压(hPa),t为气温(℃),Pw为水气压(hPa)。
几小时或是几天内的气压,水气压基本不变,但温度变化幅度较大,故密度也是变化的。温度变化幅度与气压、水气压的变化幅度相比较大,对于式(6)来说,影响空气密度的最主要因素是温度,故短期风电功率预测(0~72 h)时选取风速和温度作为预测模型的输入。
2.2 数据预处理
为了提高训练速度和灵敏度以及避免隐含层函数的饱和区,对输入数据采用式(7)进行归一化处理,对输出数据采用式(8)进行反归一化处理。
yi=(xi-xmin)/(xmax-xmin)
(7)
xi=(xmax-xmin)×yi+xmin
(8)
式中,xmax和xmin表示输入数据的最大值和最小值;yi为输入数据归一化后的值。对历史风速、温度和功率进行归一化处理,对预测后输出的功率进行反归一化处理。
2.3 隐含层数的选取
一般情况下,Elman神经网络模型采用单隐含层的网络结构[12-13];当输入因子较多时,为了满足学习速率、提高收敛速度,采用多隐含层的结构。但隐含层数不能过多,过多会使网络规模变大,增加网络的复杂性,有可能出现“过拟合”现象,使得网络的预测能力降低,还会使网络的训练时间过长。
本文采用matlab编写程序,选取误差最小的隐含层数建立自适应Elman神经网络模型。
2.4 隐含层节点数的自适应调节
隐含层神经元数目的选择必须综合多方面的因素,确定最佳的隐含层节点数。在满足预测精度的前提下,尽可能减少隐含层节点数[14-15]。
本文通过隐含层节点数的自适应调节来解决隐含层节点数的选取问题。通过比较不同隐含层节点数情况下的误差,选取误差最小的隐含层节点数为最优节点数,使隐层节点数能够随着训练集和预测集的更新不断的自我调节,自动以最优的隐层节点数进行预测。其核心问题是循环比较,通过比较每种隐含层节点数情况下的MAPE,逐个比较,最后选取最优的隐含层节点数i,使得MAPE(i)的值最小。在循环时MAPE(k+l)会自动覆盖掉前一次的误差MAPE(k),所以论文采用行列式存储的方式,应用语句MAPE(:,k)存储在第k列中,解决了覆盖问题,再按照循环对比,最后根据不同的输入输出数据,自动选择合适的隐层节点数进行预测。
2.5 预测结果的评价
本文选取均方误差(MSE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE),作为预测结果的评价指标。
3 算例分析
3.1 不同隐含层Elman神经网络模型的验证
选取某风电场2011年8月1~2日风速、温度和功率的189个数据点作为样本(每10 min一个数据点),分别建立隐含层为一层、二层、三层和四层的Elman神经网络模型,用第1~144个数据作为训练集来训练网络,用第145~189个数据对模型进行检验。表1为不同隐含层Elman神经网络模型的预测误差。
表1 不同隐含层Elman神经网络模型的预测误差
从表1中可知,在多隐含层Elman神经网络中,三隐含层Elman神经网络预测误差最小,故确定动态自适应Elman神经网络模型的隐含层数为3层。
3.2 自适应Elman神经网络模型的验证
对于自适应Elman神经网络模型,由于训练集和预测集数据的不同,最优神经网络的隐含层节点数可能是不相同的。
为了验证Elman神经网络模型的自适应性,本文选取某风电场2011年8月1~2日风速、温度和功率的189个数据点作为样本(每10 min一个数据点),并把该样本分为三个样本数据。第一样本数据采用第1~144个数据作为训练集,第145~159个数据作为预测集;第二样本数据采用第16~159个数据作为训练集,第160~174个数据作为预测集;第三样本数据采用第31~174个数据作为训练集,第175~189个数据作为预测集。
表2为采用不同样本数据时的隐含层节点数自动调节运行结果表。
表2 不同样本数据的预测误差
用第1~144个数据作为训练集,第145~159个数据作为预测集时,隐含层节点数为9时,预测误差MAPE最小,故模型的最佳隐含层节点数为9;用第16~159个数据作为训练集,第160~174个数据作为预测集时,隐含层节点数为13时,预测误差MAPE最小,故模型的最佳隐含层节点数为13;用第31~174个数据作为训练集,第175~189个数据作为预测集时,隐含层节点数为7时,预测误差MAPE最小,故模型的最佳隐含层节点数为7。
通过表2可以看出:随着样本的更新,自适应Elman神经网络模型都可以自动建立最优模型,达到了自适应调节的目的,可以提高预测精度。
本文最终采用1~144个数据作为训练集,第145~189个数据作为预测集,隐含层数为3,建立自适应Elman神经网络模型,进行风电场短期风电功率预测,并与Elman神经网络模型和BP网络模型的预测结果进行对比。
建模时,BP网络模型的隐含层节点数和自适应Elman神经网络模型的最佳隐含层节点数相同;Elman神经网络模型的隐含层节点数和自适应Elman神经网络模型的预测误差最大时的隐含层节点数相同。隐含层自动调节(自适应)运行结果表如表3,从表中可以看出,模型的最佳隐含层节点数是12。
表3 自适应Elman神经网络模型的预测误差
表4为自适应性Elman、Elman、BP预测误差的对比表,图4为自适应Elman、Elman、BP的预测结果对比图,图5为自适应性Elman、Elman、BP预测误差对比图。
从表4可以得出:在三种不同的误差评价指标下,自适应Elman神经网络的误差小于Elman神经网络和BP神经网络的误差。
表4 不同预测模型的预测误差
图4 各种预测模型的预测结果
图5 不同预测模型的预测误差对比
由图4看出,自适应Elman神经网络的预测曲线的趋势与期望输出曲线的趋势最接近;由图5可以看出,用三种不同预测模型进行短期风电功率预测时,自适应Elman神经网络进行短期风电功率预测时预测误差曲线低于其他两个,误差总体较小。可见在预测时间相同的条件下,自适应Elman网络模型的预测效果明显要比Elman网络模型和BP网络模型的预测效果好。
4 结 论
本文针对BP网络动态性能差、易陷入局部最小值的特点,提出了自适应Elman神经网络预测模型。对隐含层节点数自适应,使隐层节点数能够随着训练集和预测集的更新不断的自我调节,可以自动选取最优的隐层节点数,网络能根据最新训练结果自动调整,从而让整个神经网络的性能更加优越。最后将自适应性Elman神经网络、Elman神经网络、BP神经网络预测结果进行对比,验证了自适应性Elman神经网络模型的可行性和有效性。
参考文献:
[1]符金伟,马进,周榆晓,等.风电功率预测研究方法综[J].华东电力,2012,40(5):888-892.
FuJinWei,Ma Jing,Zhou Yuxiao,et al.Wind power prediction research method ensemble[J].Journal of East China Power,2012,40(5):888-892.
[2]范高锋,王伟胜,刘纯.基于人工神经网络的风电功率短期预测系统[J].电网技术,2008,32(22):72-76.
Fan Gaofen,Wang Weisheng,Liu Chun.Wind power short-term prediction system based on artificial neural network[J].Power Grid Technology,2008,32(22):72-76.
[3]孟洋洋,卢继平,孙华利,等.基于相似日和人工神经网络的风电功率短期预测[J].电网技术,2010,34(12):163-167.
Meng Yangyang,Lu Jiping,,Sun Huali,et al.Based on the Similar day and the artificial neural network the short-term wind power prediction[J].Power Grid Technology,2010,34(12):163-167.
[4]师洪涛,杨静玲,丁茂生,等.基于小波-BP神经网络的短期风电功率预测方法[J].电力系统自动化.2011,35(16):44-48.
Shi Hongtao,Yang Jingling,Ding Maosheng,et al.Based on the wavelet-BP neural network short-term wind power prediction[J].Automation of Electric Power Systems,2011,35(16):44-48.
[5]厉卫娜,苏小林.基于小波-神经网络的短期风电功率预测研究[J].电力学报,2011,26(6):59-62.
Li Weina,Su Xiaolin.Based on wavelet- neural network short-term wind power prediction research[J].Journal of Electric Power,2011,26(6):59-62.
[6]余健明,马小津,倪峰,等.基于改进PSO-LSSVM的风电场短期功率预测[J].西安理工大学学报,2013,29(2):176-181.
Yu Jianming,Ma Xiaojin,Ni feng,et al.Based on improved PSO-LSSVM short-term wind power prediction[J].Journal of Xi’an University of Technology,2013,29(2):176-181.
[7]周斌,文亮,杨力,等.BP神经网络在风电功率预测中的应用[J].宜宾学院学报,2012,12(6):30-32.
Zhou Bin,Wen Liang,Yang Li,et al.BP neural network in the application of wind power prediction[J].Journal of Yibin College,2012,12(6):30-32.
[8]郭琦,鲍金春,宋继光.基于BP神经网络的风电功率预测[J].电源技术应用.2011,1(6):14-18.
Guo Qi,BaoJinChun,Song Jiguang.Wind power prediction based on BP neural network[J].Power technology application,2011,1(6):14-18.
[9]张良均,曹晶,蒋世忠.神经网络实用教程[M].北京:机械工业出版社,2008.
[10]石黄霞,何颖,董晓红.基于Elman神经网络的电力负荷预测模型研究[J].工业仪表与自动化装置,2013,(1):85-87.
Shi Huangxia,He Ying,Dong Xiaogong.Based on the Elman neural network power load prediction model[J].Industrial Instrumentation and Automation Devices,2013,(1):85-87.
[11]刘荣,方鸽飞.改进Elman神经网络的综合气象短期负荷预测[J].电力系统保护与控制,2012,4(22):113-117.
Liu rong,Fang Gefei.The Improved comprehensive meteorological Elman neural network short-term load forecasting[J].Power System Protection and Control,2012,40 (22) :113-117.
[12]张靠社,杨剑.基于Elman神经网络的短期风电功率预测[J].电网与清洁能源,2012,28(12):87-91.
Zhang Kaoshe,Yang Jian.Short-term wind power prediction based on Elman neural network[J].Power Grid and Clean Energy,2012,28 (12) :87-91.
[13]石春源.基于Elman神经网络锂电池劣化程度的预测研究[D].哈尔滨:哈尔滨理工大学,2011.
Shi Chunyuan.Based on the Elman neural network Lithium battery degradation prediction research[D].Harbin:Harbin University of Science and Technology,2011.
[14]赵智勇,黄伟,尉扬.一种基于小波分析和Elman动态神经网络的中长期电力负荷预测方法[J].山西电 力,2013,(1):1-5.
Zhao Zhiyong,Wang Wei,Weiyang.Based on the wavelet analysis and dynamic Elman neural network the medium and long term power load forecasting method[J].Journal of Shanxi Electric Power,2013,(1):1-5.
[15]祝燕萍,方鸽飞.基于动态自适应神经网络和人体舒适度的短期负荷预测[J].电力系统保护与控制,,2012.40(1):56-61.
ZhuYanping,Fang Gefei.Based on dynamic adaptive neural network and comfort of human body short-term load forecasting[J].Journal of Power System Protection and Control,2012,40(1):56-61.