崔东文
(云南省文山州水务局,云南 文山 663000)
几种智能算法与支持向量机融合模型在中长期月径流预测中的应用
崔东文
(云南省文山州水务局,云南 文山 663000)
通过5个典型测试函数对灰狼优化(GWO)算法、文化算法(CA)、SCE-UA算法和花授粉算法(FPA)进行仿真验证及对比分析。针对支持向量机(SVM)学习参数难以确定的不足,利用上述4种智能算法搜寻SVM的最佳学习参数,提出GWO算法、CA、SCE-UA算法和FPA与SVM相融合的预测模型,并以云南省革雷水文站的中长期月平均流量预报为例进行了实例研究。结果表明:①4种算法的性能各有优劣,均具有较好的收敛速度和全局寻优能力。相对而言,GWO算法、FPA优于SCE-UA算法,SCE-UA算法优于CA。②GWO-SVM、CA-SVM、SCE-UA-SVM及PFA-SVM模型对革雷水文站2001—2005年的月平均流量预测的平均相对误差绝对值分别为2.47%、2.81%、2.67%和2.46%,均具有较好的预测效果。
径流预测;灰狼优化算法;文化算法;SCE-UA算法;花授粉算法;支持向量机;参数优化;函数优化
提高中长期水文预测预报精度对于实行最严格水资源管理制度、开展水源中长期规划以及为各级政府提供防汛抗旱决策依据具有十分重要的意义。传统成因分析、数理统计等方法往往难以达到理想的预测效果。目前,一些新型方法广泛应用于水文中长期预测预报,并获得了比传统方法更好的预测精度和效果。这些方法主要包括:灰色系统分析法、人工神经网络法、小波分析法、投影寻踪法、模糊分析法、混沌分析法、集对分析法、支持向量机法、组合预测法等。其中,支持向量机(Support Vector Machines,SVM)由于其具有全局理论最优、克服维数灾、小样本优势等特点,被广泛应用于中长期水文预测预报中[1-2]。但SVM模型难以合理确定惩罚因子、核函数参数和不敏感系数3个学习参数,因此,如何智能高效地确定SVM学习参数是目前SVM应用研究的重要内容之一。
目前,遗传算法[3]、粒子群优化算法[4]、人工鱼群算法[5]、果蝇优化算法[6](Fruit Fly Optimization Algorithmand,FOA)、布谷鸟搜寻(Cuckoo Search,CS)算法[7]等群体智能优化算法(Swarm Intelligence Optimization Algorithm,SIOA)广泛应用于SVM学习参数的选取,在提高SVM模型性能上取得了较好的应用效果。
为进一步拓展SVM学习参数的选取方法,本文通过5个典型测试函数对灰狼优化(Gray Wolf Optimization,GWO)算法、文化算法(Cultural Algorithm,CA)、SCE-UA(Shuffled Comples Evoltion-University of Arizona)算法和花授粉算法(Flower Pollination Algorithm,FPA)4种新型或不常见的群体智能算法进行仿真验证及对比分析,并利用这4种智能算法优化SVM的学习参数,提出GWO-SVM、CA-SVM、SCE-UA-SVM及FPA-SVM预测模型,以云南省清水江革雷水文站中长期月平均流量预测为例进行实例研究,旨在为水文预测预报及相关预测研究提供参考及借鉴。
1.1灰狼优化算法
灰狼优化(GWO)算法[8]是2014年提出的一种新型群智能优化算法,其通过模拟灰狼群体在捕食过程中的跟踪、包围、追捕、攻击猎物等觅食行为来实现目标优化。此方法收敛速度快,全局寻优能力强,在电机最优控制、函数优化等领域都有应用[8]。
GWO算法通过构建α(第1层)、β(第2层)、δ(第3层)和ω(第4层)4层金字塔式的等级管理制度来实现算法模拟。对于连续优化问题,设GWO算法中灰狼种群数量为N,搜索空间为d维,第i只灰狼在d维空间中的位置可表示为xi=(xi1,xi2,…,xid)。利用优化目标计算适应度值,并将当前具有最优适应度值的种群个体记为α,将适应度值按优劣排序为第二及第三的对应个体记为β和δ,剩余个体记为ω,猎物的位置即对应于待优化问题的可行解。GWO算法步骤可表述如下[8]:
步骤1在觅食过程中,灰狼个体与猎物之间的距离(D)表示为:
(1)
式中:Xp(t)为第t代猎物所处空间位置;X(t)为第t代灰狼个体所处空间位置;G为摆动因子,G=2r1;r1为[0,1]区间上的随机数。
步骤2利用式(2)对灰狼空间位置进行更新。
X(t+1)=Xp(t)-AD,
(2)
A=2ar2-a。
(3)
式中:A为收敛因子;r2为[0,1]区间的随机数;a随着迭代次数增加从2线性递减至0。
步骤3定位猎物位置。当灰狼判断出猎物所处位置时,将由α狼带领β、δ狼对猎物进行追捕。在狼群中,α、β和δ狼最靠近猎物,可利用这三者的位置来判断猎物所处方位。α、β和δ狼跟踪猎物方位的数学描述可由式(4)—(10)实现。其中,先利用式(4)—(9)计算群体内灰狼个体与α、β和δ狼之间的距离,然后利用式(10)判断出个体向猎物移动的方向。
(4)
(5)
(6)
X1=Xα-A1Dα,
(7)
X2=Xβ-A2Dβ,
(8)
X3=Xδ-A3Dδ,
(9)
Xp(t+1)=(X1+X2+X3)/3。
(10)
1.2文化算法
文化算法(Cultural Algorithm,CA)是受文化对人类进化的影响而提出的一种双层进化机制算法,由群体空间和信念空间两个相对独立的进化空间组成,通过影响函数和接受函数组成通信协议联系在一起,具有较好的收敛精度和全局寻优能力,在各行业领域都有广泛的应用[9]。群体空间通过目标函数评价个体的适应值,并将个体在迭代过程中的个体经验通过接受函数反馈给信念空间,并通过更新函数更新信念空间,形成群体经验。信念空间在形成种群经验后,通过influence函数修改群体空间中个体的行为规则,进而指引群体空间的进化。文化算法的基本原理可描述如下[9]:
步骤1群体空间的表达。设CA群体规模为m,对于n维连续优化问题,则群体空间pop可表示为:
(11)
步骤2信念空间的表达。利用环境知识和标准知识表达信念空间知识:。S表示环境知识,存储由历代群体所产生的最优个体集合;标准知识N[n]则保存目标函数n个变量的变化区间。每个变量的变化区间描述为:
N[j]=
(12)
步骤3接受函数的表示。群体空间通过接受函数向信念空间提供一组最优子集popb。接受函数表达式为:
popb=accept(pop)。
(13)
步骤4信念空间的更新。信念空间的知识随着进化过程不断更新。N[n]更新规则如下:
(14)
(15)
(16)
(17)
步骤5影响函数的表示。影响函数influence_1 根据N[n]产生部分新的群体popc(其群体规模为m′),该群体与原有群体pop一起选择后,形成新一代的群体进入下一步迭代。
(18)
影响函数influence_2利用标准知识调整变量变化的方向及步长,即进行变异操作。
(19)
式中:N(0,1)为服从标准正态分布的随机数;size(Ij)为标准知识变量j可调整区间的长度;λ为步长收缩因子。
1.3SCE-UA算法
SCE-UA 算法是一种将确定性的复合型搜索技术和自然界中的生物竞争进化原理相结合的全局优化算法,收敛精度高,在新安江模型参数优化[10]等领域具有广泛的应用。对于一个n维的连续优化问题,SCE-UA算法的实现步骤如下[11]:
步骤1初始化。选取参与进化的复合形个数p(p≥1)和每个复合形所包含的顶点数q(q≥n+1),计算样本点的数目s=pq。
步骤2生成样本点。在可行域内随机产生s个样本点x1,x2,…,xs,分别计算每一点xi的函数值fi=f(xi),i=1,2,…,s。
步骤4复合型群体划分。将D划分为p个复合型A1,A2,…,Ap,每个复合型含q点,其中
j=1,2,…,q},
k=1,2,…,p。
步骤5复合型进化。按复合型进化算法分别进化各个复合型。
步骤6复合型混合。将进化后的每个复合型的所有顶点组合成新的点集,再次按函数值fi的升序排列,排序后记为D,再对D按目标函数的升序进行排列。
步骤7重复步骤5—6,直至满足算法终止条件或最大迭代次数。
1.4花授粉算法
花授粉算法(Flower Pollination Algorithm,FPA)是英国学者杨新社于2012年提出的一种新型启发式优化算法[12]。该算法通过模拟自然界中花交叉授粉(主要通过蝴蝶、蜜蜂等相对远距离授粉)和自花授粉(主要是花与花之间相互接触近距离授粉)两个演化操作算子来实现对优化问题的求解。目前FPA算法已在工程设计、参数优化方面得到了初步应用。
在实际应用中,FPA算法遵循以下3条准则:①花交叉授粉可视为全局受粉的一个过程,传播者以Lévy飞行的方式移动;②自花授粉用于局部传粉;③交叉授粉和自花授粉之间的相互作用和转换通过转换概率pc(pc∈[0,1])进行控制。FPA算法的步骤可简述如下[12-13]:
步骤2对当前种群中的个体进行适应度计算,找出适应度最优化的个体,并将其保存为当前全局最优解g*。
步骤3对种群中所有SN个花进行授粉;随机生成一个随机数rand,若rand (20) (21) 式中:L为服从指数1.5的Lévy分布的随机实数;g*为当前全局最优解;γ为[0,1]上服从均匀分布的随机实数;j、k为[1,SN]上一随机数,且满足i、j、k之间两两互不相等。 步骤4利用适应度函数评价新解,若新解优于当前解,则新解进入下一代种群;否则,当前解进入下一代种群。 步骤5找到并保存当前最优解g*。 步骤6判断算法是否满足终止条件或最大迭代次数,若满足,则算法结束,输出全局最优解g*;否则,转入步骤3。 设含有l个训练样本的集合为 (22) (23) 其回归方程最终表述为: (24) 选择径向基核函数作为SVM核函数。径向基核函数表达式为: K(x,xi)=exp(-g‖x-xi‖2)。 (25) 式中g>0。 GWO算法、CA、SCE-UA算法、FPA与SVM模型相融合的月径流预测步骤可归纳如下: 步骤1确定SVM模型训练样本和检验样本,并进行[0,1]归一化处理。设定SVM学习参数惩罚因子C、核函数参数g、不敏感系数ε的搜寻范围和最大迭代次数T。 步骤2确定式(26)为各算法的适应度函数。 (26) 步骤3基于上述4种算法操作流程,获得待优化惩罚因子C、核函数参数g和不敏感系数ε值。 步骤4将获得的优化参数值作为SVM的最佳学习参数,对预测样本进行预测。 为验证GWO算法、CA、SCE-UA算法、FPA的性能,此处选取5个典型测试函数(表1)对其进行仿真验证。表1中,Sphere函数常用于测试算法的收敛速度;Griewank函数常用于测试算法对全局与局部搜索能力的平衡性能;Rosenbrock函数通常用于测试算法获得极值的能力;Rastrigin函数常用于测试算法的全局搜索能力;Ackley函数常用于测试算法跳出局部极值的能力。 表1 基准函数 实验参数设置如下:GWO算法最大迭代次数T=2 000,灰狼群体规模N=50;CA最大迭代次数T=2 000,群体规模m=50,根据标准知识产生的群体规模m′=50;SCE-UA算法最大迭代次数T=2 000,复合形个数p=50,每个复合形所包含的顶点数q=5;FPA最大迭代次数T=2 000,种群规模SN=20,转换概率pc=0.45。 每个测试函数均独立运行20次,分别求出各自的最优值、最劣值、平均值和标准差,见表2。 表2 函数优化对比结果 由表2可得出以下结论: 1)从Sphere函数的寻优效果来看,GWO算法性能优于FPA、CA和SCE-UA算法(性能由优到劣,下同),表明GWO算法具有较快的收敛速度;从Griewank函数的寻优效果来看,SCE-UA算法性能优于GWO、FPA和CA算法,表明SCE-UA算法具有较好的全局与局部搜索的平衡能力;从Rosenbrock函数的寻优效果来看,FPA算法性能优于GWO、SCE-UA和CA算法,表明FPA算法具有较好的极值优能力;从Rastrigin函数的寻优效果来看,GWO算法性能优于SCE-UA、FPA和CA算法,表明GWO算法具有较好的全局搜索能力;从Ackley函数的寻优效果来看,FPA算法性能优于GWO、CA和SCE-UA算法,表明FPA算法具有能跳出局部极值的良好性能。 2)从各函数优化的可接受值来看,除CA算法对Rosenbrock、Rastrigin函数寻优的最劣值不理想外,其余均在可接受值范围内,表明4种算法均具有较好的收敛速度和全局寻优能力。 3)4种算法性能各有优劣,但综合比较而言,GWO、FPA算法性能优于SCE-UA算法,SCE-UA性能优于CA算法。 5.1数据来源与分析 清水江革雷水文站设立于1970年4月,位于云南省丘北县平寨乡革雷村,控制径流面积3 186 km2,属国家重要水文站和中央报汛站。本文以革雷水文站1971—2005年12月平均流量为预报对象,利用SPSS软件分析该站12月平均流量与1—11月平均流量的相关关系,见表3。 表3 清水江革雷水文站12月平均流量与1—11月平均流量相关系数 注:“**”表示在0.01水平(双侧)上显著相关。 选取0.01水平(双侧)上显著相关的8—11月平均流量作为12月平均流量的预报因子,利用1971—2000年月平均流量作为率定期样本建立模型,预留2001—2005年月平均流量作为预测样本。并利用式(27)对该站各月平均流量序列进行归一化处理: (27) 5.2模型构建与参数设置 1)模型构建。基于MatlabR2011b软件环境及libsvm工具箱,编程构建4输入、1输出的GWO-SVM、CA-SVM、SCE-UA-SVM及PFA-SVM模型对革雷水文站12月平均流量进行预测,并选取平均相对误差绝对值(MRE)和最大相对误差绝对值(MaxRE)对各模型的预测效果进行评价。 2)参数设置。除最大迭代次数T设置为200外,GWO、CA、SCE-UA及FPA算法参数设置均同上。SVM学习参数惩罚因子C、核函数参数g和不敏感系数ε的搜索空间均设为2-10~210,SVM模型交叉验证参数V=3。 5.3预测评价 利用GWO-SVM、CA-SVM、SCE-UA-SVM及PFA-SVM模型对革雷站2001—2005年12月平均流量进行预测,预测结果见表4;进化过程及拟合预测效果分别如图1和图2所示。 表4 清水江革雷站12月平均流量预测结果及比较 图1 4种算法进化过程图 时间/月 从表4及图1—2可以看出: 1)4种模型对革雷站2001—2005年12月平均流量预测的最大MRE均小于3%,最大MaxRE均小于6%,4种模型均具有较好的预测精度和泛化能力,可满足中长期月均流量预测预报的精度要求。 2)相比而言,PFA-SVM、GWO-SVM模型预测精度最高,SCE-UA-SVM模型次之,CA-SVM模型最差。这与采用5个典型测试函数验证GWO、CA、SCE-UA及FPA算法性能得出的结论相吻合,表明智能算法优化性能的高低直接影响到SVM模型的预测精度。 1)通过5个典型测试函数对GWO、CA、SCE-UA及FPA算法进行仿真验证及对比分析,结果表明,4种算法性能各有优劣,均具有较好的收敛速度和全局寻优能力。但综合比较而言,GWO、FPA算法性能优于SCE-UA算法,SCE-UA算法性能优于CA。 2)利用4种新型或不常见的群体智能算法搜索SVM学习参数,提出GWO-SVM、CA-SVM、SCE-UA-SVM及FPA-SVM预测模型,为解决SVM参数寻优问题提供了新的途径和方法。 3)从实例预测结果来看,GWO-SVM、CA-SVM、SCE-UA-SVM及FPA-SVM模型均具有较好的预测效果,可满足水文预测预报的精度要求。但相对而言,PFA-SVM、GWO-SVM模型预测精度较高。 [1]卫太祥,马光文,黄炜斌.基于惩罚加权支持向量机回归的径流预测模型[J].水力发电学报,2012,31(6):35-38,43. [2]崔东文.基于多元变量组合的回归支持向量机集成模型及其应用[J].水利水运工程学报,2014,39(1):66-73.[3]张洪银,童严文,谢继香.混沌序列GA-SVM模型在滑坡监测中的应用[J].人民黄河,2014,36(12): 114-117.[4]白春华,周宣赤,林大超,等.消除EMD端点效应的PSO-SVM方法研究[J].系统工程理论与实践,2013,33(5):1298-1306. [5]崔东文.人工鱼群算法与支持向量机在枯水期月径流预测中的应用[J].人民珠江,2015,36(3):36-40. [6]崔东文,金波.果蝇优化算法与支持向量机在年径流预测中的应用[J].人民珠江,2015,36(2):29-32. [7]赖锦辉,梁松.一种新的基于GCS-SVM的网络流量预测模型[J].计算机工程与应用,2013,49(21):75-79. [8]MIRJALILI S,MIRJALILI S M,LEWIS A.Grey wolf optimizer[J].Advances in Engineering Software,2014,69(7):46-61.[9]刘纯青,杨莘元,张颖.基于文化算法的聚类分析[J].计算机应用,2006,26(12):2953-2955. [10]叶金印,姚成,李京兵,等.综合误差系数在新安江模型参数全局优化中的应用[J].河海大学学报(自然科学版),2013,41(1):1-5. [11]马海波,董增川,张文明,等.SCE-UA算法在TOPMODEL参数优化中的应用[J].河海大学学报(自然科学版),2006,34(4):361-365. [12]YANG X S.Flower pollination algorithm for global optimization[C]∥Unconventional Computation and Natural Computation,Lecture Notes in Computer Science.Springer,2012:240-249.[13]井福荣,郭肇禄,罗会兰.一种使用反向学习策略的改进花粉授粉算法[J].江西理工大学学报,2015,36(3):101-106. [14]刘伟,王建平,刘长虹,等.基于粒子群寻优的支持向量机番茄红素含量预测[J].农业机械学报,2012,43(4):143-147,155 (责任编辑:陈海涛) Application of Several Intelligent Algorithms and Support Vector Machine Fusion Model in Medium and Long Term Runoff Forecasting CUI Dongwen (Yunnan Province Wenshan Water Affairs Bureau, Wenshan 663000, China) The five typical test functions against the wolf optimization (GWO) algorithm, cultural algorithm (CA), SCE-UA algorithm and pollination algorithm (FPA) are conducted the simulation and comparative analysis. In view of the difficulty in learning parameters of support vector machine (SVM), the 4 kinds of intelligent algorithms are used to search for the optimal learning parameters of SVM. The integration prediction model of GWO, CA, SCE-UA and SVM algorithm and FPA is proposed, and applied to the medium and long-term average flow forecasts of Yunnan Gelei Hydrological Station. The results show: the performance of the 4 algorithms have better convergence speed and global optimization ability. However, the performance of SCE-UA and GWO is better than SCE-UA algorithm, while it is better than CA algorithm. The average relative errors of 5-year average monthly flow forecast by GWO-SVM, CA-SVM, SCE-UA-SVM and PFA-SVM model are 2.47%, 2.81%, 2.67% and 2.46%, respectively, and is 2.47% and 2.46% respectively. All of them have a good prediction. The model and method can provide a reference for the relevant forecast research. runoff forecasting; gray-wolf optimization algorithm; cultural algorithm; SCE-UA Algorithm; flower pollination algorithm; support vector machines; parameter optimization; function optimization 2016-03-13 崔东文(1978—),男,云南玉溪人,高级工程师,主要从事水资源与水环境方面的研究。E-mail:cdwgr@163.com。 10.3969/j.issn.1002-5634.2016.05.009 TV124 A 1002-5634(2016)05-0051-072 支持向量机
3 算法实现步骤
4 算法验证及比较
5 实例应用
6 结语