法律状态公告日
法律状态信息
法律状态
2014-01-08
未缴年费专利权终止 IPC(主分类):G01L3/24 授权公告日:20120111 终止日期:20121111 申请日:20091111
专利权的终止
2012-01-11
授权
授权
2010-06-30
实质审查的生效 IPC(主分类):G01L3/24 申请日:20091111
实质审查的生效
2010-05-12
公开
公开
技术领域
本发明涉及一种用于风电场风电功率预测的方法,特别涉及一种基于遗传算法优化BP神经网络的风电功率预测方法。
背景技术
随着风电规模的扩大,风电并网所引发的一系列问题急需解决,其中包含对含风电场的电力系统调度问题,风电功率的准确预测是解决这一问题的关键。准确的风电功率预测有助于电力部门制定出有效的发电计划,从而保证电力系统的安全稳定经济运行,因此,风电功率预测是风电调度的必要前提和重要支撑。目前的预测方法主要有:v-P曲线法,即首先预测风速,再根据风电功率与风速的曲线求取风速功率值;另一种是直接预测法,即直接根据风电功率历史数据和影响风电功率的物理因子预测其输出。本发明方法是基于后者。
1风电机输出功率模型
风电机输出功率公式为:
Pw=CpAρv3/2 (1)
式中:Pw为风轮输出功率,kW;Cp为风轮的功率系数;ρ为空气密度,kg/m3;A为风轮扫掠面积,m2;v为风速,m/s。
2BP神经网络风电功率预测模型
按一定时间间隔取值所构成的时间序列间存在着一定的关系,本发明方法所建立的预测模型主要就是基于建立未来数据与历史数据的函数映射关系,从而根据历史数据预测未来输出。人工神经网络中的BP神经网络是被应用得最广泛和成熟的网络,它具有很好的函数逼近能力,含一个隐层的网络就可以实现任意非线性预测。对于风电功率预测来说,可以将任意不同性质的影响风电功率输出的数据作为BP神经网络的输入数据,将待预测的风电功率作为输出数据,并实现二者的映射。
考察风电机输出功率模型:从物理原理的角度看,风电功率的大小与风速、风轮机的扫风面积和功率系数,以及空气密度有关,其中空气密度又与温度、湿度、大气压强有关:温度越低,湿度越小,压强越大,空气密度越大;而从统计学的角度看,风电功率的输出还与其历史输出功率密切相关。综合以上,将风电功率、风速、风向、温度、湿度及大气压强作为BP神经网络的输入数据,又由于需要进行跨测量时间间隔的多步预测,将包括风电功率在内的所有物理量均作为BP神经网络的输出。
其预测模型可描述为:
式中,分别表示风电功率,风速,风向正弦,风向余弦,温度,湿度和大气压强在t时刻的预测值;等式右边中括号内分别表示以上各物理量的历史实际测量值;Δt表测量时间间隔,f表示未来数据与历史数据间的映射关系。
以上模型只能预测未来Δt时刻的值,若将等式左边的预测值代到等式右边,反复利用以上模型,则可以预测未来q*Δt时刻的值,q为预测的次数,称之为预测宽度。可知,预测时间尺度tp=Δt×q。
若Δt=10min,q=1,则预测10min后的值;若Δt=10min,q=2,则预测20min后的值;若Δt=1h,q=1,则预测1h后的值;若Δt=1h,q=3,则预测3h后的值。
现有的基于BP神经网络的预测方法在训练BP神经网络时主要是梯度最速下降法,在此基础上的许多的改进方法都具有很好的性能,但仍旧存在以下问题:
(1)预测过程中BP神经网络收敛速度慢且训练过程可能陷于局部最小,导致预测时间增加,预测精度降低,这需要通过改变BP神经网络各权值和阈值的初始值,进行多次训练予以改善;
(2)由于至今没有确定BP神经网络结构的有效方法,实际预测过程中隐层神经元数大多通过试算法决定,当数据改变时,已训练好的BP神经网络可能无法继续适用,进一步影响预测结果;
(3)现有预测方法对数据的依赖性较大,当遇到不良数据时,BP神经网络训练将变得难以收敛,此时计算时间将明显增加,预测系统不够稳定。
现有的基于BP神经网络的预测方法所存在的以上问题在一定程度上限制了其在实际风电功率预测中的应用。
发明内容
本发明针对现有技术的不足,提出一种遗传算法优化BP神经网络的风电预测方法,采用多种群编码,同时优化了BP神经网络的结构和权值及阈值的初始值,大大改善了BP神经网络的性能,使预测精度提高,运算时间较少,风电功率预测系统稳定性增强。
同时在Matlab7.8平台上编程,并利用Matlab自带的神经网络工具箱和Sheffield大学编写的遗传工具箱。
本发明的技术方案如下:
一种基于遗传算法优化BP神经网络的风电功率预测方法,包括如下步骤:
(1)数据的获取和预处理:从风电功率预测系统的数据处理模块中获取指定时间范围内的风电机输出功率、风速、风向、气温、湿度及大气压强数据,由此得到训练集和预测集并分别归一化处理;
(2)结合经归一化后的训练集和预测集构建BP神经网络,进行一次预测:
(2.1)判断风速变化是否超过设定阈值,若是,则转向(2.2),若否,则直接转向(2.4);
(2.2)根据输入输出数据的维数,确定BP神经网络隐层神经元数的范围以及输出层神经元数,据此形成遗传算法中的多个种群,每个种群具有相同个体数和不同变量数;
(2.3)对每个种群初始化并采用遗传算法进化优化:用选择、交叉、变异遗传操作在前代种群的基础上产生新一代种群,计算适应度值,判断遗传算法收敛条件是否满足并从所有种群中选择最优个体,该个体同时包含了BP神经网络的结构和权值及阈值的初值信息;
(2.4)根据上述最优个体所提供的结构、权值、阈值信息创建BP神经网络并对其初始化,利用经归一化后的训练集数据作为BP神经网络输入输出数据,用学习率可变的动量BP算法进一步训练BP神经网络直至收敛;
(2.5)对上述训练好的BP神经网络输入经归一化后的预测集数据,对BP神经网络输出进行反归一化处理得到输出数据;
(3)判断预测宽度q值大小,并据此控制预测次数:
(3.1)若预测宽度q>1,则用最新一次预测的输出数据更新训练集和预测集,并转向步骤(2),同时q=q-1;
(3.2)若预测宽度q=1,则本轮预测结束,从输出数据中提取待预测的风电功率数据作为本轮预测结果,并进入步骤(4);
(4)根据设定的预测轮数判断是否结束风电功率预测系统的预测工作:
(4.1)若实际预测轮数达到设定的预测轮数则结束预测工作,将风电功率预测系统的预测数据显示供电网调度部门使用;
(4.2)若预测工作尚未结束,则首先将已预测的风电功率预测数据显示,然后等到下一轮预测开始时从风电功率预测系统的数据处理模块中获取实时测量数据更新训练集和预测集,转向步骤(2)进行新一轮的预测。
进一步地,步骤(1)中,
所述的指定时间范围内的风电机输出功率、风速、风向、气温、湿度及大气压强数据是指一定个数的等时间间隔的按时间先后顺序排列的一组数据:
Var=[var(t-(n+r)Δt),var(t-(n+r-1)Δt,...,var(t-Δt)],其中var=Pw,v,vds,vdc,T,H或P (3)
式中,Pw为风电功率,v为风速,vds为风向正弦,vdc为风向余弦,T为温度,H为湿度,P为大气压强;t为待预测时刻,Δt为测量时间间隔,n为训练集输入数据的组数,r为训练集单个物理量每组数据维数,因此共需获取7*(n+r)个数据;
所述训练集和预测集由如下方法得出:
首先列出训练集单个物理量的输入输出分别为:
Varto=[var(t-nΔt)var(t-(n-1)Δt)...var(t-2Δt)var(t-Δt)]
以及预测集单个物理量的输入输出分别为:
Varpi=[var(t-rΔt)...var(t-2Δt)var(t-Δt)],
其中var=Pw,v,vds,vdc,T,H或P (5)
式中,Varti为训练集单个物理量的输入矩阵,Varto为训练集单个物理量的输出向量,Varpi为预测集单个物理量的输入向量,为预测集单个物理量输出值;
接着由上述Varti、Varto、Varpi、得到训练集和预测集:
训练集输入输出:输入:
预测集输入输出:
输入:
式中,ITs表示训练集输入矩阵,OTs表示训练集输出矩阵,IPs表示预测集输入向量,表示预测集输出向量,符号“′”表示转置,由上式可知,训练集和预测集具有相同的形式,只是矩阵的列数和具体数据不相同,矩阵的列数代表训练集或预测集的组数,行数为各物理量输入维数之和;
所述归一化处理具体是:
①训练集输入数据按行进行归一化:
式中:xti(t)是归一化前数据;gti(t)为归一化后数据;mean(xti(t))为训练集输入数据中xti(t)所在行的平均值;std(xti(t))为上述xti(t)所在行的标准偏差;这样处理后数据平均值为0,标准偏差为1,
②训练集输出数据同样按行进行归一化:
式中:xto(t)是归一化前数据;gto(t)为归一化后数据;mean(xto(t))为训练集输入数据中xto(t)所在行的平均值;std(xto(t))为上述xto(t)所在行的标准偏差;
③预测集输入数据的归一化:
式中:xpi(t)是归一化前数据;gpi(t)为归一化后数据;
④预测集输出数据反归一化:
式中:xpo(t)是反归一化前数据;gpo(t)为反归一化后数据。
进一步地,步骤(2.2)中所述输入输出数据维数分别指训练集总输入矩阵行数R=7*r和训练集总输出矩阵行数;输出层神经元数S2与输出数据维数相等,S2取值为7;所述隐层神经元数范围是:a为1~10中的自然数,所述的相同个体数是指编码时不同种群染色体个数,不同变量数是指BP神经网络可调变量个数:
nvar=S1×R+S1+S2×S1+S2 (12)
由上式可知,根据S1取值不同,将产生10个种群,各种群染色体的变量数各不相同。
进一步地,步骤(2.3)中对不同种群编码并初始化及采取的遗传操作包括:
①编码并随机生成初始种群
采用实数编码,随机产生10个种群,各种群变量数不同,即长度不同,染色体个数Nind相同,其中第i个种群中的一个个体Xi可表示为:
式中,IW为输入层到隐层权值,有S1*R个;Ib为隐层阈值,有S1个;LW为隐层到输出层权值,有S2*S1个;Lb为输出层阈值,有S2个;最终形成的初始种群为:
其中,Chrom表示初始种群,op表示子种群,Nind表示每个种群中的个体数;nvar1~nvar10中的下标与a的取值一致,表示所产生10个种群中各个种群的长度,即BP神经网络可调变量个数;
②个体适应度评估
首先计算目标函数,目标函数计算公式为:
式中:表t时刻预测值,var(t)表t时刻实际值,目标函数实质为预测值与实际值的均方差,故目标函数越小,适应度越大;
再对目标函数进行降序排序,同时给定一组适应度值,根据目标函数值所在的位置分配适应度值;若适应度值范围为[0,2],对于一个有Nind个个体的种群,处在第pos个位置上的个体的适应度为:
pos的取值为1~Nind;(16)
③对每个种群中分别进行选择、交叉、变异进化操作生成新种群,并采用②中所述方法对新种群的个体适应度进行评估;
④优化终止条件判断
判断BP神经网络优化终止条件是否满足,若优化终止条件满足,则BP神经网络优化过程结束,输出最优个体,它同时包含了BP神经网络的结构、权值和阈值信息;否则,返回对每个种群重新进行优化,优化终止条件为进化过程达到一定的代数,或连续若干代进化BP神经网络优化目标函数值没有变化。
进一步地,步骤(3)中所述预测宽度q是指从已有的实际数据所在时刻算起,向后推一个Δt的时间段为一个预测宽度,其计算公式为其中t为预测时刻,ts为已有的实际数据所在时刻,Δt为测量时间间隔,q必须为大于0的自然数,预测宽度决定了一轮预测的预测次数。
本发明方法与现有的BP神经网络训练方法相比的有益效果在于:
一、本发明采用的遗传算法本质上属于随机寻优,可以在全局范围内寻得一个近优解,再在此基础上用原有的BP神经网络训练方法寻找最优解,避免了陷于局部最优,使风电功率预测系统的预测精度提高,计算时间减少,稳定性增强。
二、本发明的预测系统采用多种群编码,各种群变量在内部进化,全局竞争,最后得到的最优个体不仅包含了权值阈值的初始值信息,还包含了隐层神经元数信息,从而实现了对BP神经网络结构的优化,进一步减少预测系统的计算时间,增强系统的稳定性。
三、现有的基于BP神经网络的预测方法对数据的依赖性很大,当遇到不良数据时,BP神经网络将变得很难收敛,训练时间成倍增长,本发明的预测方法对数据要求相对较低,它属于并行搜索,搜索效率高,使风电预测系统的稳定性大大增强。
附图说明
图1是具体实施方式中所述风电预测系统构成图;
图2是实施方式中基于BP神经网络的风电功率预测模型图;
图3是实施方式中预测方法的总体流程图;
图4是实现一次预测的流程图;
图5是实施方式中选择、交叉、变异进化操作生成新种群流程图;
图6是实施方式中预测效果图;
图7是BP神经网络优化前收敛性能图;
图8是BP神经网络优化后收敛性能图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
图1是本发明风电预测系统构成图,它说明了风电功率预测系统的构成、作用及其实现过程。以风电预测系统中的数据处理模块为中心,一方面从测量模块获取风速、风向、温度、湿度及大气压强的实际测量数据,另一方面从现电力部门已有的EMS/SCADA模块获取风电场发出的风电功率数据;预测模块接收到电网调度部门的控制指令,按其要求直接从数据处理模块获取所需的历史数据进行预测并将结果反馈到数据处理模块,调度部门再从数据处理模块中读取风电功率预测值并据此来制定调度计划。
图2是基于BP神经网络的风电功率预测模型图。其中I、O分别是BP神经网络的输入、输出,R表示输入层维数,s1、s2分别表示隐层和输出层的神经元数,IW、LW分别表示输入层到隐层的权值矩阵和隐层到输出层的权值矩阵。每一个神经元用一个节点表示,BP神经网络由输入层、输出层和隐层节点组成。隐层可以是一层或多层,每一层的神经元仅通过权值与下一层的神经元相连接,本层内神经元无相互连接。
实际利用BP神经网络进行风电功率预测时,输入层包含的物理量有:风电功率、风速、风向正弦、风向余弦、温度、湿度和大气压强,每个物理量的维数相同,设为r,最后BP神经网络输入向量的总维数为R=7*r;相应的输出包括:风电功率、风速、风向正弦、风向余弦、温度、湿度和大气压强,其维数各为一维,因此输出向量的总维数为7维。
图3是本发明的总流程图。下面对其执行程序进行具体说明:
(1)首先获取数据并进行预处理,从风电预测系统的数据处理模块中获取指定时间范围内的风电机输出功率、风速、风向、气温、湿度及大气压强数据,由此得到训练集和预测集并分别归一化处理;
(2)结合经归一化后的训练集和预测集构建BP神经网络,进行一次预测:
①判断风速变化是否超过设定阈值,若是,则转向②,若否,则直接转向④;
②根据输入输出数据的维数,确定BP神经网络隐层神经元数的范围以及输出层神经元数,据此形成多个种群,每个种群具有相同个体数和不同变量数;
③对每个种群初始化并采用遗传算法进化优化,用选择、交叉、变异遗传操作在前代种群的基础上产生新一代种群,计算适应度值,判断遗传算法收敛条件是否满足并从所有种群中选择最优个体,此个体同时包含了神经网络的结构和权值及阈值的初值信息;
④根据最优个体所提供的结构、权值、阈值信息创建BP神经网络并对其初始化,将经归一化后的训练集数据作为BP神经网络的输入输出数据,用学习率可变的动量BP算法进一步训练网络直至收敛;
⑤对上述训练好的BP神经网络输入经归一化后的预测集数据,对BP神经网络输出进行反归一化处理得到输出数据;
(3)判断预测宽度q值大小,并据此控制预测次数:
①若预测宽度q>1,则用最新一次预测的输出数据更新训练集和预测集,并转向步骤(2),同时q=q-1;
②若预测宽度q=1,则本轮预测结束,从输出数据中提取待预测的风电功率数据作为本轮预测结果,并进入步骤(4);
(4)根据设定的预测轮数判断是否结束风电功率预测系统的预测工作:
①若实际预测轮数达到设定的预测轮数则结束预测工作,将风电功率预测数据显示供系统调度部门使用;
②若预测工作尚未结束,则首先将已获得的风电功率预测数据显示,然后等到下一个时间段到来时从数据处理模块中获取实时测量数据更新训练集和预测集,转向步骤(2)进行新一轮的预测。
图4是本发明实现一次预测的流程图,即为图3说明中(2)步骤中②~⑤的细化流程图。下面对其执行程序进行具体说明:
(1)数据获取。包括:
经归一化后的训练集和预测集数据;
遗传算法各项参数:每个种群的变量个体数,最大迭代次数,选择代沟,交叉率,变异率,迭代停止参考值;
BP算法各项参数:目标函数值,最大迭代次数;
(2)权值阈值编码,形成初始种群:
采用实数编码,根据输入输出数据维数,随机产生10个种群,各种群变量数不同,即长度不同,染色体个数Nind相同,其中第i个种群其中的一个个体Xi可表示为:
式中,IW为输入层到隐层权值,有S1*R个;Ib为隐层阈值,有S1个;LW为隐层到输出层权值,有S2*S1个;Lb为输出层阈值,有S2个;最终形成的初始种群为:
其中,Chrom表示初始种群,op表示子种群,Nind表示每个种群中的个体数;nvar1~nvar10中的下标与a的取值一致,表示所产生10个种群中各个种群的长度,即BP神经网络可调变量个数;
(3)计算个体适应度值
首先计算目标函数,目标函数计算公式为:
式中:表t时刻的预测值,var(t)表t时刻的实际值;目标函数实质为预测值与实际值的均方差,故目标函数越小,适应度越大;
再对目标函数进行降序排序,同时给定一组适应度值,根据目标函数值所在的位置分配适应度值;若适应度值范围为[0,2],对于一个有Nind个个体的种群,处在第pos个位置上的个体的适应度为:
pos的取值为1~Nind;
(4)对各种群采取进化操作生成新种群
对每个种群中分别进行选择、交叉、变异进化操作生成新种群,并采用(3)中所述方法对新种群的个体适应度进行评估;其详细流程如图5;本发明方法采用了Sheffield大学编写的遗传工具箱,所采用的选择、交叉、变异函数分别为:sus,xovdp,mutbga;
(5)优化终止条件判断
判断BP神经网络优化终止条件是否满足,若优化终止条件满足,则BP神经网络优化过程结束,输出最优个体,此个体同时包含了BP神经网络的结构、权值和阈值信息,转向(6);否则,返回(4)对每个种群重新进行优化,优化终止条件可取为进化过程达到一定的代数,或连续若干代进化BP神经网络优化目标函数值没有得到改善;
(6)根据上述选取的最优个体得到隐层神经元数,利用Matlab自带的神经网络工具箱创建BP神经网络,且选用对数S形传输函数logsig为输入层到隐层传输函数,线性传输函数purelin为隐层到输出层传输函数,并进一步根据个体中包含的权值和阈值信息初始化所创建的网络;
(7)利用经归一化后的训练集作为输入输出数据,用神经网络工具箱中学习率可变的动量BP算法traingdx对BP神经网络进行训练,进一步调整权值和阈值;
(8)收敛条件判断
判断BP神经网络收敛条件是否满足,若收敛条件满足,则训练结束,保存训练好的网络转向(9)步;若不满足,则返回(7)继续训练,收敛条件取为训练达到设定的目标函数值或者达到设定的最大迭代次数;
(9)对上述训练好的BP神经网络输入归一化后的预测集值,并对输出进行反归一化处理即可得预测输出值,包含:风电功率、风速、风向正弦、风向余弦、温度、湿度和大气压强。
为了说明本发明的原理,用一个具体实例来演示整个预测过程。采用某风电场某日下午12:00~16:10时每间隔10min测得的数据。
1、输入数据
(1)各历史测量数据如表1所示,其中温度、湿度及大气压强的数据分别以第一个值为标准量进行标准化处理。
表1
(2)其他各项参数
遗传算法和BP神经网络各项参数设置如表2所示:
表2
2、数据预处理
(1)数据分类
根据输入向量组数n和单位维数r的值将表1中的数据按照(4)~(7)式分为训练集和预测集,分类如下:
训练集:
训练集输入
训练集输出向,即目标矩阵
预测集:
Pwpi=[95 95 93.33 93 93 93 92 91.05 89.09 89 89.09 89 89.09 88 87.27 87 87 87 86 86]
vpi=[12.3 12.3 11.8 11.7 11.7 11.3 11.1 11.0 10.8 10.8 10.7 10.5 10.5 10.4 10.4 10.3 10.2 10.2 10.3 10.2]
wdspi=[0.1 0.13 0.12 0.11 0.1 0.1 0.12 0.11 0.12 0.13 0.1 0.1 0.11 0.12 0.11 0.1 0.12 0.13 0.14 0.12]
vdqi=[0.995 0.992 0.993 0.994 0.995 0.995 0.993 0.994 0.993 0.992 0.995 0.995 0.994 0.993 0.994 0.995 0.993 0.992 0.990 0.993]
Tpi=[1.13 1.13 1.15 1.16 1.16 1.17 1.18 1.19 1.20 1.20 1.21 1.22 1.22 1.23 1.23 1.24 1.24 1.25 1.24 1.25]
Hpi=[1.03 1.03 1.05 1.07 1.07 1.08 1.08 1.09 1.09 1.10 1.11 1.12 1.12 1.14 1.14 1.15 1.15 1.15 1.14 1.16]
Ppi=[ 0.993 0.993 0.992 0.992 0.992 0.990 0.99 0.989 0.989 0.989 0.988 0.987 0.987 0.986 0.986 0.985 0.985 0.985 0.986 0.984]
预测集输入向量:
(2)数据归一化
将以上训练集输入向量ITs,训练集输出向量OTs,预测集输入向量IPs分别按式(8)~(10)所列方法进行归一化处理,处理后的数据变为:
训练集:
综合得
预测集:
Pwgpi=[-0.085 0.865 -1.94 -1.63 -1.01 -0.61 -6.56 -3.4 -3.39 -1.37 -0.805 -0.56 0.866 -20.11 -2.87 -1.54 -0.90 -0.67 -7.91 -1.5]
vgpi=[-0.35 0.261 -7.79 -1.89 -1.02 -2.0 -2.37 -1.5 -1.53 -1.2 -1.5 -2.58 -1.41 -1.5 -0.99 -2.60 -2.45 -1.31 0.261 -0.87]
vdsgpi=[-0.78 2.5 0.5 -1.17 -0.16 -1.16 0.306 0.261 1.306 1.828 -2.45 -1.16 -0.17 0.707 0.261 -1.22 1.225 1.828 1.937 -0.15]
vdcgpi=[0.783-2.5 -0.5 0.167 1.162 1.162 -1.31 -0.26 -1.31 -2.87 1.788 1.025 0.261 -0.40 -0.26 1.225 -1.22 -1.83 -2.71 0.240]
Tgpi=[0.446 -0.26 2.598 2.35 1.167 1.414 2.450 2.35 1.937 24.40 -0.37 -0.37 -0.43 -0.41 1.225 2.598 1.225 2.598 0 1.5]
Hgpi=[0.439 0 3.5 3.5 1.306 1.306 0.993 2.598 1.225 2.598 2.45 2.35 1.162 12.27 1.495 1.024 0.616 2.598 0 1.5]
Pgpi=[-0.83 -1.5 -2.60 -1.22 -0.87 -4.5 -1.5 -1.73 -0.99 -0.87 -2.5 -3.5 -1.31 -1.83 -1.22 -2.60 -1.22 -0.87 1.5 -2.5]
综合得:
3、权值阈值编码,形成初始种群
1)首先求隐层的范围:(a取1到10之间的自然数);
2)求取变量数数组,n var=S1×R+S1+S2×S1+S2,由于S1不同隐层所对应的变量数各不相同:
n var=[1931 2079 2227 2375 2523 2671 2819 2967 3115 3263]
3)随机生成10个大小不同的种群:
4、遗传算法求解
对所形成的每个种群分别进行选择、交叉和变异操作,最终求得最优个体,得到各项参数的结果为:目标函数值为0.0098,隐层数为17,进一步将其形式加以转化,对BP神经网络隐层权值IW17×140、隐层阈值Ib17×1、输出层权值LW7×17、输出层阈值Lb7×1分别初始化,例如,其中LW7×17、Lb7×1分别为:
5、学习率可变的动量BP算法进一步训练网络
用学习率可变的动量BP算法对上述初始化后的BP神经网络继续训练,最终求得目标函数为0.00001,对应的进一步调整后的权值和阈值分别为:
比较以上结果可知,学习率可变的动量BP算法只在遗传算法所得结果上进行微调,故收敛速度很快,平均收敛迭代次数为80~120。保存训练好的BP神经网络。
6、利用上述训练好的BP神经网络预测风电功率
对以上训练好的网络输入预测集,并按(11)式对BP神经网络输出进行反归一化处理,可得输出为:
以上是用1~24个数值预测出各物理量的第25个值,由于q=1,故预测的是后10min的值,用第25个实际测得的值,即16:00所测得的值更新输入数据,重复以上过程,用第2~25个数值预测出第26个值。最后结果如表3:
表3
7、结果比较分析
(1)误差分析
用平均绝对误差err_abs和平均相对误差err_rel作为评估预测精度的指标,其计算式如下:
式中:为预测风电功率,Pws为相应的实测风电功率,N为预测数值的总个数。
图6给出了本发明方法的预测效果图,横坐标为数据个数,纵坐标为风电功率大小,单位为MW;图中有两条曲线,带星号的实线为实测数据,虚线为预测值。按上式计算所得的最大绝对误差为9.37MW,平均绝对误差为1.52MW,最大相对误差为10.43%,平均相对误差为2.07%。预测效果较好。
(2)收敛性能分析
图7、图8分别为优化前和优化后学习率可变的动量BP算法收敛性能比较图,横坐标为收敛步数,纵坐标为目标函数值,比较二图可见,优化前BP神经网络很不稳定,在用试算法选择隐层神经元数的过程中,收敛速度非常慢,达到了最大收敛步数10000次,且最终未达到设定的目标函数值,而经遗传算法优化后的BP神经网络只要91步就可以收敛,且比较稳定,故最终预测用时也相应减少。综合可知,采用本发明方法的风电功率预测系统预测精度提高,用时减少,稳定性增强,整体性能得以显著改善。
机译: 基于BP神经网络的中央空调冷却负荷预测方法。
机译: 基于时间序列和神经网络的风电功率预测方法
机译: 基于神经网络技术的风电功率密度预测方法