刘艳伟,闵惠学,郦 英
(1.浙江大学,浙江杭州310058;2.浙江省水文局,浙江杭州 310009)
支持向量机在湄池站洪峰水位预报中的应用
刘艳伟1.2,闵惠学2,郦 英2
(1.浙江大学,浙江杭州310058;2.浙江省水文局,浙江杭州 310009)
支持向量机(SVM,Support Vector Machines)是在统计学习理论中发展起来的一种处理非线性分类和非线性回归的有效方法。感潮河段洪水位是复杂的洪、潮非线性组合问题,本文尝试将SVM方法应用于感潮河段湄池站洪峰水位预报,通过选取湄池站历史洪水中分别反映上游来水和下游顶托作用的预报因子,建立湄池站洪峰水位的SVM回归模型,获得了较好预报效果。
支持向量机;非线性回归;感潮河段;水位预报
感潮河段的洪水过程受上游径流和下游潮汐双重影响,进行准确的水位预报十分困难。由于洪潮相互作用机理复杂,人们对其认识尚有局限,还不能进行有效的数学模型描述。基于统计理论的回归分析方法由于对断面资料要求不高,不需考虑河段洪水过程的物理意义,简单实用,目前在感潮河段洪峰水位预报中应用较为广泛。但是感潮河段水位系列在时序上具有相依性、突变性和随机性等复杂非线性特征[1],而目前大多数回归分析方法是建立在线性相关基础上的(如近年来使用较多的多元逐步回归方法)[2~3],用于处理此类复杂的非线性问题时具有较大的局限性。
支持向量机(SVM,Support Vector Machines)是20世纪90年代提出的一种处理非线性分类和非线性回归的新的通用学习方法[4~5],它是建立在Vapnik等人提出的统计学理论[6~7]的VC维(Vapnik-Chervonenks Dimension)理论和结构风险最小原理(Structure Risk Minimization)基础上的,能较好地解决样本空间中的高度非线性分类和回归等问题,已成功的应用于分类、函数逼近和时间序列预测等方面。本文尝试将SVM应用于感潮河段湄池站的洪峰水位预测,通过选取湄池站分别反映上游来水和下游顶托作用的预报因子,利用历史洪水样本资料构造湄池站洪峰水位的SVM回归预报模型,预测湄池站洪峰水位,预报精度优良。
SVM解决非线性回归问题的基本思路是基于Mercer核展开定理[9],通过非线性变换Φ,将样本空间映射到一个高维乃至无穷维的线性特征空间(Hilbert空间),在高维特征空间通过一个线性超平面实现线性回归,使在特征空间中可以应用线性学习的方法解决样本空间中的高度非线性分类和回归等问题。
假设给定的样本数据集为:
(x1,y1),(x2,y2),...,(xk,yk),其中,xi∈RN,为N维向量,yi∈R。在SVM回归中,输入样本xi首先用非线性变换映射到一个m维的特征空间,然后在这个特征空间中建立一个线性模型,用公式表示为:
式中,f(x,w)是估计函数; w为权向量;Φ(x)为非线性映射集合;b为阈值。
其正确性是由损失函数来衡量的,SVM回归引入一种新的损失函数叫做ε(不敏感损失函数),它是由Vapnik提出的。同时考虑到允许拟合误差的情况,引入松弛因子ξi≥0,ξ*i≥0,用于表示引入训练集的误差。根据结构风险化最小原则即要寻求最优回归超平面使:
式中,常数C(C>0)为惩罚系数,表示控制训练误差的代价。这样,问题转化为求解如公式(2)一个二次凸规划问题。由于目标函数和约束条件都是凸的,根据最优化理论,这一问题存在唯一全局最小解。公式(2)的优化问题通过引入拉格朗日函数将其转化为对偶问题,通过解对偶问题得到公式(2)的解:
这就是SVM方法最终确定的非线性回归函数。其中,αi、α*i为拉格朗日乘子,nSV为支持向量的个数。αi、α*i和b通过约束条件求得,为确定最优超平面的参数。
支持向量机理论只考虑高维特征空间的点积运算Κ(xi,x)=Φ(xi)⋅Φ(x),而不直接使用函数Φ,从而巧妙地解决了因Φ未知而w无法显式表达的问题。已经证明,只要满足Mercer条件的对称函数即可作为核函数,常用的核函数有:
上述求解过程有多种高效算法和成熟的计算机程序可资利用[10]。本文所应用的核心软件为台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的LibSVM[11],它是一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用。该软件为非商业应用的免费软件。
湄池站位于浦阳江下游感潮河段,该站洪水位受浦阳江上游来水和钱塘江下游洪、潮水顶托的共同影响。诸暨水文站位于浦阳江中游,距离湄池站约30 km,其实测资料能准确反映浦阳江流域来水情况。闻家堰水文站位于浦阳江与钱塘江汇合口附近,距离湄池站大约40 km,观测资料能较好的反映钱塘江洪、潮顶托影响。根据资料情况,构建预报因子如下:
(1)诸暨洪峰水位X1和涨幅X2,反映上游来水影响;
(2)诸暨洪峰出现前的闻家堰最高潮位因子X3,反映下游洪潮顶托影响;
(3)闻家堰高潮位前涨潮潮差因子X4。历史资料表明,相同量级的诸暨站洪水与下游闻家堰站不同洪、潮以及江道情况组合,会使湄池洪峰水位出现较大差异。据分析,闻家堰高水位主要由潮水所致时,X4的值较大,由富春江来水所致时,X4的值较小。根据闻家堰涨潮历时,当潮型消失时X4取峰前3 h的涨幅。
本文以湄池站洪峰水位作为预报对象,以X1、X2、X3和X4为预报因子,选取1984年(考虑到大型水利工程对河道状况的影响,选取陈蔡水库建成后的资料)至2010年共26 a的洪水资料,构建样本数据集,共计选出38场洪水样本。其中32场洪水作为训练集,另外的6场洪水作为检验集,不参加建模过程。
模型构建的过程也就是选择合适的核函数,并通过对样本集的训练最终确定最优模型参数的过程。模型的优劣以均方差(MSE)和相关系数(r2)作为判别指标,公式如下:
3.2.1 选择核函数
核函数的选择[15]目前国际上还没有形成一个统一的模式,一般凭借经验。LibSVM提供了常用的3种非线性核函数,本文根据试验对比最终选定径向基函数作为核函数建立SVM模型。
3.2.2 确定模型参数
LibSVM软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,对于径向基核函数的回归问题需要人为优选确定的参数主要有惩罚系数C、损失函数ε和核参数γ。LibSVM提供了交互检验(Cross Validation)的参数优选功能:将原始数据分成K组(一般均等分,K大于等于2),将每组数据分别做一次验证集,其余的K-1组数据作为训练集,这样会得到K个模型,用某组参数训练K个模型得到的K个评分结果(MSE和r2)的平均值作为最终的评分结果,并以此为判断参数优劣的指标,通过逐步筛选的方法调试参数,直至达到最优结果。交互检验方法可以有效的避免过学习以及欠学习状态的发生,最后得到的结果也比较具有说服力。
通过以上方法,取k=5对训练集进行参数逐步逼近训练,得到最佳评分结果的SVM回归模型,表1列出了模型参数以及评分结果。可以看出,对训练集的回报效果和对检验集的预测效果都很理想,相关系数都在0.99以上,均方差都不到0.02,这表明建立的SVM回归预报模型具有较好的稳定性。
3.2.3 精度评价
表2列出了SVM模型对训练样本的回报和检验样本的预测结果,以洪峰水位绝对误差小于0.2 m作为合格标准。由表可知,对训练集回报的合格率为30/32,平均绝对误差0.006 m,最大误差为0.29 m;对检验集预报的合格率为5/6,平均绝对误差0.017 m,最大误差为0.24 m。根据水文情报预报规范的有关规定,本方案达到甲级精度。
SVM方法是一种处理高度非线性问题的有效的机器学习方法,本文是支持向量机方法应用于洪水位预测的初步尝试,结果显示:在受洪、潮等复杂因素影响的湄池站,通过选择适当的预报因子建立的SVM洪峰水位预报模型,具有较好的拟合精度,达到规范规定的甲等预报方案标准,可用于作业预报。
表1 用SVM回归方法建立湄池站洪峰水位预测模型的评价结果
由于SVM方法是通过对历史样本的不断学习来建立预报模型的,SVM预报模型的建立过程就是对历史样本的自学习记忆过程。因此,用尽可能多的样本参与训练,使预报模型包含比较完备
的支持信息,可以大大提高预报精度。建议在实际预报中适时增加新的样本参与训练,不断优化预报模型。
表2 SVM回归模型预测湄池站洪峰水位的结果
[1]张小琴,包为民.感潮河段预报方法浅析[J].水电能源科学,2009,27(3):8-10.
[2]卢金利,俞昌都.逐步回归法在临海站洪水预报中的应用[J].浙江水利科技,2001,(S):120-121.
[3]周文斌,车倩.多元线性回归法在水文预报中的应用[J].山西建筑,2009,35(1):359-360.
[4]Cristianini N and Shawa-Taylor J.An Introduction of Support Vector Machines and Other Kernel_based Learning Meth-ods[M].Cambridge:Cambridge University Press,2000.
[5]Burges C J.A tutorial on support vector machines for pattern recognition[J].Data Mining and Knowledge Discovery,1998,2:127-167.
[6]Vapnik V N.Statistical Learning Theory[M].New York:John Wiley&Sons,Inc.,1998.
[7]Vapnik V N.The Nature of Statistical Learning Theory[M].New York:Springer Verlag,2000.
[8]陈永义,俞小鼎,高学浩.处理非线性分类和回归问题的一种新方法(I)-支持向量机方法简介[J].应用气象学报,2004,15(3):345-354.
[9]Courant R and Hilbert D.Method of Mathematical Physics[M].New York:Springer Verlag,1953.
[10]http://www.kernel-machines.org
[11]http://www.csie.ntu.edu.tw/~cjlin/index.html
[12]卢敏,张展羽,冯宝平.支持向量机在径流预报中的应用探讨[J].人民长江.2005,36(8):38-39.
[13]王景雷,吴景社,孙景生等.支持向量机在地下水位预报中的应用研究[J].水利学报.2003,5:122-128.
[14]李智才,马文瑞,李素敏等.支持向量机在短期气候预测中的应用[J].气象.2006,32(5):57-61.
[15]朱树先,张仁杰.支持向量机核函数选择的研究[J].科学技术与工程.2008,8(16):4514-4517.
P731
A
1003-0239(2011)01-0072-05
2010-09-08
刘艳伟(1977-),女,工程师,主要从事水文情报预报工作。E-mail:lyanwei@163.com。