几种智能算法与支持向量机融合模型在中长期月径流预测中的应用崔东文【摘要】通过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%,均具有较好的预测效果.【期刊名称】《华北水利水电学院学报》【年(卷),期】2016(037)005【总页数】7页(P51-57)【关键词】径流预测;灰狼优化算法;文化算法;SCE-UA算法;花授粉算法;支持向量机;参数优化;函数优化【作者】崔东文【作者单位】云南省文山州水务局,云南文山663000【正文语种】中文【中图分类】TV124提高中长期水文预测预报精度对于实行最严格水资源管理制度、开展水源中长期规划以及为各级政府提供防汛抗旱决策依据具有十分重要的意义。
传统成因分析、数理统计等方法往往难以达到理想的预测效果。
目前,一些新型方法广泛应用于水文中长期预测预报,并获得了比传统方法更好的预测精度和效果。
这些方法主要包括:灰色系统分析法、人工神经网络法、小波分析法、投影寻踪法、模糊分析法、混沌分析法、集对分析法、支持向量机法、组合预测法等。
其中,支持向量机(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)表示为:步骤2 利用式(2)对灰狼空间位置进行更新。
步骤3 定位猎物位置。
当灰狼判断出猎物所处位置时,将由α狼带领β、δ狼对猎物进行追捕。
在狼群中,α、β和δ狼最靠近猎物,可利用这三者的位置来判断猎物所处方位。
α、β和δ狼跟踪猎物方位的数学描述可由式(4)—(10)实现。
其中,先利用式(4)—(9)计算群体内灰狼个体与α、β和δ狼之间的距离,然后利用式(10)判断出个体向猎物移动的方向。
1.2 文化算法文化算法(Cultural Algorithm,CA)是受文化对人类进化的影响而提出的一种双层进化机制算法,由群体空间和信念空间两个相对独立的进化空间组成,通过影响函数和接受函数组成通信协议联系在一起,具有较好的收敛精度和全局寻优能力,在各行业领域都有广泛的应用[9]。
群体空间通过目标函数评价个体的适应值,并将个体在迭代过程中的个体经验通过接受函数反馈给信念空间,并通过更新函数更新信念空间,形成群体经验。
信念空间在形成种群经验后,通过influence函数修改群体空间中个体的行为规则,进而指引群体空间的进化。
文化算法的基本原理可描述如下[9]: 步骤1 群体空间的表达。
设CA群体规模为m,对于n维连续优化问题,则群体空间pop可表示为:步骤2 信念空间的表达。
利用环境知识和标准知识表达信念空间知识:<S,N[n]>。
S表示环境知识,存储由历代群体所产生的最优个体集合;标准知识N[n]则保存目标函数n个变量的变化区间。
每个变量的变化区间描述为:步骤3 接受函数的表示。
群体空间通过接受函数向信念空间提供一组最优子集popb。
接受函数表达式为:步骤4 信念空间的更新。
信念空间的知识随着进化过程不断更新。
N[n]更新规则如下:步骤5 影响函数的表示。
影响函数influence_1 根据N[n]产生部分新的群体popc(其群体规模为m′),该群体与原有群体pop一起选择后,形成新一代的群体进入下一步迭代。
影响函数influence_2利用标准知识调整变量变化的方向及步长,即进行变异操作。
1.3 SCE-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。
步骤3 排序样本点。
将s个样本点的函数值fi按升序排列,排序后仍记为(xi,fi),i=1,2,…,s,其中f1≤f2≤…≤fs,记步骤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]:步骤1 随机初始化一个包含SN个个体的种群},其中。
其中:SN为种群大小;d 为待优化问题维度;t为当前迭代次数。
设置转换概率pc和最大迭代次数T。
步骤2 对当前种群中的个体进行适应度计算,找出适应度最优化的个体,并将其保存为当前全局最优解g*。
步骤3 对种群中所有SN个花进行授粉;随机生成一个随机数rand,若rand<pc,则按式(20)进行全局授粉;否则,按式(21)进行局部授粉。
步骤4 利用适应度函数评价新解,若新解优于当前解,则新解进入下一代种群;否则,当前解进入下一代种群。
步骤5 找到并保存当前最优解g*。
步骤6 判断算法是否满足终止条件或最大迭代次数,若满足,则算法结束,输出全局最优解g*;否则,转入步骤3。
设含有l个训练样本的集合为其回归方程最终表述为:选择径向基核函数作为SVM核函数。
径向基核函数表达式为:GWO算法、CA、SCE-UA算法、FPA与SVM模型相融合的月径流预测步骤可归纳如下:步骤1 确定SVM模型训练样本和检验样本,并进行[0,1]归一化处理。
设定SVM学习参数惩罚因子C、核函数参数g、不敏感系数ε的搜寻范围和最大迭代次数T。
步骤2 确定式(26)为各算法的适应度函数。
步骤3 基于上述4种算法操作流程,获得待优化惩罚因子C、核函数参数g和不敏感系数ε值。
步骤4 将获得的优化参数值作为SVM的最佳学习参数,对预测样本进行预测。
为验证GWO算法、CA、SCE-UA算法、FPA的性能,此处选取5个典型测试函数(表1)对其进行仿真验证。
表1中,Sphere函数常用于测试算法的收敛速度;Griewank函数常用于测试算法对全局与局部搜索能力的平衡性能;Rosenbrock 函数通常用于测试算法获得极值的能力;Rastrigin函数常用于测试算法的全局搜索能力;Ackley函数常用于测试算法跳出局部极值的能力。
实验参数设置如下: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。