基于小波包和改进纵横交叉法的风电预测模型

2017-08-17 00:36马留洋葛佳菲
宁夏电力 2017年3期
关键词:父代波包交叉

马留洋,葛佳菲

(广东工业大学自动化学院,广东 广州 510006)

新能源发电技术

基于小波包和改进纵横交叉法的风电预测模型

马留洋,葛佳菲

(广东工业大学自动化学院,广东 广州 510006)

针对风电出力的随机性、季节性和波动性及一般方法预测精度不高的问题,采用改进纵横交叉(improved crisscross optimization,ICSO)算法,建立了一种基于小波包变换与改进纵横交叉算法优化Elman神经网络的风电预测模型。仿真结果表明:改进的纵横交叉算法不但克服了一般算法早熟收敛的缺陷,有效提高神经网络的泛化能力和预测精度,而且表现出良好的稳定性,适用于风电的预测。

小波包变换;Elman神经网络;改进纵横交叉算法;风电预测

风能作为一种清洁的可再生能源,在近几年来受到越来越多的关注[1]。风电并网能带来巨大的经济效益,因此我国每年的风电装机数量也成倍地增长,但由于风电出力受温度、地形、海拔、季节、纬度、气压等多因素影响,会表现出明显的波动性和间歇性[2]。这会严重影响到电能质量和供电可靠性,同时也对风电大规模并网形成一定制约[3],因此,建立准确可靠的风电预测模型,是解决上述问题的一个有效途径之一,对实现大规模风电的逐步并网也有着重要意义。

1 研究现状及存在的问题

近些年来已经有大量关于风电预测模型的研究工作,目前主要采用的预测方法有神经网络[4]、支持向量机[5]、模糊集理论[6]等。其中,Elman神经网络因为其强大的信息处理能力和学习能力在预测领域得到广泛应用,但是,神经网络在训练时存在收敛速度慢、容易陷入局部最优的缺点[7]。针对神经网络固有的缺陷,文献[8]提出了小波变换和反向传播(back propagation,BP)神经网络的短期风速预报方案,对时间序列进行小波变换,再通过BP神经网络进行训练和预测。文献[9]提出了基于动态神经网络的风电场输出功率预测,以适应风功率的时间序列为样本,建立局部反馈延时和全部反馈延时2两种神经网络。文献[10]提出小波变换和改进克隆算法的风电预测神经网络。另外还有遗传算法、蚁群算法、粒子群算法等参数优化算法,其目的是改善神经元间的连接系数,进而提高神经网络的优化性能。尽管遗传算法、粒子群算法等优化方法可以改善神经网络的学习能力,一定程度上提高神经网络的预测精度,但是它们通常都面临过早收敛的问题,影响预测精度。

基于以上分析,本文旨在利用改进纵横交叉算法(improved crisscross optimization,ICSO)优化神经网络提高其性能,建立基于小波包变换与改进纵横交叉法优化Elman神经网络的风电预测模型,提高风电的预测精度。

2 方法理论及预测模型的建立

2.1 小波包变换

小波分解是一种把原始信号分解成多个子序列的数学方法,而且每次只对低频部分Ai(i=1,2,…)进行再分解。小波分解没有对高频分量Di(i=1,2,…)进一步的剖分,这种固定的分解方式对不同的分解目的而言不一定能达到最佳效果[11]。小波包分解(Wavelet Packet Decomposition, WPD)则解决上述问题。在同一级尺度上小波包分解能同时对低频和高频部分进行分解,形成一个完整二叉树结构,分解得到2j个子序列,j为分解层数,也就是尺度数[12]。图1所示为一个3层小波包分解结构示意图,S为原始序列,经过3层小波包分解得到8个子序列。

图1 三层小波包分解结构

2.2 改进纵横交叉算法

2.2.1 原始纵横交叉算法

纵横交叉算法(Crisscross Optimization,CSO)是受儒家思想和遗传学思想启发提出的智能搜索算法[13]。它主要由横向交叉和纵向交叉两个交叉算法组成。其中横向交叉进行全局搜索,纵向交叉进行小概率突变筛选。每次迭代2种算子交替进行,交叉后产生的中庸解通过贪婪选择机制与父代进行竞争,产生占优解作为下一次交叉的父代。纵横交叉算法的进程可以总结为:

(1)在可行域产生初始种群;

(2)执行横向交叉操作;

(3)执行纵向交叉操作;

(4)重复步骤2和3直到达到结束条件。

横向交叉是种群中不同粒子相同维之间的算术交叉,交叉前需要先对粒子进行两两随机配对,假设父代粒子 X(i)和 X(j)的第 d维 X(i,d)和X(j,d)进行横向交叉,则它们的中庸解可表示为

式中:c1、c2—[-1,1]之间的随机数;

r1、r2—[0,1]之间的随机数;

D—变量的维数;

M—粒子的个数;

X(i,d)、X(j,d)—粒子X(i)和X(j)的第d维;

MShc(i,d)和 MShc(j,d)—X(i,d)和 X(j,d)通过横向交叉产生的第d维中庸解。

从式(1)和式(2)可以看出,MShc(i,d)和MShc(j,d)是父代个体X(i,d)、X(j,d)在高维超立方体空间的新解。配对的粒子在以他们自己为顶点的超立方体内及其外源产生后代。一个2维粒子中庸解的概率密度分布如图2所示。从图2可以看出,横向交叉以较大概率在超立方体内产生子代的同时,也会以小概率跳出父代包含空间范围,在立方体外缘进行搜索。

图2 二维粒子中庸解的概率密度分布

不同于实值交叉的遗传算法,在超立方体中会存在无法触及的解缝隙,纵横交叉算法通过引入一个膨胀系数来决定搜索范围,从而扩大搜索战略。实验研究表明,膨胀系数为[-1,1]能有效地减少搜索盲区,这样的搜索机制能显著地增强CSO的全局搜索能力。

通过横向交叉产生的中庸解,将会与父代进行比较,只有比父代适应度好的粒子才能存活下来,否则将被淘汰。存活下来的解将被保存在占优解中作为下一次交叉的父代。

纵向交叉对防止收敛停滞不前和保持种群多样性起了关键作用。对大多数算法而言,他们陷入局部最优的主要原因是,部分维在种群更新中停止进化,我们将这种现象称之为陷入维局部最优。与横向交叉不同,纵向交叉是对相同粒子不同维的交叉。由于不同维之间的单位和取值一般不同,因此交叉前需要对各维粒子进行归一化处理。假设以粒子X(i)的第d1维和第d2维进行纵向交叉,交叉公式如下:

式中:r—0到1之间的随机数;

MSvc(i,d1)—父代粒子X(i)的第d1维通过纵向交叉产生的中庸解。

如式(3)所示,两个交叉的维只产生了1个子代,这是为了使停滞的维度跳出局部最优而又不破坏有可能正常的维。另外,纵向交叉概率参数PV用于控制执行纵向交叉的维数,实验标明当PV值设置在[0.2,0.8]之间时,CSO会取得很好的结果[13]。

与横向交叉相似,通过纵向交叉产生的中庸解将会与父代进行竞争,竞争胜利的解将保存在占优解中,占优解将会进行下一次交叉迭代。横向交叉和纵向交叉有机地结合即保证了算法的全局搜索能力,又能使陷入局部最优的维跳出困境,增强算法的收敛能力。

2.2.2 改进纵横交叉法

改进纵横交叉算法是在纵横交叉算子的基础上引入粒子群算法(Particle Swarm Optimization, PSO)的全局择优机制,对算法进行改善。粒子群算法是一种基于对鸟群觅食行为研究而提出的随机搜索算法,其算法由粒子位移更新和粒子速度更新2部分组成,易于实现和操作。粒子的更新以种群的全局最优值和个体历史最优值作引导,这种寻优机制使得算法的前期收敛速度较快,局部搜索能力较强[14]。但是相对应地,在算法进化后期容易陷入局部最优,全局收敛能力不足。相反,CSO算法的全局收敛能力强,但由于没有种群最优值的引导,前期收敛速度不如PSO。受此启发,在CSO中引入粒子群搜索寻优机制,其方程如下:

式中:k—迭代次数;

c1,c2—学习因子,非负常数;

r1和r2—区间[0,1]内的随机数;

vi—粒子i的飞行速度;

x—粒子的位置;

pgd和 pid—全局极值的第d维和粒子i个体极值的第d维。

改进纵横交叉法在CSO基础上加入了PSO的种群搜索方式,通过PSO和CSO交替对解空间进行探索与开发。横向交叉保证算法的全局搜索能力,式(4)和式(5)的更新方式加快算法的收敛速度,纵向交叉提供变异机制使得算法跳出局部最优,保持种群多样性,3种算子的完美结合提高了算法的全局寻优和变异搜索的能力。

2.3 WPD-ICSO-ENN风电预测模型

2.3.1 Elman神经网络

Elman神经网络(Elman neural network,ENN)在传统前馈神经网络的基础之上加入了内部的反馈连接。Elman神经网络的结构如图3所示,其中,U(k)和Y(k)分别代表输入和输出,W1,W2,W3代表权值。Elman由输入层、隐含层、输出层以及承接层构成。其中,输入层单元的作用是传递信号,输出层单元的作用是线性加权。隐含层单元采用线性或非线性的传递函数,承接层是用来将隐含层单元的输出值作为下一刻的输入。Elman神经网络比BP神经网络具有更强的动态行为以及计算能力,适用于建立时间序列的预测模型[15]。

图3 Elman神经网络结构

2.3.2 改进纵横交叉法优化Elman神经网络

Elman神经网络在预测过程中,采用梯度下降法调整权值和阈值,容易陷入局部最优,而且当影响因素和学习样本增多时,权值数和计算量将急剧增加,导致收敛速度慢。

而ICSO结合了PSO的粒子全局寻优能力,横向交叉的边缘搜索特性以及纵向交叉的变异更新能力,为克服神经网络固有缺点提供了可能。本文应用ICSO优化Elman神经网络的的权值和阈值,代替基本Elman神经网络误差反向传播训练,提高神经网络的学习速度和能力。

ICSO训练Elman神经网络的流程如下:

(1)建立Elman神经网络,设置基本参数。

(2)初始化种群,设置粒子群和纵横交叉的基本参数,包括:种群规模,最大迭代次数,惯性权重,学习因子,纵向交叉概率等。

(3)对群体中每个个体进行适应度评价,用如下均方误差公式(适应度函数)衡量每个粒子的适应值

式中:pt、̂t—神经网络的实际输出和目标输出;

N—训练样本数;

M—输出的维数。

(4)PSO搜索:通过式(4)和式(5)对于种群内每个粒子更新速度和位置,将粒子新位置的适应度与父代进行比较,适应度更好的保存在个体粒子最优值中。

(5)横向交叉:将种群内粒子两两配对成,每对粒子通过式(1)和式(2)进行横向交叉,产生一对中庸解MShc。然后计算MShc每个中庸解的适应度值,与PSO更新后的个体历史最优值进行比较,适应度更好的保留在个体粒子最优值中。

(6)纵向交叉:对种群所有粒子进行归一化处理,再对同一粒子的所有维进行随机配对,在交叉概率为PV下选取一定数量的维,通过式子(3)进行交叉产生子代,反归一化后与横向交叉更新后的个体历史最优值进行比较,择优保留在个体历史最优值中。

(7)迭代次数加1,是否达到结束条件(迭代次数和最小误差要求),如果达到,停止迭代,输出适应度最好的一组解作为神经网络的权值和阈值,否则转移到4)进行新一轮迭代。

(8)预测模型评价采用Mape误差函数

式中:Mape—预测值和实际值的平均绝对百分比误差。

2.3.3 WPD-ICSO-ENN预测模型

小波包-改进纵横交叉法优化Elman神经网络(WPD-ICSO-ENN)预测模型如图4所示。具体步骤如下:

(1)将风电原始时间序列进行3层小波包分解,得到8个不同频率的子序列;

(2)对上述子序列分别建立ICSO-ENN预测模型,并分别进行预测;

(3)将各个子序列的预测值叠加,得到风电预测值。

图4 WPD-ICSO-ENN风电预测模型

3 仿真验证

3.1 预测模型参数选择

3.1.1 风电时间序列的小波包分解

以比利时某风电运营商的实际运行数据(2012年至今)进行仿真,每15 min记录一次功率值,为了方便数据处理,将数据的分辨率转为1 h,以每小时平均功率为该时刻功率。图5为2012年12月27日至2013年1月4日的216个原始风电功率采样点。由图5可以看出风电功率有较强的非线性,在前50 h和后100 h表现出较大的波动性。

图5 原始风电时间序列

小波包分解的层数会直接影响风电的预测效果。若分解不彻底,则预测精度低,若分解过渡,则会破坏原本数据的规律性和内部有序性,增大边界效应,导致数据失真[16]。

通过实验来探索分解层数与预测精度间的变化规律,图6为分解层数与预测误差变化图。由图6可见,刚开始随着层数增大,预测误差逐渐减小。当层数到了第3层时出现最小值,继续增加分解层数误差反而不断增大,因此选择分解层数为3。

图6 预测误差与分解层数变化

3.1.2 神经网络隐含层节点数选择

神经网络的拓扑结构对网络训练有很大影响,节点数太少会导致网络学习能力不足,节点数过多会增加网络复杂性从而导致训练过程中容易陷入局部最优,而神经网络隐含层节点数的选取比较复杂,目前没有公认的标准解析式。一般隐含层节点数跟输入层和输出层节点数有关系,可采用以下经验公式:

式中:M,N—输入层和输出层节点数;

H—隐含层节点数;

t—常数,(1<t<10)。

通过改变t的值来确定H的大致取值范围[16]。图7为节点数取值[3,13]时的变化图。由图7可见,当隐含层层数为8时,预测误差最小,随着隐含层节点数的增加或减少,预测误差都有所上升。因此选取8为隐含层节点数。

图7 预测误差与隐含层神经元个数变化

3.2 仿真对比

分别使用Elman神经网络、小波包-Elman神经网络(WPD-ENN)、小波包-量子粒子群(quantum particle swarm optimization,QPSO)[17]-Elman神经网络(WPD-QPSO-ENN)以及小波包-改进纵横交叉法-Elman神经网络(WPD-ICSO-ENN)进行仿真对比。本文对采样点的前120 h进行建模,对121-216 h进行提前24 h的预测。

为了使实验保持公平,不同模型的神经网络参数保持相同。隐含层为8层,训练代数为60代,目标误差为0.001。ICSO算法中,种群大小设为M=30,最大迭代次数设为Maxgen=200,纵向交叉概率PV设为0.6。QPSO中搜索扩张系数从1.0线性下降到0.5。

采用上述4种方法对风电功率进行连续4天预测,预测结果如表1和图8所示。对表1进行分析可以得知,与未经处理的Elman神经网络相比,小波包处理过的神经网络,预测精度有显著的提升,这是由于风电时间序列经过小波包变换后,降低了不同频率信息间的干涉和耦合,得到一系列变换平稳的子序列,能更好地反应风电序列内在的变化规律。

表1 算法的性能比较

图8 不同算法预测结果

与传统神经网络相比,优化后的神经网络预测精度有不同程度的提升,其中误差最小的是WPD-ICSO-ENN。由图8可以看出,Elman和WPD-ENN在第20 h、50 h以及70 h的预测点有较大程度的波动,这是由于神经网络采用梯度下降法调整权值和阈值,容易陷入局部最优,且泛化能力不足。传统神经网络很难实时反映波动性更大的预测对象。神经网络经过QPSO优化后能一定程度提高收敛能力,但是仍然存在泛化能力不足的缺点,而ICSO结合PSO以粒子全局最优值和个体历史最优值作引导的寻优机制和CSO边缘搜索和变异寻优的特点,较好地掌握高频分量的变化趋势,可有效地提高神经网络的泛化能力和预测精度。

为了进一步验证WPD-ICSO-ENN的稳定性,分别选取2013年每季(3月、6月、9月、12月)中的连续3天进行预测。仿真结果如表2和图9所示。从图9可以看出各个季节风电预测值都能跟踪实际值的变化,证明WPD-ICSO-ENN预测模型具有很强的稳定性。

图9 不同季节预测结果

表2 不同季节误差分析

从表2可以看出WPD-ICSO-ENN在四季中都表现良好,最小误差是1.523%,最大误差是7.127%,12天的平均误差为4.467%。由图9可知冬季总体波动性较小,预测精确度极高,预测结果更接近实际功率曲线,在夏季出现较大波动,多处出现峰位,但ICSO仍表现优秀,稳定性良好。由此可见ICSO结合QPSO和CSO的优点,增强了神经网络的收敛和泛化能力,表现出更稳定的训练性能。上述实验充分说明WPD-ICSO-ENN模型在风电预测中的精确性和稳定性。

4 效果评价

(1)由表1的预测结果对比可以看出,WPDICSO-ENN预测模型的平均绝对值百分比误差4天的平均值相比于Elman、WPD-ENN和WPDQPSO-ENN预测模型分别提高了8.043%、3.656%和1.793%。ICSO有效地克服了QPSO过早收敛的问题,提高了神经网络的泛化能力和预测精度。

(2)从表2和图9可以得到,WPD-ICSO-ENN预测模型在四季中都表现良好。四季中所选12天的风电预测误差最大值仅为7.127%。在夏季风电波动较大时,WPD-ICSO-ENN预测模型仍能够很好地跟踪风电的变化规律,表现出很强的鲁棒性,稳定性良好。

5 结论

(1)本文采用的WPD-ICSO-ENN风电预测模型提高了风电功率预测整体的精度和稳定性,有效地提高了神经网络的泛化能力和预测精度。

(2)基于改进纵横交叉算法的预测模型结合PSO的粒子全局寻优能力,横向交叉的边缘搜索特性以及纵向交叉的变异更新能力,克服了一般算法早熟收敛问题,有效提高神经网络的训练精度和泛化能力,而且表现出良好的稳定性,适用于风电的预测,可以较好地推广应用。

[1] 吴小珊,张步涵,袁小明,等.求解含风电场的电力系统机组组合问题的改进量子离散粒子群优化方法[J].中国电机工程学报.2013,33(4):45-52.

[2] 张振华,马超,徐瑾辉,等.EMD与NARX神经网络的风电场总功率组合预测[J].计算机工程与应用, 2016,52(12):265-270.

[3] 秦剑,王建平,张崇巍.基于相空间重构小波神经网络的短期风速预测[J].电子测量与仪器学报.2012,26 (3):236-241.

[4] 赵元喜,胥永刚,高立新,等.基于谐波小波包和BP神经网络的滚动轴承声发射故障模式识别技术[J].振动与冲击.2010,29(10):162-165.

[5] 杨锡运,孙宝君,张新房,等.基于相似数据的支持向量机短期风速预测仿真研究[J].中国电机工程学报.2012,32(4):35-41.

[6] 尹东阳,盛义发,蒋明洁,等.基于粗糙集理论-主成分分析的Elman神经网络短期风速预测[J].电力系统保护与控制.2014(11):46-51.

[7] 张健美,周步祥,林楠,等.灰色Elman神经网络的电网中长期负荷预测[J].电力系统及其自动化学报.2013,25(4):145-149.

[8] 常黎,杨清舟,黄开斌.一种基于小波变换和人工神经网络的风速预报方法[J].太阳能学报.2013,34(04): 604-609.

[9] 刘瑞叶,黄磊.基于动态神经网络的风电场输出功率预测[J].电力系统自动化.2012,36(11):19-22,37.

[10]Chitsaz H,Amjady N,Zareipour H.Wind power forecast using wavelet neural network trained by improved Clon⁃al selection algorithm[J].Energy Conversion&Manage⁃ment,2015,89:588-598.

[11]张彦宁,康龙云,周世琼,等.小波分析应用于风力发电预测控制系统中的风速预测[J].太阳能学报.2008 (5):520-524.

[12]陈盼,陈皓勇,叶荣,等.基于小波包和支持向量回归的风速预测[J].电网技术.2011(5):177-182.

[13]Meng A B,Chen Y C,Yin H,et al.Crisscross optimiza⁃tion algorithm and its application[J].Knowledge-Based Systems,2014,67(4):218-229.

[14]刘建华.粒子群算法的基本理论及其改进研究[D].中南大学信息科学与工程学院,2009.

[15]刘宁,陈昱颋,虞慧群,等.基于Elman神经网络的交通流量预测方法[J].华东理工大学学报(自然科学版), 2011,37(2):204-209.

[16]王东风,王富强,牛成林.小波分解层数及其组合分量对短期风速多步预测的影响分析[J].电力系统保护与控制.2014(8):82-89.

[17]冯华丽,刘渊,陈冬.QPSO算法优化BP网络的网络流量预测[J].计算机工程与应用.2012,48(3):102-104.

Wind power forecasting model based on wavelet packet and improved crisscross optimization method

MA Liuyang,GE Jiafei
(School of Automation,Guangdong University of Technology,Guangzhou Guangdong 510006,China)

Aiming at the problems of the randomicity,seasonality and intermittency of the wind power and the prediction accuracy of general method is not high,using improved crisscross optimization(ICSO)algorithm,establishes a new wind power forecasting model based on hybrid wavelet packet and improved crisscross optimization(ICSO)algorithm to optimize Elman neural network.The simulation result shows that ICSO algorithm not only overcomes the problem of premature convergence in the general algorithm,effectively improves the generalization ability and prediction precision of the neural network,but also shows fine stability,the forecasting model is suitable for the wind power prediction.

wavelet packet transform;Elman neural network;improved crisscross optimization(ICSO) algorithm;wind power forecasting

TM 614

A

1672-3643(2017)03-0018-07

10.3969/j.issn.1672-3643.2017.03.004

2017-03-11

马留洋(1992),男,硕士研究生,研究方向为电力系统经济调度与预测技术。

有效访问地址:http://dx.doi.org/10.3969/j.issn.1672-3643.2017.03.004

猜你喜欢
父代波包交叉
中国高等教育的代际传递及其内在机制:“学二代”现象存在吗?
延迟退休决策对居民家庭代际收入流动性的影响分析
——基于人力资本传递机制
基于支持向量机和小波包变换的EOG信号睡眠分期
新冠疫情期间增加了父代体育人口吗?
——基于反向社会化理论的实证研究
原子双阱势中电子波包的非绝热操控
“六法”巧解分式方程
男孩偏好激励父代挣取更多收入了吗?
——基于子女数量基本确定的情形
连数
连一连
基于小波包变换的乐音时—频综合分析程序的开发