孙湛青,谢 蕾
(河海大学 商学院,江苏 南京 211100)
基于GA-SVM的河川径流量预测模型研究
孙湛青,谢 蕾
(河海大学 商学院,江苏 南京 211100)
利用遗传算法(GA)寻优优化传统的支持向量机(SVM),并将GA-SVM模型应用到水文预测中,建立了基于GA-SVM的河川径流量预测回归模型,利用双累积曲线剔除人类活动的不确定因素。以云南省昆明高古马站的月平均径流量作为实证研究对象,将预测结果与BP神经网络的预测结果进行对比。结果表明,支持向量机的预测值与实际值误差较小,具有较高的预测精度;利用支持向量机回归方法进行水文预测具有较高的研究价值和应用前景。
支持向量机;回归模型;径流量预测;遗传算法寻优
水资源的合理利用是一个关系到国计民生的大问题,长期影响着国家的可持续发展,可靠的水文预测对于合理利用水资源具有重要的意义。然而,水文系统是一个影响因素众多的复杂系统,涉及到气候、自然地理及人类活动等多种因素,难以准确地定量描述这些作用机制[1-3]。因此,要科学地进行水文预测十分困难。
常用的水文预测方法主要有两类[4]:一类是在分析水文要素本身的变化规律基础上建立的预测模型,如时间序列方法和人工神经网络方法;另一类是通过分析水文要素与其影响要素之间的关联得到的预测模型,如多元线性回归模型和模糊模式预测模型。然而,这些方法都要求有大量典型的训练样本数据或者先验知识,而在实际的水文预测中,由于季节性及地理环境等因素,很难获取到大量典型的水文数据训练样本。因此,在实际预测的应用中,上述方法难以达到满意效果。
统计学习理论(statistical learning theory, SLT)是在训练样本有限,即小样本的情况下,研究机器学习规律的一种理论方法[5]。支持向量机(support vector machine, SVM)是以统计学习理论为基础,逐渐形成的一种新型机器学习方法[6]。对于小样本、高维模式识别及非线性等问题,表现出其特有的优势,逐渐成为水文预测研究领域中的热门课题。
当前,国内外学者在支持向量机理论方法及水文预测模型领域取得了一定的研究成果。张利平等[7]利用相空间神经网络模型进行水文站月径流序列的中长期预测,并取得了较为理想的结果;王义民等[8]提出了BP 神经网络与马尔科夫相耦合的BP神经网络马尔科夫模型,以石泉水库年入库径流量为例,验证了该方法的可行性;邓红霞等[9]引入SPA方法建立水文预测模型,并结合实例证明了TR模型优于线性模型;李文莉等[10]运用最小二乘支持向量机回归原理建立水文预测模型,并利用粒子群算法进行参数寻优,证明该方法可以提高预测精度;李庆国等[11]尝试把模糊识别理论引入支持向量机,提出一种模糊识别核函数,并结合水文预测实例验证了其有效性和可行性;MOHSEN等[12]将支持向量机运用在河川径流量预测中,将预测结果与基于遗传算法的人工神经网络(ANN-GA)对比,验证SVM的推广能力;DEBASMITA等[13]也利用支持向量机对河川径流量及泥沙沉淀量作出预测,并验证其结果准确性高于人工神经网络。
由此可见,国内外学者正在努力尝试将支持向量机应用到水文预测中。然而,由于水文预测指标具有高维、非线性等复杂特点,传统的最小二乘支持向量机难以较好地在这种环境中快速准确地进行参数寻优;由于人类活动因素的存在会影响水文数据在一段时间内的一致性,使模型的预测结果产生误差。因此,寻找一种合适的参数寻优方法,在尽量减少人类活动因素的情况下建立水文预测模型,具有重要的理论与现实意义。
笔者将遗传算法作为支持向量机的参数寻优方法,建立GA-SVM水文预测模型,利用双累积曲线剔除人类活动因素,再以云南省昆明高古马站月平均径流量为例进行计算,并与BP神经网络预测结果相对比,分析对比结果,可为水文预测的研究提供理论参考。
1.1 支持向量机
支持向量机是一种新型机器学习方法。它根据统计学习理论中的VC维理论,并考虑到结构风险最小原理,具有较好的推广能力。
在线性可分的前提下,模式识别中的最优分类超平面是支持向量机方法的原型。其基本思想可用图1来表示,图1中的实心点和空心点各表示一类,H1、H2分别为通过两类样本中离H最近的点且平行于H的直线。
图1 支持向量机最优超平面分割
分类线方程为x·ω+b=0,将其进行归一化处理,使其具有线性可分性的样本集(xi,yi),i=1,2,…,n,x∈Rd,y∈{1,-1}满足:
yi[(ω·xi)+b]-1≥0,i=1,2,…,n
(1)
其中分类间隔为2/‖ω‖2,要使分类间隔最大化,即令‖ω‖2取最小值。利用拉格朗日乘子优化方法,将最优分类面的问题转换为其对偶问题,使下列函数取得最大值:
(2)
αi为Lagrange乘子,与约束条件式(1)一一对应。解得的最优分类函数为:
(3)
式(3)的求和运算只针对支持向量机。b*为分类的阈值,用任意满足不等式(1)中等号的支持向量即可求得,也可以用任意一对支持向量机取中值算得。
在非线性条件下,利用非线性变换,将问题转换到高维空间上,再来求解线性问题。若有非线性映射Φ:Rd→H,将在输入空间的较低维度的样本映射到较高维的特征空间H中。因此,若存在函数K,有K(xi·xj)=Φ(xi)·(xj),使得在高维空间中的运算仅涉及内积运算,且可以通过原低维空间的函数来求得该类内积。目标函数式(2)的形式相应地变为:
(4)
与之对应的分类函数转变为:
(5)
根据支持向量机理论,对于训练集,i=1,2,…,n,x∈Rd,y∈Rd,有:
(6)
C为惩罚因子,相应的对偶问题即:
解该最大值问题,可以得到:
(8)
这即为支持向量机的回归预测方法,基于结构风险最小化原则,综合考虑了训练样本的合理性与复杂性,具备较好的外推预测能力。
1.2 GA-SVM的参数寻优
支持向量机可以较好地运用于预测中,寻找最优的超平面,重要的是需要预先设置好参数再进行试验。由于水文预测的非线性特征,需要利用对于非线性复杂特征有较高分析能力的参数寻优算法进行研究。因此,笔者选择遗传算法进行参数寻优。
以模拟自然选择与遗传学机理为基础,遗传算法(geneticalgorithm,GA)是一种迭代自适应概率搜索算法[14]。遗传算法的主要特点为群体搜索策略和种群中个体之间的信息交换。由于该算法具有较强的健壮性,对于非线性的复杂问题有较高的分析能力。
遗传优化算法进行参数寻优的步骤如下:①随机初始化种群。对随机产生在参数空间中的一组群体进行编码;②计算个体的适应度;③判断是否满足预先设定的停止准则,若满足转步骤⑥,不满足转步骤④;④根据个体的适应度值来决定应复制的个数,进行交叉和变异操作,产生新种群;⑤计算新产生种群的适应度值,返回步骤③;⑥得到GA优化的新参数,建立GA-SVM模型;⑦判断GA-SVM模型精度是否满足预先设定的停止准则,若满足则转步骤⑧,若不满足返回步骤①;⑧确定SVM最优的惩罚因子C及核函数参数g。
利用遗传算法的全局寻优能力,确定SVM中的惩罚因子C及核函数参数g。遗传算法的搜索区间由当前样本集确定,确定搜索区间之后,在区间内进行参数寻优。
2.1 构建样本数据集
影响河川径流量的因素非常复杂,根据国内外学者的研究成果[15-16],可以将这些影响因素分为两类:降雨因素和人类活动因素。降雨因素主要有月降水量、月降水日数、月蒸发量和月平均水位。而人类活动因素非常复杂,涉及空间、地理的因素非常广,较难用数据量化。
为了选取降雨因素与径流量一致性较高的时间段,利用双累积曲线剔除人类活动因素变化幅度较大的时间段,即选择一个时间段的数据作为测试数据,使得人类活动因素的影响最小。双积累曲线(double mass curve,DMC)是一种简单直观的分析水文气象要素一致性及其长期演变趋势的方法[17]。在一致的时段内,如果既定的变量数据成正比,那么在直角坐标内,一个变量的累积值与另一个变量的累积值呈直线关系,两变量的对应点的比例常数即为直线斜率;如果其斜率突变,说明两个变量之间的比例常数产生了变化。与斜率突变点相对应的年份,即为两个累积变量关系发生突变的时间。
2.2 样本输入参数归一化
为了消除各个影响因素由于类型不同及非量纲化的影响,用离差标准化的归一化方法将学习样本的输入参数限定在[0, 1]的区间内。
2.3 模型的输出
以归一化变量rij作为模型的输入,以预测的月平均径流量作为对应的输出,对SVM模型进行训练。
3.1 研究区域和数据
首先构建样本数据集。选择昆明高古马水文站1956年1月至2010年12月的数据,绘制月降水量、月降水日数、月蒸发量、月平均水位与月平均径流量的双累积曲线,如图2所示。其中月降水量、月蒸发量、月降水日数和月平均水位的数据从1956年1月开始,月平均径流量的数据从1956年2月开始。
从图2中可知,4类降雨量因素与月平均径流量在1956—2010年这段期间内,斜率大致保持一致,人类活动因素在这段时间保持稳定,1986—2010年的时间段中,降雨因素与径流量有着相对更好的一致性,波动起伏对应关系良好,故应选取1986—2010年时间段内的数据。
图2 月平均径流量与各降雨因素的双累积曲线
为使预测模型更具实用性,在建模中不选择当月的降水因素作为输入变量。在外推预测中,往往使用前一步数的影响因子来推测后一步的输出值。综合考虑各个因素,建立径流量预测模型的关系式为:
yt=f(yt-1,at-1,bt-1,ct-1,…)
(9)
式中:yt、yt-1分别为第t、t-1个月的月平均径流量;at-1、bt-1、ct-1等为第t-1个月的各个降水量因素。根据昆明高古马水文站提供的资料,以1986—2000年每月的数据作为支持向量机学习的训练样本,2001—2010年每月的数据作为测试样本。
3.2 结果及讨论
将相应影响因素指标及月平均径流量数据共同组成25年的评价样本,其中前15年共179组评价样本作为支持向量机的训练样本,后10年共119组评价样本作为支持向量机的预测样本。
模型使用径向基核函数,设定的遗传算法寻优参数为:最大进化代数取值为200,种群最大数量为20,惩罚因子C的取值范围为[1,100],核函数参数g的取值范围为[1,1 000],交叉验证次数为3。最终,参数寻优结果惩罚参数C=5.482,核函数参数g=1.966。将云南省昆明高古马水文站1986—2010年的179组样本数据采用极差标准化方法归一化后的结果代入测试,得出后119组的月平均径流量预测结果,偏差计算结果MSE=2.607×10-3。预测结果如图3所示,实际径流量与预测相对误差分布的对比图如图4所示。
图3 实际月平均径流量和SVM回归预测数据对比
图4 实际流量与相对误差对比图
由图4不难发现,月平均径流量实际值较小的月份,支持向量机预测模型的相对预测误差较大。究其原因是在径流量较小时,影响水文条件的因素较多,所涉及的时空尺度大。然而从长期的趋势看,预测值和实际值总体还是趋于一致的,拟合程度较为理想。
BP神经网络有着很强的非线性拟合能力,能以任意精度逼近任意非线性连续函数,是水文预测研究常用方法[18]。笔者同时利用BP神经网络进行昆明高古马水文站月平均径流量的预测,目的是与GA-SVM的预测结果对比。根据预测结果,BP神经网络回归预测的偏差MSE=8.834×10-3,大于支持向量机的MSE值。而两者的平均相对误差,BP神经网络为1.28%,支持向量机为0.84%。两者的预测相对误差对比如图5所示。
图5 支持向量机和人工神经网络的预测相对误差对比
由图5可知,除了上述分析的月平均径流量较小的时段,GA-SVM预测结果的误差大部分时候都低于BP神经网络的预测误差。研究得出,支持向量机预测的准确性高于BP神经网络,这也体现了SVM较强的泛化与预测能力的特点,从侧面验证了GA-SVM预测模型的可靠性。
笔者将遗传算法优化的支持向量机算法引入到水文预测中,建立基于GA-SVM的河川径流量预测模型,利用双累积曲线剔除了人类活动因素,并结合云南省昆明高古马水文站1986—2010年的月平均径流量样本实例与实际情况进行比较分析。结果表明,基于GA-SVM的水文预测模型有较高的预测精度。
[1] 李文莉,李郁侠.基于粒子群最小二乘支持向量机的水文预测[J].计算机应用,2012,32(4):1188-1190.
[2] 畅明琦,刘俊萍.兰州站径流支持向量机预测[J].水力发电学报,2010,29(4):32-38.
[3] 李彦彬,尤凤,黄强,等.多元变量径流预测的最小二乘支持向量机模型[J].水力发电学报,2010,29(3):28-33.
[4] 廖杰,王文圣,李跃清,等.支持向量机及其在径流预测中的应用[J].四川大学学报,2006,38(6):24-28.
[5] 张学工.关于统计学习理论与支持向量机[J].自动化学报,2000,26(1):32-42.
[6] 祁亨年.支持向量机及其应用研究综述[J].计算机工程,2004,30(10):6-9.
[7] 张利平,王德智,夏军,等.相空间神经网络模型及其在水文预测中的应用[J].水电能源科学,2004,22(1):5-8.
[8] 王义民,于兴杰,畅建霞,等.基于BP神经网络马尔科夫模型的径流量预测[J].武汉大学学报(工学版),2008,41(5):14-17.
[9] 邓红霞,李存军,赵太想,等.基于SPA的水文预测模型评估[J].四川大学学报(工程科学版),2007,38(6):34-37.
[10] 李文莉,李郁侠.基于粒子群最小二乘支持向量机的水文预测[J].计算机应用,2012,32(4):1188-1190.
[11] 李庆国,陈守煜.基于模糊模式识别的支持向量机的回归预测方法[J].水科学进展,2006,16(5):741-746.
[12] MOHSEN B, ASGHARI K, EAZI M, et al. Generalization performance of support vector machines and neural networks in runoff modeling[J]. Expert Systems with Applications, 2009,36(4):7624-7629.
[13] DEBASMITA M, OOMMEN T, AGARWAL A, et al. Application and analysis of support vector machine based simulation for runoff and sediment yield[J]. Biosystems Engineering, 2009,103(4):527-535.
[14] ZHOU J, BAI T, SUO C. The SVM optimized by culture genetic algorithm and its application in forecasting share price[C]∥2008 IEEE International Conference on Granular Computing. Hangzhou :IEEE, 2008:838-843.
[15] 张峰,任全志,秦秀梅.径流变化的影响因素分析[J].水土保持应用技术,2013(3):31-32.
[16] ORTIZ R F. Methods to identify changes in background water-quality conditions using dissolved-solids concentrations and loads as indicators, Arkansas River and Fountain Creek, in the vicinity of Pueblo, Colorado[J]. US Geological Survey, 2004(6):24-25.
[17] 穆兴民,张秀勤,高鹏,等.双累积曲线方法理论及在水文气象领域应用中应注意的问题[J].水文,2010,2(4):47-51.
[18] 李存军,邓红霞,朱兵,等.BP神经网络预测日径流序列的数据适应性分析[J].四川大学学报(工程科学版),2007,39(2):25-29.
SUN Zhanqing:Postgraduate; School of Business, Hohai University, Nanjing 211100, China.
[编辑:王志全]
River Runoff Forecasting Using GA-based Support Vector Machines
SUNZhanqing,XIELei
The traditional support vector machine was optimized by genetic algorithm. A river runoff forecasting model based on GA-SVM was established. Double mass curve was used to reduce the effect factors of human activities. The statistic data of runoff of Gaoguma Hydrometrical Station in Yunnan were used as the empirical research object. The comparison of predicting outcomes was conducted between the BP neural networks and SVMs. It is proved that the GA-SVM model is more precise and effective in runoff forecast.
support vector machines (SVMs); regression model; runoff forecast; genetic algorithm
2015-03-12.
孙湛青(1989-),男,浙江杭州人,河海大学商学院硕士研究生.
2095-3852(2015)05-0593-05
A
P338.2
10.3963/j.issn.2095-3852.2015.05.015