吴钢,徐枫,王冰,徐偲喆(.江苏方天电力技术有限公司 江苏 南京 0;.河海大学 能源与电气学院,江苏 南京 00)
基于遗传算法和模糊聚类算法的改进BP神经网络风速预测
吴钢1,徐枫2,王冰2,徐偲喆2
(1.江苏方天电力技术有限公司 江苏 南京211102;2.河海大学 能源与电气学院,江苏 南京211100)
针对BP神经网络风速预测中存在的结构不确定以及网络过度拟合的问题,利用遗传算法的全局搜索能力和模糊聚类算法的数据筛选能力,分别对BP神经网络的结构与数据进行双重优化,提出了基于遗传算法和聚类算法的改进BP神经网络风速预测方法。仿真表明,改进风速后的预测方法大大提高了风速预测的准确性。
短期风速预测;BP神经网络;遗传算法;聚类算法;二次优化
随着风力发电规模不断扩大,当风电穿越功率超过一定值时,风电并网后电网稳定和安全问题成为研究者急须解决的新课题[1]。其中风电场的短期风速预测是解决该问题的重要手段之一。
风速序列是一种间歇性和随机性很强的时间序列[2],温度、阴晴、风力等级等天气状况对其影响很大,历史数据包含了这些因素,因此可以建立一种历史风速和未来风速之间的映射,即可以依据历史风速数据对未来风速进行预测。
目前见诸文献的风速预测方法主要有神经网络法、支持向量机、小波分析以及优化算法等。其中神经网络法是运用最为方便也是应用最为广泛的方法。但是,由于神经网络的结构不确定性以及风速受温度、气压等自然环境因素的影响,导致单一神经网络的预测精度往往较低。
针对单一BP神经网络风速预测中存在的问题,本文利用遗传算法(Genetic Algorithm,GA)对BP神经网络的结构、初始权值和阀值进行一次优化,利用模糊聚类算法(Fuzzy CMeans Algorithm,FCM)来对BP神经网络的数据输入进行二次优化,从而完成了对BP神经网络结构与数据的双重优化,并提出了基于遗传算法和聚类算法的改进BP神经网络风速预测方法,仿真表明,经过二次优化的BP神经网络风速预测精度明显优于单一BP神经网络。
1.1风速预测原理
风速序列是一种间歇性和随机性很强的时间序列,温度、阴晴、风力等级等天气状况对其影响很大,历史数据包含了这些因素,因此可以建立一种历史风速和未来风速之间的映射,即可以依据历史风速数据对未来风速进行预测:
式中:vˆ(t+1)为预测风速,v(t),v(t-1),v(t-2)…v(t-n+1)从t时刻到t-n+1时刻的n个实测历史风速数据,f为它们之间的映射。由此可知,以t时刻为基准,将之前个时刻的实测历史风速数据带入式(1)中,可以得到的下一时刻的预测值。以此类推,将t+1时刻的预测值带入式(1)等式右边,反复利用,可以得到未来多个时刻的风速预测值。
1.2BP神经网络风速预测原理
BP网络是一种多层前馈型神经网络,其神经元的传递函数是S型函数,输出为0到1之间的连续量,可以实现从输入到输出的任意非线性映射。而实现历史风速和未来风速之间的非线性映射,即可用于风速预测。
对于风速预测问题,三层网络可以很好的解决[3],三层BP神经网络的基本结构如图1所示。
图1 三层BP神经网络基本结构
如图1所示,P为BP神经网络的输入向量;O为BP神经网络输出向量;n1,n2,n3分别为输入层维数、隐含层神经元个数和输出层神经元个数;IW,LW分别表示输入层到隐层的连接权值和隐层到输出层的连接权值向量;IB,LB分别表示隐层神经元阈值和输出层神经元阈值向量。当使用单一BP神经网络进行风速预测时,存在以下几个问题:
1)网络的输入和输出维数可以依靠BP神经网络的输入和输出直接确定,但神经网络的隐层神经元个数没有直接的、确定的选择方法,只能依靠经验公式对其进行计算,存在很大的不确定性。
2)BP神经网络的初始权值和阀值全部为随机量,而初始权值和阀值的选择对BP神经网络的收敛性影响很大,如果初始权值和阀值取值不当,那么BP神经网络将收敛于局部最优点上。
3)风速序列是一种间歇性和随机性很强的时间序列,不同的天气条件对风速序列影响很大,大量的历史风速数据中包含着各种不同的天气气象和风速波动信息。如果不加筛选的将这些历史数据输入到BP神经网络进行训练,会导致神经网络的过度拟合,降低了网络的泛化能力,训练好的神经网络在进行风速预测时,也会产生较大的误差。
针对单一BP神经网络风速预测中存在的初始化不确定和大量历史数据输入下的网络过度拟合问题,分别利用遗传算法的全局寻优能力和模糊聚类算法的数据筛选能力对BP神经网络的结构和数据进行二次优化,以期达到更准确的风速预测结果。
2.1遗传算法一次优化
首先利用遗传算法来解决单一BP神经网络风速预测中存在的初始化不确定问题。
BP神经网络在预测风速之前,必须按照实际情况进行神经网络的结构确定和参数的初始化,而在确定网络结构和初始化参数的过程中,存在结构和初始权值、阀值的不确定问题。针对这两个问题,本文提出一种GA-BP算法,利用遗传算法(GA)的全局寻优能力[5]来优化BP神经网络的结构和初始权值、阀值,对BP神经网络进行一次优化。
该GA-BP算法实现步骤如下:
1)种群初始化
染色体实数可表示为:
其中,n1,n2,n3分别为输入层维数、隐含层神经元个数和输出层神经元个数;IW,LW分别表示输入层到隐层的连接权值和隐层到输出层的连接权值;IB,LB分别表示隐层神经元阀值和输出层神经元阀值。n1,n3为固定值,n2的取值范围[4]为
2)适应度函数
该算法目的是在使用BP神经网络进行预测时,预测值与期望值的残差尽可能小,因此选择预测样本的预测值与期望值的均方误差作为目标函数[5]:
式中:vˆk为k时刻的风速预测值,vk为k时刻的风速实测值,n为样本数量。
3)选择操作
选择操作是从旧群体中以一定概率选择优良个体组成新的种群,以繁殖得到下一代个体。个体被选中的概率跟适应度值有关,个体适应度值越高,被选中的概率越大,个体i被选中的概率为
其中,Fi为个体i的适应度;N为种群数目。
4)交叉操作
交叉操作就是指从种群中随机选择两个染色体,通过两个染色体的交换组合,产生新的优秀个体。由于个体采用实数编码,所以交叉操作采用实数交叉法,第k个染色体ak和第l个染色体al在j的交叉操作方法是
其中,b是[0,1]区间的随机数。
5)变异操作
变异操作的主要目的是为了维持种群的多样性。变异操作从种群中随机选取一个个体,选择个体中的一点进行变异以产生更优秀的个体。第i个个体的第j个基因aij进行变异操作的方法为
其中,amax,amin分别为基因aij的上界和下界;f(g)=r2(1-g/ Gmax)2,r2是一个随机数;g是当前迭代次数;Gmax是最大进化次数;r为[0,1]之间的随机数。
6)择优
对于不同种群,重复3)~5)操作,直到达到迭代次数或者目标函数达到设定值,停止进化并从中选择最优个体,这时候算法得到的最优个体就是最优的BP神经网络初始权值和阀值,该个体中同时包含了神经网络隐层神经元个数的信息。
7)筛选
10个不同的种群得到的最优权值和阀值分别初始化10个隐层为n2(n2取3~12)的BP神经网络,比较其目标函数,选取目标函数最小的一组作为整个算法的最优值,从中分析神经网络最优隐层神经元数目信息和最优权、阀值信息,完成优化。
2.2模糊聚类算法二次优化
本节使用模糊聚类算法对历史数据进行分类筛选来解决大量历史数据输入下的网络过度拟合问题,对BP神经网络进行二次优化,以求训练样本与预测样本有更大的相似度,从而提高网络的预测精度。
设n个数据样本为X={x1,x2,…,xn},c是要将数据样本分成的类型的数目,{A1,A2,…,Ak}表示相应的c个类别,各类别的聚类中心为{v1,v2,…,vk},uk(xi)是样本 xi关于聚类中心 vk的相似度(简写为uik)。
则模糊C-均值聚类算法的流程如下[6]:
1)随机将样本分为c类,将这c类数据的质心作为初始聚类中心{v1,v2,…,vk};
2)计算xi关于聚类中心vk的欧几里得距离dik:
其中,m为样本的特征数。
3)计算xi关于聚类中心vk的相似度uik:
由式(6)可知样本xi关于聚类中心vk的欧几里德距离dik越大,其相似度uik越小,根据此特性计算样本xi关于所有聚类中心{v1,v2,…,vk}的相似度,并将xi归类于相似度最大的类别Ak;
4)分类后重新计算各聚类的质心,作为新的聚类中心{v1,v2,…,vk};
5)重复2)~4),不断计算修改xi关于聚类中心vk的相似度uik并修正各类的聚类中心{v1,v2,…,vk},直至聚类中心不再改变或者达到最大迭代次数。
经过上述二次优化,彻底解决了单一BP神经网络风速预测中的初始结构确定困难以及大量历史输入下的过度拟合问题,大大优化了BP神经网络的初始结构和数据输入,下一节将分别给出单一BP神经网络风速预测结果及误差、一次优化网络(GA-BP网络)预测结果及误差、二次优化网络(FCM-GA-BP网络)预测结果及误差以及它们之间的预测结果对比,以说明本节两次优化递进的改善了BP神经网络的预测效果。
3.1一次优化网络(GA-BP)风速预测结果
以我国宁夏某风电场实测风速数据为例[7],风速数据为每小时取样一次,共计31天的数据。将前30天的数据划分作为训练集,最后一天的数据作为预测数据。
依然数据,对GA-BP神经网络进行训练,并进行预测,预测结果如图2所示,其与未经优化的单一BP神经网络的预测结果对比如图3所示,预测误差对比如表1所示。
图2 BP神经网络与GA-BP神经网络短期风速预测比较图
图2为GA-BP、BP两种神经网络用于短期风速预测的预测曲线比较图,通过图上3条曲线的对比,能够很直观的看出,经过一次优化的网络(GA-BP神经网络)输出的预测曲线更逼近实际值曲线,预测精度大大高于单一的BP神经网络的预测精度。说明了通过对单一BP神经网络进行结构与初始赋值的一次优化可以提高预测的精确度,因此优化后的网络更适合用来对风速进行短期预测。
3.2二次优化网络(FCM-GA-BP网络)风速预测结果
仍使用3.1节所使用数据,对二次优化网络进行训练,并用于预测,其风速预测的仿真结果如图3所示。
图3 3种短时风速预测比较图
表1 3种短时风速预测误差对比表
从表1中可以看出二次优化网络(FCM-GA-BP网络)预测的误差结果比没有经过模糊聚类优化的GA-BP神经网络预测的误差要小,说明先对历史数据通过模糊聚类技术进行预处理后再输入GA-BP神经网络,能得到更加精确的短期风速预测值。
图3给出的是FCM-GA-BP、GA-BP和BP神经网络的短期风速预测曲线比较图。通过以上3条曲线的对比可以看出,二次优化网络(FCM-GA-BP神经网络)输出的风速预测曲线与实际风速曲线的拟合度要高于一次优化网络(GA-BP神经网络)输出的风速预测曲线与实际风速曲线的拟合度。说明先对历史风速数据进行模糊聚类预处理,将大量历史数据依据聚类相似度进行筛选,把与预测日相仿的几日的数据作为训练数据输入到GA-BP神经网络中对短期风速进行预测,可以大大提高神经网络的预测精度。
从以上所有仿真可以看出,一次优化网络风速预测结果要优于单一BP神经网络预测结果,二次优化网络预测结果要优于一次优化网络的预测结果,这说明本文的两次优化过程递进的改善了单一BP神经网络的风速预测效果,大大挺高了其用于风速预测的精确度。
BP神经网络以其使用方便、适应性强、形式多变等特点被广泛应用于风速预测中,但BP神经网络的结构确定困难、初值选择盲目以及大量历史数据下的过度拟合等问题大大影响了BP神经网络风速预测的精确度。针对这些问题,文中首先利用遗传算法的全局寻优能力来解决网络的结构和初值选择的问题,然后利用聚类算法的数据筛选能力优化了BP神经网络的数据输入,从而从结构和数据两个方面对BP神经网络进行了双重改进,克服了BP神经网络自身的缺陷,大大提高了BP神经网络的风速预测的精确度。
[1]鲍永胜,吴振升.基于SVM的时间序列短期风速预测[J].中国电力,2011,44(9):61-64.
[2]杨秀媛,肖洋,陈树勇.风电场风速和发电功率预测研究[J].中国电机工程学报,2005,25(11):1-5.
[3]王德明,王莉,张广明.基于遗传BP神经网络的短期风速预测模型[J].浙江大学学报:工学版,2012,46(5):837-841.
[4]陈忠.基于BP神经网络与遗传算法风电场超短期风速预测优化研究[J].可再生能源,2012,30(2).
[5]Frank H F LEUNG,Lam H K,Ling S H,et al.Tuning of the structure and parameters of a neural networkusing an improved genetic algorithm[J].IEEETrans on Neural Networks,2003,14(1):79-88.
[6]U K Saha,S Thotla,D Maity.Optimum designconfiguration of savoniusrotorthrough wind tunnel experiments[J].Journal of Wind Engineering and IndustrialAerodynamics,2008,96: 1359-1375.
[7]傅蓉,王维庆,何桂雄.基于气象因子的BP神经网络风电场风速预测[J].可再生能源,2009,27(5):86-89.
The improved BP network wind speed forecasting method based on gemetic algorithm and fuzzy c-means algorithm
WU Gang1,XU Feng2,WANG Bing2,XU Si-zhe2
(1.Jiangsu Fangtian Electric Technology Co Ltd,Nanjing 211102,China;2.College of Energy and Electrical Engineering,Hohai University,Nanjing 211100,China)
Aiming at the structure uncertainty and network overfitting problem of BP neural network used in wind speed forecasting,by using global search ability of genetic algorithm and data filtering capability offuzzy c-means algorithm to optimize structure and data of BP neural network,the improved wind speed forecasting method is proposed based on genetic algorithm and fuzzy c-means algorithm,the simulation results show that,the improved wind speed forecasting method improves the accuracy of wind speed forecasting enormously.
short-term wind speed forecasting;BP neural network;genetic algorithm;fuzzy C-means algorithm;quadratic optimization
TN711
A
1674-6236(2016)11-0120-04
2015-06-29稿件编号:201506245
国家自然科学基金(51007019)
吴 钢(1975—),男,江苏扬州人,高工。研究方向:智能电网产品研究设计。