APP下载

基于WPD-MRFO-ESN模型的水库来水量时间序列预测

2022-03-21崔东文

关键词:来水量河水库波包

崔东文

(云南省文山州水务局,云南 文山 663000)

提高水库来水量时间序列预测精度对于缓解城市水资源供需矛盾、提高城市防洪抗旱能力、保障下游生态环境用水、优化配置水库水资源具有重要意义。由于受降水、人类活动等影响,水库来水量表现出明显的非线性、非平稳性和多尺度等特征,目前普遍采用时间序列分解与预测模型组合的方法进行预测。时间序列分解方法有小波分解、经验模态分解、总体经验模态分解、变分模态分解、奇异谱分析等;来水量预测模型有支持向量机[1-2]、BP神经网络[3]、小波神经网络[4-5]等。

小波分解(Wavelet Decomposition,WD)是一种被广泛应用的时频分析工具,其通过伸缩平移运算对信号逐步进行多尺度细化,最终达到高频处时间的细分、低频处频率细分的目的。虽然WD可将复杂的原始信号分解为高频信号和低频信号,但WD仅对信号的低频部分详细分解,忽略了信号的高频部分。小波包分解(Wavelet Packet Decomposition,WPD)源于小波分解,它在分解信号低频子集同时,对高频子集分解,具有数学释意明确、使用简洁、能够自行设定分解层数和分解使用的小波函数等优点[6-9]。回声状态网络(Echo State Network,ESN)是Jaeger等提出的一种新型递归神经网络,其特点是训练过程简单,拥有动态储备池,具备短时记忆功能,在处理时间序列等非线性系统辨识问题上表现突出,一般条件下可无限逼近动态系统。在实际应用中,ESN网络的输出权值矩阵和储备池规模、稀疏度等关键参数对ESN网络性能有着重要影响,目前主要有优化输出权值矩阵[10-12]和优化储备池规模的关键参数[13-17]两种途径。

为提高水库来水量时间序列预测精度,文中提出小波包分解(WPD)-蝠鲼觅食优化(Manta Ray Foraging Optimization,MRFO)算法-回声状态网络(ESN)水库来水量时间序列预测模型。首先,利用WPD将云南省暮底河水库1956—2017年逐月来水量时间序列数据分解为若干高频和低频时间序列,这样可有效降低来水量时间序列数据的复杂性;在不同维度条件下选取8个典型函数对MRFO算法进行仿真测试;选用ESN网络作为水库来水量时间序列预测模型,针对DBN网络储备池规模等关键参数难以选取问题,利用MRFO算法优化DBN网络储备池规模等关键参数,建立WPD-MRFO-ESN模型、WPD-MRFO-SVM模型和经经验模态分解(EMD)的EMD-MRFO-ESN模型、EMD-MRFO-SVM模型作对分析,并通过暮底河实例数据对4种模型的预测结果进行验证。

1 研究方法

1.1 小波包分解

WPD能同时对信号的高频、低频部分进行分解,并能根据信号特性和分析要求自适应地选择相应频带与信号频谱相匹配。对于波动信号,采用WPD能够凸出信号的细节特征。理论上,3层小波包分解能够提取绝大部分信号中的有效信息,逼近任意非线性函数,从而达到解决实际问题的目的。3层小波包分解结构如图1所示。图1中,W为输入信号,对于水库来水量时间序列预报,W即为水库来水量历史数据,其分解结果就是将信号W最终映射到2i(i为分解层数)个小波包子空间中[6-9]。

图1 3层小波包分解结构图

小波包分解算法公式[6-8]为:

(1)

重构算法的计算式为:

(2)

1.2 蝠鲼觅食优化算法

1.2.1 蝠鲼觅食优化算法简述

蝠鲼觅食优化(MRFO)算法是ZHAO W等于2020年通过模拟蝠鲼觅食行为而提出一种新型元启发式优化算法。该算法通过模拟蝠鲼链式觅食、螺旋式觅食、翻筋斗式觅食来达到求解优化问题的目的。MRFO算法数学描述简述如下[18-19]:

1)链式觅食。蝠鲼善于发现浮游生物(食物)位置并向其游动,浮游生物浓度越高,表示该位置越好。在MRFO算法中,蝠鲼群从头到尾排列成一条觅食链,除第一条蝠鲼以外,其他蝠鲼不仅朝着食物游动,而且朝着食物前面的蝠鲼游动。蝠鲼个体利用当前最佳空间位置和前代空间位置进行位置更新。链式觅食过程数学模型表示如下:

(3)

2)螺旋式觅食。当某个蝠鲼发现深海中的优质食物源时,蝠鲼群体中每个蝠鲼会首尾相接螺旋式向食物源聚集。聚集过程中蝠鲼群体的运动方式由单纯的链式运动转变为围绕最优食物源的螺旋运动。螺旋觅食过程数学模型表示如下:

(4)

为提高螺旋式觅食的探索性能,通过在搜索空间中分配一个新的随机位置作为蝠鲼群觅食的参考位置,目的是迫使蝠鲼搜索远离当前最佳空间位置的新区域。其数学描述如下:

(5)

(6)

3)翻筋斗式觅食。在觅食过程中,当某个蝠鲼发现食物源后,将食物源视作一个支点并绕支点旋转、空翻至一个新位置,以引起其它蝠鲼的注意。对蝠鲼群体而言,空翻觅食是一个随机的、局部的和频繁的动作,它可以提高蝠鲼群体的觅食效益。其数学模型如下式:

i=1,2,…,N。

(7)

式中:S表示决定蝠鲼空翻范围的空翻系数,S=2;r1、r2分别为[0,1]范围内的随机数。

1.2.2 MRFO算法仿真验证

为测试MRFO算法的寻优性能,选取Sphere等8个单、多峰目标函数在不同维度条件下对MRFO算法进行仿真测试。单峰目标函数用于评测MRFO算法的寻优精度,多峰目标函数用于评测MRFO算法的全局搜索能力。采用20次寻优平均值对MRFO算法的寻优性能进行评估,具体结果见表1。设置MRFO算法最大迭代次数T=1 000(Penalized多峰函数最大迭代次数T=2 000),种群规模N=100,其他参数采用MRFO算法默认值。

表1 8个函数对MRFO算法的仿真测试结果

由表1可知:

1)对于单峰目标函数Sphere、Schwefel 2.22、Schwefel 12、Schwefel 2.21,MRFO算法在不同维度条件下20次寻优均获得理论最优值0,表现出较高的寻优精度。

2)对于多峰目标函数Griewank和Rastrigin,MRFO算法在不同维度条件下20次寻优均获得了理论最优值0;对于连续旋转不可分多峰目标函数Ackley,MRFO算法在不同维度条件下20次寻优均获得相对理论最优值8.88e-16;对于多峰目标函数Penalized,MRFO算法在不同维度条件下20次寻优100维的相对理论最优值为9.83e-28,表现出较好的全局搜索能力。

可见,对于上述8个测评函数,MRFO算法在不同维条件下均具有较高的寻优精度和较好的全局搜索能力。

1.3 回声状态网络

回声状态网络(ESN)由输入层、动态储备池(Dynamic Reservoir,DR)和输出层组成。其中,动态储备池是网络的核心部分,它是由大量、随机和以稀疏方式连接的隐含层神经元组成,故其具有短时记忆功能[13-15]。ESN网络结构如图2所示。

图2 ESN神经网络结构图

设网络输入为u(n)=[u1(n),u2(n),…,uK(n)]T,状态为x(n)=[x1(n),x2(n),…,xN(n)]T,输出为y(n)=[y1(n),y2(n),…,yL(n)]T,其中K表示输入维数,N表示内部神经元个数,L表示输出维数。则[13-15]:

x(n+1)=f(Winu(n+1)+Wx(n)+Wby(n)),

(8)

y(n+1)=fo(Wox(n+1))。

(9)

式中:Win表示输入权值矩阵;W表示内部状态权值矩阵;Wb表示输出至内部状态权值矩阵;Wo表示内部状态至输出权值矩阵;f=(f1,f2,…,fN),表示内部神经元激活函数,一般采用sigmoid函数或tanh函数;fo表示输出函数,一般采用线性函数。ESN神经网络参数中,Win、W和Wb均采用随机方式生成,在学习过程中保持不变。

1.4 WPD-MRFO-ESN模型构建流程

WPD-MRFO-ESN模型构建流程如下:

步骤1利用WPD将水库来水量序列分解为8个子序列分量,即序列[3,0]、[3,1]、[3,2]、[3,3]、[3,4]、[3,5]、[3,6]、[3,7]。采用自相关函数法(Auto correlation Function Method,AFM)确定各子序列分量的输入、输出向量,合理划分训练样本和预报样本。

步骤2初始化蝠鲼种群规模N、最大迭代次数T;令当前迭代次数t=1。

步骤3初始化ESN神经网络结构、动态储备池(DR)数量、谱半径,随机生成矩阵Win、W和Wb。构建训练样本相对误差绝对值之和作为MRFO-ESN模型适应度函数:

(10)

步骤4将训练样本数据输入ESN网络,计算蝠鲼种群所有个体适应度值,确定蝠鲼最佳位置xbest。

步骤5在[0,1]区间生成随机数r。若r<0.5时,执行螺旋觅食操作:当t/T

步骤6计算适应度值,找到并保留当前最佳蝠鲼个体位置xbest,1;执行翻筋斗式觅食操作,利用式(7)更新蝠鲼个体位置,计算适应度值,找到并保留当前最佳蝠鲼位置xbest,2。

步骤7比较xbest,1、xbest,2,选取并保存蝠鲼最佳位置,即算法最优解xbest。

步骤8令t=t+1,判断算法是否达到终止条件,若是,输出全局最优解xbest,算法结束;否则重复步骤5—8。

步骤9输出蝠鲼最佳位置xbest,即输出ESN储备池规模S、谱半径R、稀疏度SD、输入单元尺度IS的值。利用优化后的ESN网络对各时间序列数据进行训练和预测,各预测结果叠加后即得到水库来水量的最终预测结果。

步骤10模型评估。利用平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)、平均绝对误差(Mean Absolute Error,MAE)、均方根误差(Root Mean Square Error,RMSE)对各模型进行评估。具体计算式分别如下:

(11)

(12)

(13)

2 实例应用

云南省文山市暮底河水库位于盘龙河上游右岸一级支流暮底河下游河段,属红河流域泸江水系,距文山城13 km,是一座以供水和防洪为主,调节下游发电,改善生态环境为辅的中型水库。暮底河水库总库容5 785万m3、兴利库容4 572万m3、集水面积307 km2、多年平均来水量2.36亿m3、供水人口35万人,是国家重要集中式供水水源地。开展暮底河水库来水量时间序列预测研究,对于缓解城市水资源供需矛盾、提高城市防洪抗旱能力、保障下游生态环境用水、优化配置水库水资源具有重要意义。

2.1 来水量时间序列数据

2.1.1 小波包分解

1956—2017年暮底河水库来水量数据来源于《文山暮底河水库至回龙水库连通(暮底河水库扩建一期)应急工程可行性研究报告》。1956—2017年暮底河水库逐月来水量序列数据如图3所示。从图3中可以看出来水量数据为非平稳序列,波动较大。

图3 暮底河水库1956—2017年来水量变化曲线

小波包分解层数的确定是小波包分解的关键,分解层数过大易导致预报时间和预报复杂度的增加,分解层数过小不利于将水库来水量时间序列数据中的不同频率特征分量分离[6-8]。文中选择小波包的分解层数为3层,利用dmey小波将暮底河水库1956—2017年逐月来水量数据进行3层小波包分解,得到分解空间的8个子序列分量数据,如图4所示。

图4 暮底河水库来水量时间序列WPD分解3D效果图

从图4中可以看出:子序列[3,0]、[3,1]、[3,2]、[3,3]的分量数据变化呈低频空间数据波形,振幅较大、波长较短,大致反映月来水量时间序列的变化趋势;子序列[3,4]、[3,5]、[3,6]、[3,7]的分量数据变化为高频空间数据波形,振幅逐渐减小、波长逐渐变长,大致反映月来水量时间序列的波动情况。

2.1.2 经验模态分解

采用经验模态分解(EMD)方法对暮底河水库1956—2017年逐月来水量时间序列进行分解处理,得到9个不同尺度的模式分量IMF和1个趋势项res。

2.2 时间序列建模

合理确定经分解后的各时间序列的输入、输出向量是决定来水量时间序列预测精度高低的关键。采用自相关函数法(AFM)确定各子序列的输入、输出向量。确定原则如下:通过SPSS软件计算各子序列的自相关系数,在滞后数H≥3情况下,将自相关系数最大时所对应的滞后数H作为各子序列最优嵌入维数,即将预测月的前H个来水量数据作为输入向量,预测月的来水量作为输出向量,具体结果分别见表2和3。将1956—2017年中的前612~621个月的实测来水量数据作为训练样本、后120个月的来水量数据作为预测样本。

表2 WPD分解得到的各时间序列自相关系数、嵌入维数及序列长度

表3 EMD分解得到的各时间序列自相关系数、嵌入维数及序列长度

2.3 参数设置及预测分析

2.3.1 参数设置

1)对于WPD-MRFO-ESN模型和EMD-MRFO-ESN模型:设置蝠鲼种群规模N=50、最大迭代次数T=100,其他参数采用算法默认值;ESN网络储备池规模S搜索范围设置为[5,20],谱半径R、稀疏度SD、输入单元尺度IS的搜索范围均设置为[0.001,0.990],数据在[0,1]区间进行归一化处理。

2)对于WPD-MRFO-SVM模型和EMD-MRFO-SVM模型:MRFO算法设置同上文;SVM的惩罚因子、核函数参数的搜索范围均设置为[0.01,100.00],不敏感损失系数设置为0.01,交叉验证折数设置为3,数据在[0,1]区间进行归一化处理。

2.3.2 实例预测结果分析

利用WPD-MRFO-ESN模型、WPD-MRFO-SVM模型、EMD-MRFO-ESN模型和EMD-MRFO-SVM模型分别对表2和表3中各子序列数据进行预测,将预测结果叠加即得到暮底河水库来水量最终预测结果。各模型采用平均绝对百分比误差(MAPE)、平均绝对误差(MAE)和均方根误差(RMSE)进行性能评估,结果见表4,预测效果如图5和6所示。

表4 水库来水量预测精度对比

图5 4种模型预测的来水量时间序列数据相对误差

图6 4种模型预测的来水量时间序列数据绝对误差

依据表4、图5和图6可以得出以下结论:

1)WPD-MRFO-ESN模型对水库来水量时间序列数据预测的MAPE、MAE、RMSE分别为2.23%、23.3万m3、35.8万m3,与WPD-MRFO-SVM模型、EMD-MRFO-ESN模型和EMD-MRFO-SVM模型的预测结果相比,WPD-MRFO-ESN模型预测结果的MAPE分别低53.8%、91.3%、92.8%,MAE分别低51.9%、93.4%、95.0%,MAPE分别低43.4%、92.7%、94.6%,说明该模型的预测精度优于WPD-MRFO-SVM模型,较EMD-MRFO-ESN模型和EMD-MRFO-SVM模型的预测精度提高1个数量级。WPD-MRFO-ESN模型具有较高的预测精度,将其用于水库来水量时间序列预测是可行的。

2)从WPD-MRFO-ESN模型与EMD-MRFO-ESN模型、WPD-MRFO-SVM模型与EMD-MRFO-SVM模型的预测精度对比来看,经WPD分解的同类模型的预测精度较经EMD分解的模型的提高了1个数量级,表明WPD分解可有效降低时间序列数据的复杂性,大大提高模型的预测精度,其对来水量时间序列的分解效果要优于EMD分解方法的。

3)这4种模型的预测精度由高至低依次是WPD-MRFO-ESN模型、WPD-MRFO-SVM模型、EMD-MRFO-ESN模型、EMD-MRFO-SVM模型。其中,WPD-MRFO-ESN模型的预测效果优于WPD-MRFO-SVM模型的,明显优于EMD-MRFO-ESN模型和EMD-MRFO-SVM模型的。

3 结论

文中提出小波包分解(WPD)、蝠鲼觅食优化(MRFO)算法和回声状态网络(ESN)相融合的水库来水量时间序列预测模型,构建WPD-MRFO-SVM模型、EMD-MRFO-ESN模型、EMD-MRFO-SVM模型作对比分析模型,利用云南省暮底河水库1956—2017年逐月来水量时间序列数据来验证4种模型的预测效果,得出以下结论:

1)蝠鲼觅食优化(MRFO)算法在5维、10维、30维、50维和100维条件下均具有较好的寻优精度和全局搜索能力,将MRFO算法用于ESN网络储备池规模、谱半径等关键参数优化是可靠的。

2)WPD-MRFO-ESN模型对水库来水量时间序列预测的MAPE、MAE、RMSE分别为2.23%、23.3万m3、35.8万m3,预测精度高于WPD-MRFO-SVM模型的,明显高于EMD-MRFO-ESN模型和EMD-MRFO-SVM模型的,具有较好的预测精度,将WPD-MRFO-ESN模型用于水库来水量时间序列预测是可行的。WPD-MRFO-ESN模型有效地提高了水库来水量时间序列的预测精度,为水库来水量预测研究提供了一种途径。

3)实例验证表明,小波包分解(WPD)可将复杂的来水量时间序列分解为更加稳定、更具规律的空间时间序列,有效降低了时间序列数据的复杂性,大大提高了模型的预测精度,分解效果优于经验模态分解(EMD)方法的。

猜你喜欢

来水量河水库波包
开阳县三口河水库工程高边坡预裂爆破控制
基于支持向量机和小波包变换的EOG信号睡眠分期
开阳县三口河水库(岩溶地区)溶洞处理
彭水县黑洞河水库施工导流方案比较
水库现有防洪年限计算办法
沅水流域强降水面雨量及来水量特征分析
小清河来水量变化特征及其影响因素研究
基于小波包Tsallis熵和RVM的模拟电路故障诊断
浅析岩溶地区水库工程不同灌浆方案对径流分析计算的影响
基于小波包变换的电力系统谐波分析