APP下载

基于SVM的河道洪峰水位校正预报方法

2020-07-16章国稳姬战生孙映宏

水力发电 2020年4期
关键词:洪峰训练样本洪水

章国稳,姬战生,孙映宏

(1.杭州电子科技大学自动化学院,浙江 杭州 310018;2.杭州水文水资源监测总站,浙江 杭州 310014)

0 引 言

随着平原河网地区城市化进程加快,人类活动使降水汇流时间缩短、洪峰变得尖瘦,对平原河网地区洪水预报和城市防洪提出了更高的要求。如果可实现洪水过程准确预报,并依此采取防洪措施,提前加固沿岸堤防,必要时进行水库调度或者分洪,可以极大减少洪水带来的损失。在防洪减灾工作中,水文预报是基础,防洪决策往往以洪峰水位为主要依据,而及时、准确、可靠的洪水预报可对平原河网地区防洪排涝带来巨大的经济社会效益。

目前,平原河网地区河道洪峰水位预报主要采用经验预报法,存在预报精度低、预见期短等缺点。人工神经网络在水位预报方面也有所应用,如胡健伟等[1]将BP神经网络用于为武夷山部分区域的河道断面流量预报;金保明等[2]提出基于径向基函数神经网络对洪水过程流量进行预报;冯鑫伟等[3]将BP神经网络应用于次洪量预测中。神经网络自身存在着一些亟待解决的问题,如网络结构设计缺乏理论、训练速度慢且易陷入局部极小值、模型泛化能力较差等问题,因此难以得到满意预报结果。

支持向量机[4-5](Support Vector Machine,SVM),是近年发展起来的一种适用于小样本的统计学习理论,其模型结构简单,已在图像识别[6]、时序预测[6]、多领域预测[7]等领域得到成功应用。本文尝试将其应用于河道洪峰水位预报中。

本文提出了一种基于支持向量机(SVM)的河道洪峰水位校正预报方法,采用聚类法将历史数据分类,选择与预报降雨过程最相似的历史数据训练预报模型;采用PCA对输入数据降维以提取有效特征;基于支持向量机建立洪峰水位预报模型;采用滚动预报方式对洪峰水位进行预报,结合最新水位以及降雨信息不断预报洪峰水位,使得预报结精度不断提高。通过京杭运河拱宸桥站的洪峰水位实例预测验证本研究方法的有效性。

1 样本数据集的构建

本文采用河道水位、对应时刻前4 h降水量、未来降水预报为影响因子。

1.1 训练样本分类

考虑不同降水过程特性差异,采用谱系聚类算法[8]基于气象和水文特性对历史数据进行分类:①获取历史洪水过程相关信息,如相关区域降雨量以及河道水位。②计算洪水过程相关区域每小时平均降水量

(1)

(2)

式中,L为相关降水量测站总数;Zi为第i场洪水过程预测水位站点的起涨水位。

基于式(2)建立各场洪水过程的距离矩阵,设定距离阈值(本文设置为1),将历史洪水过程聚类。以聚类元素的聚类因子均值描述聚类属性,聚类中所有洪水过程应具有相似特性。在选择训练样本时,根据预报洪水过程与各聚类相似性选择相应训练样本。

1.2 训练样本选择

针对需要进行预报的降水过程,结合定量降水预报以及当前起涨水位计算与1.1中历史数据各聚类中心的距离,选择最相似的聚类(距离最小)作为训练样本。

2 数据降维

本文采用多个时间点的降水量、起涨水位作为影响因子,从而得到高维度特征数据。高维输入向量将带来巨大运算量并增加有效特征提取困难。有必要对输入向量进行降维。

定义n时刻预测站点的洪峰涨差

ΔZf(n)=Zf-Z(n)

(3)

式中,Zf为洪峰水位;Z(n)为n时刻起涨水位。

利用主成分分析法(PCA)[9]对输入特征数据降维。

(1)建立特征矩阵

(4)

式中,m为输入向量维数;vxl为训练样本l;vxnow为预测时刻的输入特征;(·)T为矩阵的转置。其中,vxl=[Zl(n)Tr,i,f(n)vRl,f(n)vRl(n)VvRl(n-1)vRl(n-2)vRl(n-3)]vRl,f(n)=[R1,l,f(n)

R2,l,f(n) …RL,l,f(n)]vRl(n)=[R1,l(n)R2,l(n) …

RL,l(n)];Rr,i(n)、Rr,i,f(n)、Tr,i,f(n)分别为n时刻i区域的降水量、未来降水量以及相应的未来降水持续时间。

(2)对矩阵X的每一列去均值得到X0。

(4)对M进行特征值分解得到特征值λi(i=1,2,…,m),λ1>λ2>… >λm以及特征向量p1,p2,…,pm。

(5)提取贡献率大于95%的主元表征原始信息,计算前v个分量p1,p2,…,pv贡献率

(5)

3 SVM的学习训练与预测

3.1 构造训练样本

以洪峰涨差构建目标矩阵Y,用2.1中降维后v个输入向量构建输入矩阵

P=EN[p1p2…pv],Y=[y1y2…yN]T

(6)

3.2 SVM模型训练

构造训练模型即选择核函数和确定模型参数:

(1)目前支持向量回归机提供了多种核函数,不同的核函数具有不同的预测特性,并无绝对好坏。笔者对洪峰水位预测问题进行多次试验发现,线性核函数有较好的预测效果。因此,本文选择线性核函数。

(2)损失函数的参数ε控制回归逼近误差管道的大小,影响拟合精度和泛化能力。其值越大,模型泛化能力越强,而预测精度越低;反之,亦然。通常ε的取值范围为0.000 1~0.01。

(3)模型复杂度和逼近误差主要受控于惩罚因子C,其越大,模型对训练样本的拟合度越高,模型越复杂。反之,模型的误差越大。为了控制模型复杂程度和模型误差之间的平衡,C通常在一个范围内取值,通常取值为1~1 000。

3.3 预测

(7)

本文方法基本步骤如图1所示。

图1 基于SVM的钱塘江涌潮预报过程

4 实例分析

用本文方法对杭州运河拱宸桥河道洪峰水位进行预报。摘录了2007年~2017年共30场降雨过程相关水文数据(小时数据),包括河道附近区域各降雨量测站(塘西、拱宸桥、七堡、闸口)降水量,拱宸桥相应时间的水位。

采用本文预测模型,以2007年~2016年26场降水过程数据为训练样本,对2012.06.18 00∶00~06.18 16∶00之间的洪峰水位进行预测。

采用谱系聚类算法对训练样本进行聚类,以1为阈值可将28个训练样本分为5类。计算2012.06.18 00∶00~06.18 16∶00与与各聚类中心距离,得到与其最接近的1类数据。用这类数据训练预测模型。接着对训练样本特征矩阵进行SVD分解,得到主成分(见图2)。

图2 SVD奇异值

根据奇异值累积贡献率确定输入特征维数,本文将其阈值设为95%,可以确定降维阶次为10。将22个输入特征降为10个输入特征,用其代替原始特征作为输入特征。

采用训练得到的模型,在2012.06.18 00∶00~06.18 16∶00之间,每小时根据当时的信息对未来的洪峰水位进行预报。预报结果如图3所示。本文方法所得涌潮洪峰预测结果中,误差在0.2 m以内的占82.35%,误差在0.1 m以内的占41.18%,预测结果具有较高的可靠性。总体而言,距离洪峰时间越远,其预测误差越大;反之,则越小。随着预报结果的不断校正,预报结果亦越来越可靠。

图3 不同时间河道洪峰涨差预测值与真实值的比较

5 结 论

本文提出了一种基于支持向量机(SVM)的河道洪峰水位校正预报方法。通过谱系聚类分析对历史数据进行分类,选择与预报降雨过程最相似的历史数据训练预报模型;采用PCA对输入数据降维以提取有效特征;基于支持向量机建立洪峰水位预报模型;基于最新的水位和降雨信息滚动预报洪峰水位,使预报结果越来越精确。2012.06.18 00∶00~06.18 16∶00之间京杭运河拱宸桥河道洪峰水位分析验证了本文方法的有效性。

猜你喜欢

洪峰训练样本洪水
人工智能
又见洪水(外二首)
淡定!
基于小波神经网络的网络流量预测研究
宽带光谱成像系统最优训练样本选择方法研究
该做的和不该做的
筑起堤坝,拦住洪水
猛兽威力无比
洪峰马原们的乌托邦