基于机器学习的赤水河中下游水位预测研究

2019-07-19 03:26玲,谢强,陈宇,管
中低纬山地气象 2019年3期
关键词:赤水赤水河水位

翁 玲,谢 强,陈 宇,管 杰

(1.贵州省贵阳市气象局,贵州 贵阳 550001;2.贵州省仁怀市气象局,贵州 仁怀 564501; 3.电子科技大学,四川 成都 611731)

1 引言

赤水河位于川、滇、黔三省接壤地带,流域内年降水量一般为700~1 100 mm,集中于6—9月,汛期与雨季一致,5—10月径流量占全年的65%~70%。赤水河中下游流域洪水灾害较严重,据资料记载,自1949年以来,流域发生较大洪灾17次,平均约3.5 a发生一次[1]。

关于水位预测,目前有许多学者做了相关研究,例如基于时间序列ARMA的水位预测模型在预测邯郸市地下水位时达到了RMSE 0.136 m的预测效果;基于无网格法的鞍山市地下水预测模型取得了MAE为0.115 m的预测精度;以及基于径向基函数神经网络的吉林市地下水位预测模型能达到实现RMSE为0.43 m的预测。上述文献中的方法对于水位预测取得了一定的成果,但各模型都基于具体的水文气象条件进行构建,无法直接应用于赤水河中下游水位预测中,本文针对赤水河洪水灾害的多发性和灾情的严重性的现实,利用赤水站及上游茅台站、二郎站3个水文监测站2015、2016年5—10月逐小时采集存储的水位、实测流量等数据以及习水、赤水两个国家级气象台站2015、2016年5—10月逐小时降雨量,基于机器学习的方法进行建模分析,预测赤水站未来6 h水位变化趋势,旨在探索适用于赤水河中下游防汛预警的水位预测模型。

2 资料与方法

本文利用赤水河中下游流域小时累计降雨量和监测站整点水位构建模型进行水位预测,采用的数据由赤水河中下游沿岸自动气象站、水文监测站在2015、2016年5—10月期间采集,所涉及的相关站点信息见表1。数据是逐小时采集存储的,总共有8 834个数据点(其中数据总缺失项为145条)。鉴于缺失项占总数据的大约2%,比例较小,从而直接剔除缺失项,最终可用数据项为8 689条。

数据集共有5个特征:编号、站点、地点、数据类型、采集周期。分为两个方面内容:① 3个水文监测站(赤水站、茅台站、二郎站)的水位数据(代号为HS_CS、HS_MT、HS_EL) ;②两个气象监测站(赤水站、习水站)的降雨量数据(代号为MS_CS、MS_XS)。

表1 实验数据集Tab.1 Experimental data set

本文所使用数据集中的各特征项均为逐小时时间序列,由于时间序列具有累积性和滞后性的特点,为充分利用特征集所包含的有效信息,在构建模型输入集时引入各特征的滞后量。具体而言,对于某一特征x(如HS_CS),当选定滞后量为lag时,在t时刻的输入样本中,包含了由x扩展得到的输入向量[x(t),x(t-1),x(t-2),…,x(t-lag)]。从而整个输入矩阵为:

X=[x(t),x(t-1),x(t-2),…,x(t-lag)],x∈C

(1)

其中X为模型的输入矩阵;lag为选定的特征的滞后量时长,文中共讨论滞后量为24 h、48 h和72 h这3种情形;x∈C为特征项;C=[HS_CS,HS_EL,HS_MT,MS_CS,MS_XS]为文中利用到的特征集。本文使用的数据为逐小时采集存储,在2015年和2016年5—10月采集周期内去除缺失项后共有8 624个数据点,从而,得到的输入集为8 624×365的矩阵。

构建完输入数据集后,采用Z-Score法将数据集标准化处理,其公式为:

z=(x-μ)/σ

(2)

其中x为特征项的数据集,μ为该数据集的平均数,σ为数据集的标准差[5]。

实验中将数据集按80%和20%的比例随机分割为训练集和测试集,并分别采用MLR、岭回归和LASSO回归3种算法进行模型训练验证,研究基于机器学习的方法在赤水河水位预测应用中的性能。

针对本文中探讨的3种算法,在模型构建中利用10-折交叉验证对模型的稳健性进行评估,将交叉验证的均值作为模型的输出。实验中,利用均方根误差( Root Mean Square Error, RMSE)对模型性能和预测准确度进行评估,RMSE的计算方式是[6]:

(3)

其中yOB,i为实测水位值,yFOR,i为模型预测得到的水位值,N为数据点个数。

本文对多元线性回归、岭回归和LASSO回归等3种方法进行简要介绍如下。

多元线性回归:多元线性回归(Multiple Linear Regression, MLR)是两个或两个以上自变量的回归模型,就是如何通过样本来获取最佳的拟合线,它具有构建简单、易于实现以及运算复杂度低等特点,对于线性问题,基于MLR建模分析通常能取得性能良好的预测结果。岭回归:岭回归(Ridge regression)是由Hoerl和Kennard于1970年提出的,它在最小二乘法的基础上引入L2正则惩罚项来进行系数收缩[8]。

LASSO回归:本方法是由Tibshirani在1996年提出的[10-11],LASSO的基本思想是在回归系数的绝对值之和小于等于一个常数的约束条件下,使残差平方和RSS最小化,从而能够产生某些严格等于0 的回归系数,得到压缩特征后具有解释能力的模型。

3 结果分析

在原始输入集的构建中,针对前文所述的5种特征项,构建输入集时进行了如下的特征组合:① 使用特征HS_MT、HS_EL、MS_CS和MS_XS的数据集1;②使用特征HS_CS、MS_CS和MS_XS的数据集2;③使用特征HS_CS、HS_MT和HS_EL 的数据集3;④使用所有的特征的数据集4。

实验中,分别将4种不同特征组合和引入不同滞后时长得到的输入集用于本文所研究的3种机器学习算法,按照前文所述的数据分割方式进行测试验证。表2为采用不同数据集和滞后量时3种模型的10-折交叉验证RMSE均值统计情况。

表2 不同输入集和滞后量10-折交叉验证RMSE均值对比Tab.2 Comparison of RMSE in different input sets and lags with 10-fold cross-validation

从表2可看出采用数据集4、滞后量为72 h时MLR、LASSO回归和岭回归3种不同模型预测结果的RMSE分别0.198 m、0.192 m和0.195 m,为性能最优的数据集组合。而LASSO回归模型在不同数据集和滞后量下的平均RMSE为0.247 m,为3种模型中最优的性能。为进一步研究3种不同机器学习算法在赤水河中下游水位预测中的性能,实验中对采用数据集4、滞后时长为72 h的预测结果和实测值基于时间序列曲线和散点图进行对比分析。

图1为利用数据集4、滞后时长为72 h时3种模型对赤水站未来6 h水位数据的预测值与实测值的时间序列曲线对比图,图2为各模型预测值与真实值的散点图。从图中可看出LASSO回归模型的预测结果时间序列图相对其他模型的结果更为接近实测值的时间序列图,而其散点图中预测值更为紧密的分布在实测值周围,从而可以说明,在本文选择的3种回归模型中,对于预测赤水河中下游水位数据,LASSO回归模型具有更好的解释能力。

图1 采用数据集4滞后量为72 h时不同模型预测赤水站未来6 h水位对比(右图为左图的局部放大)Fig.1 Comparison of water level forecast from Chishui Station for the 6-hour period predicted by different models using data set No.4 with 72 h lag (the right graph is partial enlargement of the left graph)

另外,对比表2中不同数据集的RMSE可看出,数据集4在24 h、48 h和72 h 3种滞后量时的RMSE均低于其他输入集对应滞后量的预测结果,从而说明引入更多有效的特征构建输入集能提高模型的预测精度。考虑到LASSO回归在赤水河水位预测中有更优的表现,实验中基于LASSO回归对不同输入集的性能进行了可视化分析。图3是采用LASSO回归,滞后量为72 h不同数据集预测赤水站未来6 h水位结果的时间序列图,图4为预测值与实测值的散点图。可以看出,采用数据集4时模型的预测曲线更趋近于真实曲线,能够得到更优的性能。

同样,结合表2和图4分析得出,引入48 h滞后时长时预测结果的RMSE低于24 h滞后时长的预测结果,而引入72 h滞后时长时预测结果的RMSE则低于滞后时长为48 h的结果,从而可以说明引入更多的有效的滞后数据有利于提高模型的预测准确度。

图2 采用数据集4滞后量为72 h时不同输模型真实值与预测值散点图Fig.2 Scatter diagrams of observations and predictions predicted by different models using data set No.4 with 72 h lag

图3 采用LASSO回归72 h滞后量为不同数据集预测赤水河未来6 h水位结果对比(右图为左图的局部放大)Fig.3 Comparison of water level forecast from Chishui Station for the 6-hour period predicted by different data sets of LASSO regression with 72 h lag ( the right graph is partial enlargement of the left graph)

图4 采用LASSO回归72 h滞后量不同数据集预测赤水河未来6h水位散点图Fig.4 Scatter diagrams of water level forecast from Chishui river for the 6-hour period predicted by different data sets of LASSO regression with 72 h lag

4 小结

本文基于MLR、岭回归和LASSO回归3种机器学习算法,分别构建了预测赤水河中下游赤水站未来6 h水位的模型,初步得出以下结果:

对于MLR、岭回归和LASSO 3种算法,在赤水河中下游水位预测应用中LASSO回归能取得更优的预测性能。而使用数据集4并引入72 h滞后量构建输入集的LASSO回归模型能实现RMSE为0.192 m的预测,为所有模型和数据组合中最优的结果。

另外,不同特征组合和滞后量对预测结果有一定的影响,实验结果表明在模型训练中,尽可能的将相关特征作为输入集能提高模型的预测性能和稳定性。

猜你喜欢
赤水赤水河水位
唐光平摄影作品欣赏
——美丽赤水河
赤水丹霞冠华夏——赤水丹霞国家地质公园
情满赤水河源头
赞贵州赤水诗四首
赤水情
赤水河保护进入新阶段
七年级数学期中测试题(B)
更正