为提高中长期径流预测精度,利用奇异谱分析(SSA)对输入资料进行数据预处理,消除噪声,得到重建序列。以水布垭水库1951~2009年的入库月径流资料为依据,选用季节性一阶自回归模型、支持向量机模型和最小二乘支持向量机模型作为径流预测模型,对原始序列和重建序列进行模拟预测。结果表明,基于奇异谱分析的最小二乘支持向量机的模拟预测精度最高,率定期和检验期的模型效率系数分别高达89%和84%。说明采用SSA对资料进行预处理可以显著提高中长期径流预报的精度。 To improve the accuracy of runoff prediction, Singular Spectrum Analysis (SSA) is applied to preprocess the original flow series and a new reconstructed series is obtained. The monthly inflow data of the Shui-buya Reservoir from 1951 to 2009 were selected as a case study. Seasonal Autoregressive (SAR) model, support vector machine (SVM) and least square support vector machine (LSSVM) are used to simulate and predict the original and reconstructed data series. The results show that SSA-LSSVM performs the best among these models, in which the model efficiency coefficients reach 89% and 84% during the verification and testing periods, respectively. It is shown that the accuracy of mid-long term runoff prediction can be significantly improved by using SSA.
巴欢欢1,2,郭生练1,2,钟逸轩1,2,刘章君1,2
1武汉大学水资源与水电工程科学国家重点实验室,湖北 武汉
2水资源安全保障湖北省协同创新中心,湖北 武汉
收稿日期:2016年9月17日;录用日期:2016年10月7日;发布日期:2016年10月10日
为提高中长期径流预测精度,利用奇异谱分析(SSA)对输入资料进行数据预处理,消除噪声,得到重建序列。以水布垭水库1951~2009年的入库月径流资料为依据,选用季节性一阶自回归模型、支持向量机模型和最小二乘支持向量机模型作为径流预测模型,对原始序列和重建序列进行模拟预测。结果表明,基于奇异谱分析的最小二乘支持向量机的模拟预测精度最高,率定期和检验期的模型效率系数分别高达89%和84%。说明采用SSA对资料进行预处理可以显著提高中长期径流预报的精度。
关键词 :中长期径流预测,奇异谱分析,季节性一阶自回归,支持向量机,最小二乘支持向量机,水布垭水库
准确可靠的中长期径流预报对防汛抗旱、水库运行调度以及水资源规划管理等有着十分重要的意义 [
奇异谱分析是一种广义的功率谱分析,具有稳定的识别和强化信号功能,其优点在于能够提取蕴含在时间序列中的不规则波动和随机性特征,消除噪声 [
SSA的分析对象是一维时间序列,首先将所观测到的一维时间序列
式中:X称为相空间中的轨迹矩阵;L(1 < L < N)称为窗口长度。
类似于常规的经验正交函数(Empirical Orthogonal Function, EOF)分解,轨迹矩阵X也可以进行奇异值分解,令
式中:
SSA最重要的应用功能是通过重建成分(Reconstructed Components, RC)实现的,它在预报中用于提取有用信息,过滤掉噪声 [
根据最小二乘法建立最优规则,求解重建成分RC,由第K个T-EOF和T-PC重建
式中:
从序列中选取p(1 ≤ p ≤ L)个具有贡献作用的有用成分进行重建,则p个序列之和等于重建序列,如下式所示:
该重建序列是被SSA滤去噪声后的有用序列,蕴含原序列的周期成分。
月径流由于有以年为周期的变化特点,其序列的统计参数与时间有关,故序列是非平稳的,考虑月径流的这种特性,采用广泛应用的月径流模型,季节性一阶自回归模型,SAR(1),设
式中:
式中:
将所求的相关系数及参数代入式(5)中,即可得到预报方程,实现月径流预报。
给定长度为N的训练集
式中:
根据支持向量机理论,可将线性回归方程转化为优化问题求解,目标函数如下:
约束条件:
式中:
为求解这样一个优化问题,根据Kubn-Tucker条件,引入拉格朗日函数:
式中:
因此,非线性回归问题可以通过解式(10)的对偶问题求解:
求解此式即可得到回归函数:
其中核函数
最小二乘支持向量机于1999年由Suykens等 [
约束条件为:
通过引入拉格朗日函数来求解式(17) (18)的优化问题,最优的拉格朗日乘子和b可根据KKT(Karush-Kuhn-Tucker)条件和训练样本集
LSSVM用等式约束代替不等式约束,将支持向量机中求解二次规划问题转化为求解线性方程组问题,降低了计算的复杂性,提高了收敛速度。
水布垭水库坝址位于清江流域中游的巴东县水布垭镇,控制面积为10,860 km2,水库正常蓄水位400 m,总库容45.8亿m3,多年平均流量299 m3/s,多年平均径流量为94.4亿m3。采用水布垭水库1951~2009年(共计59年,708个月)的入库月径流资料进行分析研究。
为了消除数值不同量级之间的相互影响,加快模型的识别精度与收敛速度,对资料数据进行标准化处理 [
式中:
运用SSA处理数据时,窗口长度L和贡献成分个数P是两个重要的参数。窗口长度的选择直接影响着时间序列的有效分解,决定能否准确捕捉时间序列的结构特征。窗口长度的选取没有一个统一的标准,本文基于检验期不同窗口长度下模型的预测值与实测值的均方误差最小的原则 [
式中:n是检验期径流量个数,
SSA另一个重要的参数是贡献成分的个数P。给定一个窗口长度L后,原始序列被分解为L个子序列,从L个子序列中准确识别贡献成分是提取序列中的有用成分滤去噪声的关键。本文采用互相关函数法 [
模型 L | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|
SSA-SAR(1) | 173.3 | 174.8 | 174.0 | 174.8 | 174.4 | 174.8 | 174.7 | 174.9 | 174.8 | 174.9 |
SSA-SVM | 106.6 | 92.9 | 100.9 | 97.7 | 95.0 | 92.1 | 92.9 | 93.7 | 91.9 | 93.0 |
SSA-LSSVM | 90.5 | 91.6 | 95.0 | 101.2 | 91.8 | 100.1 | 87.4 | 97.5 | 86.6 | 91.6 |
表1. 检验期内模型在各个窗口长度下均方误差
L | 序列编号 | P | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ||
2 | −0.20 | 0.68 | — | — | — | — | — | — | — | — | — | — | 1 |
3 | −0.32 | 0.23 | 0.71 | — | — | — | — | — | — | — | — | — | 2 |
4 | −0.33 | −0.14 | 0.49 | 0.71 | — | — | — | — | — | — | — | — | 2 |
5 | −0.32 | −0.20 | 0.02 | 0.61 | 0.70 | — | — | — | — | — | — | — | 3 |
6 | −0.31 | −0.25 | −0.07 | 0.14 | 0.65 | 0.70 | — | — | — | — | — | — | 3 |
7 | −0.30 | −0.26 | −0.15 | 0.03 | 0.24 | 0.70 | 0.66 | — | — | — | — | — | 4 |
8 | −0.27 | −0.30 | −0.20 | −0.04 | 0.09 | 0.33 | 0.70 | 0.66 | — | — | — | — | 4 |
9 | −0.26 | −0.30 | −0.23 | −0.12 | 0.03 | 0.14 | 0.36 | 0.70 | 0.66 | — | — | — | 5 |
10 | −0.26 | −0.31 | −0.26 | −0.14 | −0.05 | 0.08 | 0.17 | 0.34 | 0.68 | 0.66 | — | — | 5 |
11 | −0.26 | −0.30 | −0.26 | −0.16 | −0.09 | 0.03 | 0.11 | 0.19 | 0.33 | 0.65 | 0.67 | — | 6 |
12 | −0.26 | −0.23 | −0.22 | −0.17 | −0.15 | −0.03 | 0.06 | 0.13 | 0.24 | 0.32 | 0.64 | 0.66 | 6 |
表2. 各个窗口长度下子序列与原序列的互相关系数
中长期径流预报中,假设未来径流值与过去径流值之间存在某种确定的函数关系,利用过去的观测值估计未来值 [
式中:Q(t)为当前时段月径流量,
SAR(1)模型是用前一个月的径流预测当前时段的月径流,故预测因子为前一个月的径流。而SVM模型和LSSVM模型的预报因子的个数对训练结果有很大的影响,个数过小,则没有足够的序列信息让模型去捕捉,若个数过大,则会引入过多的噪声,不仅增加模型的训练时长,而且可能会干扰训练结果,因此采用SVM和LSSVM建模时,选择合适的时滞参数m至关重要 [
基于水文情报预报规范,本文选取以下四个指标作为预测模型的精度评价指标:
(1) 纳什模型效率系数
图1. 原始序列的自相关函数值
图2. L = 11重建序列的自相关函数值
(2) 水量平衡系数
(3) 年均最大径流的相对误差
(4) 年均最小径流的相对误差
式中:n是径流序列的长度,l是年份数;
本文选取水布垭水库1951~2009年的入库月径流资料进行分析,将1951~1998年的月径流资料作为训练数据,1999~2009年的月径流资料作为检验数据。运用三个模型分别模拟预测原始序列和重建序列,率定期和检验期的模拟预测结果见表3,并在图3~5中绘制了三个模型检验期132个月的预测值与实测值,直观分析模拟预测效果。
如表3所示,经过奇异谱分析预处理后,SAR(1)模型在训练期的模型效率系数由原来的48%提升到56%,水量平衡系数为100%,且年均最大径流相对误差和年均最小径流相对误差均有所降低,SAR(1)模型在训练期模拟精度虽有一定提升,但模型的检验期在预处理前后,预测精度变化不大,这说明奇异谱分析对SAR(1)模型模拟预测精度的提高影响不大。
由表3得出,数据预处理前,SVM模型率定期和检验期的纳什效率系数为45%、43%,检验期的年均最大和最小径流相对误差分别高达29%和39%,模型对洪水和枯水期的预测能力不足。经过奇异谱分析对原始数据进行预处理后,模型的精度大幅度提升。SVM模型检验期的纳什效率系数达82%,水量平衡系数也接近于1;
模型 | 率定期(1951.1~1998.12) | 检验期(1999.1~2009.12) | ||||||
---|---|---|---|---|---|---|---|---|
NS | WB | REmax | REmin | NS | WB | REmax | REmin | |
SAR | 0.48 | 1.00 | 0.29 | 0.43 | 0.36 | 1.18 | 0.42 | 0.34 |
SSA-SAR | 0.56 | 1.00 | 0.21 | 0.34 | 0.36 | 1.18 | 0.40 | 0.29 |
SVM | 0.45 | 0.85 | 0.33 | 0.34 | 0.43 | 1.00 | 0.29 | 0.39 |
SSA-SVM | 0.83 | 0.99 | 0.13 | 0.36 | 0.82 | 1.03 | 0.12 | 0.42 |
LSSVM | 0.43 | 1.00 | 0.32 | 0.82 | 0.38 | 1.16 | 0.31 | 0.64 |
SSA-LSSVM | 0.89 | 1.00 | 0.11 | 0.47 | 0.84 | 1.04 | 0.09 | 0.59 |
表3. 率定期和检验期各模型的模拟结果
图3. 检验期模型SAR和SSA-SAR的预测值与实测值对比图
图4. 检验期模型SVM和SSA-SVM的预测值与实测值对比图
图5. 检验期模型LSSVM和SSA-LSSVM的预测值与实测值对比图
检验期的年均最大径流相对误差从原有的29%降低到12%,然而年均最小径流相对误差相较于数据处理前略有增加。说明经过奇异谱分析后,SVM模型的模拟预测精度显著提升,尤其对于年最大径流的预测,而对于枯水期的模拟预测未有明显改进。
由表3得出,数据预处理前,LSSVM模型率定期和检验期的模型效率系数分别为43%和38%,检验期的年均最大和最小径流相对误差分别高达31%和64%,说明模型对洪水和枯水的预测能力不足。通过对原始输入数据序列采用SSA去除噪声后,将得到的重建序列作为模型的输入进行预测,模型在检验期的纳什效率系数达到84%,水量平衡系数也较预处理前更接近于1;检验期的年均最大径流相对误差从原有的31%降低到9%,预测精度显著提升,年均最小径流相对误差也从64%降低到59%,有所改进。从图5可以直观地看出,数据未处理前,LSSVM模型预测值与实测值的总体趋势一致,但汛期的预测值与实测值偏差较大,尤其在2002年、2007年和2008年三年的洪峰处最为明显,模型预测结果较差,而经过数据预处理后,模型的预测值与实测值拟合较好,对汛期的到达时刻和峰值模拟的较为准确,同时较好地模拟出了2000年、2002年、2003年、2008年四年的双峰规律,说明经过奇异谱分析后,模型的预报精度显著提高。
本文以水布垭水库1951~2009年的月径流资料为依据,采用奇异谱分析对其进行数据预处理,选用SAR(1)模型、SVM模型和LSSVM模型作为径流预测模型,对原始序列和重建序列进行模拟预测。经过分析比较,可以得出以下几条结论:
1) LSSVM模型的模拟预测精度高于传统的SAR(1)模型,略低于SVM模型,但SVM模型和LSSVM模型对月径流极大值和极小值的预测误差仍然偏大。
2) 奇异谱分析是一种有效的数据预处理技术,经过预处理后的系列可以显著地提高SVM模型和LSSVM模型的模拟预测精度。
3) SSA-LSSVM模型的模拟精度最好,率定期和检验期的模型效率系数分别达到89%和84%,尤其表现对年最大月径流的预测,显著地提高了水布垭水库中长期径流预报水平。
国家自然科学基金重点项目(51539009)和十三五国家重点研发项目(2016YFC0402206)资助。
巴欢欢,郭生练,钟逸轩,刘章君. SSA-LSSVM在中长期径流预测中的应用研究 Application of SSA-LSSVM in Mid-Long Term Runoff Prediction[J]. 水资源研究, 2016, 05(05): 423-433. http://dx.doi.org/10.12677/JWRR.2016.55049
http://dx.doi.org/10.1016/j.jhydrol.2011.01.017
http://dx.doi.org/10.1007/s00477-013-0772-4
http://dx.doi.org/10.2166/hydro.2010.032
http://dx.doi.org/10.1023/A:1018628609742