1、第 54 卷 第 2 期2 0 2 3 年 2 月人民长江YangtzeiverVol 54,No 2Feb,2023收稿日期:2022 02 17基金项目:国家自然科学基金青年基金项目(51909010)作者简介:刘晓阳,男,助理工程师,硕士,主要从事水文预报及水库优化调度研究。E mail:liu_xiaoyang ctg com cn通信作者:姚华明,男,教授,博士,主要从事水文预报与水资源管理方法与应用研究。E mail:yao_huaming ctg com cn文章编号:1001 4179(2023)02 0147 05引用本文:刘晓阳,姚华明,张海荣,等 基于机器学习的三峡水库小
2、时尺度坝前水位预测 J 人民长江,2023,54(2):147 151基于机器学习的三峡水库小时尺度坝前水位预测刘 晓 阳1,姚 华 明1,2,张 海 荣1,2,夏燕3,赵 建 华1(1 中国长江电力股份有限公司,湖北 宜昌 443133;2 智慧长江与水电科学湖北省重点实验室,湖北 宜昌443133;3 中国长江三峡集团有限公司 流域枢纽运行管理中心,湖北 宜昌 443133)摘要:针对三峡水库坝前水位影响因素繁多、变化机理复杂、传统水量平衡方法难以精确预测的问题,以水库历史运行数据为基础,分析了坝前水位变化规律,并采用 3 种机器学习方法(人工神经网络、支持向量机、随机森林)分别构建了小时
3、尺度坝前水位预测模型,对模型预测效果进行了评价。测试结果表明:3 个预测模型均具有较高预测精度,其中随机森林模型在精度评价中表现最优,k 折交叉验证均方误差为 5 2,2平均值为0 82,在 3 个不同调峰量的典型测试案例中较传统水量平衡方法均具有明显优势。研究成果可为水库短期发电精准化调度提供技术支持。关键词:水位预测;人工神经网络;支持向量机;随机森林;三峡水库中图法分类号:TV697文献标志码:ADOI:10 16232/j cnki 1001 4179 2023 02 0220引 言机器学习方法可以从大量数据中挖掘变量间存在的复杂映射关系,与传统的既定关系曲线计算方法相比具有明显优势,
4、可有效提高计算精度。许多学者尝试将机器学习模型应用于水位预测的研究,并取得了较为丰富的研究成果。在地下水位预测方面,人工神经网络方法有较多应用1 4,例如魏光辉4 利用 BP神经网络和模糊神经(NF)网络两种方法对希尼尔水库周边地下水水位进行预测计算,结果表明模糊神经网络具有更加优秀的误差纠错和仿真性能,证明机器学习方法在长时间尺度的地下水位预测中具有良好效果。相较于影响因素较为单一的地下水位预测,机器学习方法在河湖水位预测中同样应用广泛5 11。例如涂月明等6 采用互信息方法进行预测模型输入因子的筛选,并以西洞庭湖为例建立日水位预测模型,F检验显著,预测精度较高;刘艳等9 提出了基于序列到序
5、列(Seq2Seq)的短期水位预测模型,进行时域内连续水位预测,通过引入序列到序列结构,建立了未来6,12 h 和 24 h 的逐小时水位预测模型,以西溪河历史水位数据为测试对象,预测模型的 MAE 均小于 0 1m,NSE 均大于 0 7,取得了较高的预测精度。从以上可见机器学习方法在边界条件更加复杂、时间尺度更小的预测模型中依然有效。机器学习方法在城市水位预测中也有良好表现,Assem 等12 采用了基于深度卷积神经网络的机器学习模型,对爱尔兰香农河两岸的3 个水文测站 30 a 的水位和流量进行进行学习训练,并对 2013 2080 年的水位及流量进行了预测模拟,为当地水资源优化分配提供
6、了较大技术支持。水库水位除受降雨产流等天然因素影响外,同时受发电、生活灌溉取水等人为因素影响,水位变化较为复杂,预测难度较高,相关研究证明机器学习方法在水库水位预测中依然可以取得良好预测效果13 16。例如刘亚新等14 建立了基于长短时记忆网络(LSTM)的葛洲坝电站上人民长江2023 年下游水位预测模型,实现了葛洲坝上下游水位短期变化趋势的精准预测;刘威等15 提出了一种基于长短期记忆网络的时间序列模型,以沂沐泗流域的石梁河水库为研究对象,实现水库水位的精准预测。上述研究成果主要在中小型水库中应用验证,在大型水库中缺乏相关预测效果证明。三峡水库因其库容大、回水长,具有更加复杂的水力条件,在调
7、峰过程中出库流量变化会导致坝前水位的跌水和壅水,上游水位变化极其复杂,利用传统方法难以精确模拟,机器学习方法为三峡水库坝前水位预测提供了新的技术手段。基于此,本文选取 3 种机器学习方法(人工神经网络、支持向量机、随机森林)分别建立三峡水库小时尺度坝前水位预测模型,对模型预测效果进行精度评价,以期为三峡水库短期发电精准化调度提供技术支持。1坝前水位变化规律分析三峡水库属于典型河道型水库,且具有库容大、回水长的特点,库区水面线并非呈水平状态,尤其是坝前水位受多方面因素影响,变化规律复杂。三峡电站枯水期调峰运行,出力增减过程中由于出库流量突变形成的壅跌水对坝前水位变化具有较大影响。因此计算中使用考
8、虑壅跌水变化的动库容计算方法进行入库流量的计算,理论上较为接近真实入库流量。为定性分析出库流量的突变对坝前水位的影响,本文对三峡水库日内库容变化和水位变幅进行了对比分析,表 1 和图1 选取的为三峡水库典型枯期调峰背景下2019 年 12月10 日日内水位过程。06:00,12:00,16:00,22:00 这 4个时段流量变化较大,出入库流量差与水位变幅匹配性较差,利用水量平衡原理计算的静库容入库呈现负值。以 06:00 为例,在动库容入库与出库基本持平的情况下水位有明显下降,其原因是出库流量较前时段突然增加,导致了坝前跌水。12:00 入库流量小于出库流量,但坝前水位呈上升趋势,其原因是出
9、库流量突然减少,导致了坝前壅水。此外,由 10:00,18:00,20:00 几个时段可发现另一水位变化规律。以 10:00 为例,在动库容入库小于出库的情况下水位缓涨,且该时段出库流量并无明显突变,其原因是前面时段发生坝前跌水,后续时段该部分水量得到补充,水位回涨。对历史数据中大量日内过程进行分析,均具有该典型过程的水位变化规律,由此可见三峡水库坝前水位变化在小时尺度上具有以下规律:三峡水库坝前水位变化在水量平衡原理基础上受到出库流量变幅的影响较大,出库流量突然减少的时候,在一定程度上会导致坝前断面水位壅高,当出库流量突然增加的时候,在一定程度上会产生跌水现象,且坝前水位在发生壅水和跌水现象
10、后会在后续时段有向正常水位回归的趋势。表 1三峡水库日内水位统计(2019 年 12 月 10 日)Tab 1Statistics of hourly water level of the ThreeGorges eservoir on December 10,2019时刻水量平衡计算入库流量/(m3s1)动库容计算入库流量/(m3s1)出库流量/(m3s1)时段初水位/m时段末水位/m水位变幅/m00:00873080005890174701747200202:00301075005850174721747000204:00444065505840174701746900106:004520
11、80308080174691746000908:0039570709410174601745300710:001080071209400174531745400112:002000052907360174541746300914:00197074307580174631745900416:00524094209430174591745600318:001090082209450174561745700120:001060066309170174571745800122:001650076106660174581746500724:007330585059301746517466001图 1三峡
12、水库日内水位变化过程(2019 年 12 月 10 日)Fig 1Hourly water level change process of the ThreeGorges eservoir on December 10,20192坝前水位预测模型本文选取 3 种不同原理的机器学习方法分别建立三峡水库小时尺度坝前水位预测模型,对模型预测效果进行精度评价,并选取训练集以外不同调峰量的典型日内过程对模型预测效果进行评估和较为直观的展示。2 1机器学习方法超参数设置本研究以人工神经网络17、支持向量机18、随机森林19 3 个代表不同原理的机器学习方法为基础,建立预测模型,对 3 组预测因子组合分别进
13、行训练及精度评价。3 种方法超参数设置如下。(1)人工神经网络:隐藏层层数为 15,隐藏层神经元个数为 50,激活函数为修正非线性(relu),学习率为 0 001,梯度下降方法为 Adam。(2)支持向量机:核函数 kernel 为 rbf,惩罚系数 C为 1 0,核函数参数 degree 为 3,核函数参数 gamma 为841第 2 期刘晓阳,等:基于机器学习的三峡水库小时尺度坝前水位预测scale。(3)随机森林:基评估器(树)的数量为 100,树生成模式 random_state 为 None。2 2预测因子选取预测因子的选取在预测模型的构建及训练过程中起着尤为重要的作用,虽然机器学
14、习方法在数据关系回归拟合方面相比于传统方法具有较大优势,但其核心依旧是通过对数据样本的训练学习,确定预测因子和预测目标间的映射关系。如果这种映射关系过于复杂和隐晦,机器学习方法的效果可能会低于期望。因此在进行模型构建时,对一些既定的隐层映射加以拆分,可提高模型的学习效率和预测精度。三峡水库出入库流量差与水位变化有直接映射关系,将出库流量和入库流量两个预测因子综合为一个,可提高模型学习效率;当前时段与前一时段出库流量差值这一指标反映了出库流量的变化量,用来学习壅跌水过程;因为坝前水位在发生壅水和跌水现象后会在后续时段有向正常水位回归的趋势,前面多个时段出库流量差可作为衡量前面时段发生壅跌水的时段
15、和壅跌水大小的指标。同时预测对象选取坝前水位变幅,可在减少预测因子的同时简化输入和输出之间的映射复杂度。综上,预测因子与预测对象选取如下。(1)预测因子。选择三峡水库动库容入库与三峡水库出库流量差(时段均值)、时段初末出库流量差值(时刻值)、前 5 个时段初末出库流量差值(即 QtQt 1、Qt 1 Qt 2、Qt 2 Qt 3、Qt 3 Qt 4、Qt 4 Qt 5,其中 Qt为 t 时段出库流量),由于本研究是对未来时段的水位进行预测,因此所用入库流量为未来时段预报入库,出库流量为未来时段出力计划及耗水率求得。(2)预测对象。坝前时段初末水位差值(时刻值)。2 3预测精度评价评价指标选取均
16、方误差(MSE)和决定系数(2)两个较为常用的回归任务评价指标,其中 MSE 是预测值(y)与真实值(y)误差的平方,可用来评价预测精度;2是度量回归模型对真实值拟合程度的指标。两个评价指标见公式(1)和公式(2)。MSE(y,y)=1mmi=1(yi y i)2(1)2=1 mi=1(y i yi)2mi=1(yi yi)2(2)为更好体现预测模型对训练数据集泛化能力,评价时使用 k 折交叉验证。即将数据集等比例划分成 k份,以其中的一份作为测试数据,其他的 k 1 份数据作为训练数据,进行 k 次测试后得到综合评价结果。本文研究所用数据集为三峡水库 2017 2019 年枯期实际运行数据,共 8 750 个样本,采用 5 折交叉验证,即 7 000 个样本作为训练集,1 750 个样本作为测试集,3 种机器学习方法的训练及测试评价结果见表 2。由表 2 可知,3 种方法在测试集上均有较好表现,其中随机森林方法表现最优,均方误差为 5 2,均方根误差为 2 3 cm,2平均值为 0 82,预测精度较高,可见基于机器学习方法的预测模型可以在复杂因素影响下的大型水库坝前水位预测中具有良好