河流流量的预测方法与流程

文档序号:15639128发布日期:2018-10-12 21:50阅读:1025来源:国知局

本发明涉及水资源管理技术领域,具体涉及一种河流流量的预测方法。



背景技术:

河流流量是水文监测和水资源管理的重要指标,对于水利工程建设、流量计算、航运规划等方面具有重要的指导意义和应用价值。在水利工程效益成本分析中,水文、工程和经济学的结合已成为普遍现象。与水资源系统各组成部分的规划和运作有关的许多活动都需要对未来事件进行预测。合理的流量预测有助于洪水预报及管理、水库蓄水管理、农田灌溉等,将带来积极的经济效益和社会效益。同时,流量的测量技术相对复杂,测量设备比较昂贵,难以实现长期监测,而水位的测量相对简单,因此,通常利用水位流量的拟合曲线,结合水位流量历史资料进行河流流量预测。

河流流量预测主要有三类方法:基于物理过程的模型、基于数理统计的回归模型和基于仿真模拟的智能方法。物理模型法是通过分析河流流动的过程,构建实际模型进行流量模拟预测,但河流流动过程复杂,难以构建合适的物理模型。回归模型法基于河流水文数据构建回归方程进行预测,但回归模型难以处理复杂的水位流量关系。

近年来,由于人工智能方法不必考虑复杂的流动过程,广泛应用于水文预报,包括模型树、支持向量机、基因表达式编程、人工神经网络等。模型树通过将数据分类为多组数据进行线性拟合进行预测,但水位流量并非简单的线性关系,预测精度不高。支持向量机通过内积函数所定义的非线性变换,将输入空间变换到一个高维空间,在高维空间中寻找输出变量和输入变量之间的非线性关系,适合多支支流流入的流域研究,但当训练样本过多会导致运算效率降低。基因表达式编程的公式是透明的,可以表达为一个简单的数学函数,但后期收敛慢,且容易陷入局部最优。

神经网络有很强的非线性拟合能力,并且能够在不解析内部结构的情况下提取出输入和输出之间的关系,适用于不同的水文环境,因此,逐渐应用到河流流量预测。神经网络在河流流量预测的重点主要是输入变量的确定以及模型的优化,如sivapragasam在密西西比河的研究将降雨量、蒸发量、温度、流量等因素作为输入变量;yaseen等人将前期流量作为输入变量在马来西亚johor河流域进行前馈反向传播神经网络和径向基函数神经网络的对比研究;shiri混合小波变换和模糊系统对神经网络进行优化,在土耳其filyos河进行了模型的验证;kalteh结合小波分解优化神经网络,但小波分解存在需要选取小波基、确定分解尺度的问题。



技术实现要素:

本发明的目的在于提供一种河流流量的预测方法,该方法运用变分模态分解将水位、流量数据分解为反映数据特征的本征模态函数,降低数据的波动性,之后再重构分量进行bp(backpropagation)神经网络训练预测,叠加得到最终的预测值,实现河流流量的预测。将两种模型结合起来,可以充分发挥各自的特点和优势,为河流流量预测提供更加精确的方法。

为解决上述技术问题,本发明公开的一种河流流量的预测方法,其特征在于,它包括如下步骤:

步骤1:数据预处理,将待预测河流区域的历史水位数据和历史流量数据进行多种随机组合,作为输入条件进行bp神经网络进行bp神经网络训练及预测,确定预测相对误差最小的一组输入数据{u1(t),u2(t)...un(t)}和输出数据o(t),其中un表示第n个输入变量,t表示第t个数据;

步骤2:vmd(变分模态分解)模型分解,利用vmd模型对输入数据{u1(t),u2(t)...un(t)}和输出数据o(t)分别进行平稳化处理,分解为表示输入数据{u1(t),u2(t)...un(t)}输出数据o(t)的多个分量,vmd模型分解的用于寻找输入数据{u1(t),u2(t)...un(t)}的k个分量unk(t)(k=1,2,…,k),使得k个分量unk(t)(k=1,2,…,k)的宽带之和最小;得到输入数据vmd分解的分量组合{un1,un2,...,unk}及输出数据vmd分解的分量组合{o1,o2,...,ok},其中unk表示第n个输入变量的第k个分量,ok表示输出变量的第k个分量;

步骤3:利用vmd模型将输入数据{u1(t),u2(t)...un(t)}和输出数据o(t)分解后,按其对应的分解量进行重构,即将输入数据vmd分解的分量组合{un1,un2,...,unk}及输出数据vmd分解的分量组合{o1,o2,...,ok}分别按第一分量、第二分量一直到第k分量的形式进行组合,形成如以下公式所示的k组数据组合,unk表示第n个输入变量的第k个分量,ok表示输出变量的第k个分量;

步骤4:vmd-bp模型的集成及河流流量预测,将步骤3中vmd分解的分量重构得到的k组数据组合

作为输入条件,分别进行bp神经网络的训练及预测,得到各个分量组合的预测值dn,之后将每个分量组合的预测值叠加得到最终的待预测河流流量预测值d;d=d1+d2+…+dn,即实现了基于vmd-bp模型的集成及河流流量预测。

本发明中,bp神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,具有很强的非线性映射能力,在处理水位流量的非线性拟合上有很大的优势。

本发明中,vmd模型是一种完全非递归的方法,可以将信号分解为一定数量的有限宽带的本征模态函数(blimf),每个blimf包含原信号的特征信息。它克服了离散小波变换、经验模态分解、局域均值分解等模式中存在的模态混合、不能正确地消除附加噪声和确定本征模态函数(imf)个数的问题,适合处理具有波动性的水位流量数据。该方法融合vmd模型和bp神经网络,建立vmd-bp预测模型,以解决基于水位流量多值关系的河流流量预测问题。

本发明的有益效果为:

1、将前期水位、前期流量作为模型的输入条件,有效的解决了水位流量之间复杂的绳套曲线关系。

2、vmd模型是一种处理非线性、非平稳信号的谐波分析方法,在处理具有波动性的水位流量数据上有很大的优势,bp神经网络具有很强的非线性拟合能力,结合两种模型的优势,提高了河流流量预测的精度。

附图说明

图1为本发明的流程图;

图2为输出数据vmd模型分解结果。

图2中,横轴表示样本序列。

具体实施方式

以下结合附图和具体实施例对本发明作进一步的详细说明:

本发明的一种河流流量的预测方法,如图1所示,它包括如下步骤:

步骤1:数据预处理,将待预测河流区域的历史水位数据和历史流量数据进行多种随机组合,作为输入条件进行bp神经网络进行bp神经网络训练及预测,确定预测相对误差最小的一组输入数据{u1(t),u2(t)...un(t)}和输出数据o(t),其中un表示第n个输入变量,t表示第t个数据;

步骤2:vmd模型分解,利用vmd模型对输入数据{u1(t),u2(t)...un(t)}和输出数据o(t)分别进行平稳化处理,分解为表示输入数据{u1(t),u2(t)...un(t)}输出数据o(t)的多个分量,vmd模型分解的用于寻找输入数据{u1(t),u2(t)...un(t)}的k个分量unk(t)(k=1,2,…,k),使得k个分量unk(t)(k=1,2,…,k)的宽带之和最小;得到输入数据vmd分解的分量组合{un1,un2,...,unk}及输出数据vmd分解的分量组合{o1,o2,...,ok},其中unk表示第n个输入变量的第k个分量,ok表示输出变量的第k个分量;

步骤3:利用vmd模型将输入数据{u1(t),u2(t)...un(t)}和输出数据o(t)分解后,按其对应的分解量进行重构,即将输入数据vmd分解的分量组合{un1,un2,...,unk}及输出数据vmd分解的分量组合{o1,o2,...,ok}分别按第一分量、第二分量一直到第k分量的形式进行组合,形成如以下公式所示的k组数据组合,unk表示第n个输入变量的第k个分量,ok表示输出变量的第k个分量;

步骤4:vmd-bp模型的集成及河流流量预测,将步骤3中vmd分解的分量重构得到的k组数据组合

作为输入条件,分别进行bp神经网络的训练及预测,得到各个分量组合的预测值dn,之后将每个分量组合的预测值叠加得到最终的待预测河流流量预测值d;d=d1+d2+…+dn,即实现了基于vmd-bp模型的集成及河流流量预测。

上述技术方案的步骤2中,得到输入数据vmd分解的分量组合{un1,un2,...,unk}及输出数据vmd分解的分量组合{o1,o2,...,ok}的具体方法为:

步骤201:首先对每个输入数据分量unk(t)通过希尔伯特变换

计算相关联的分析信号从而获得单边频谱:

步骤202:通过将得到的所述分析信号与希尔伯特变换得到的分析信号的指数调谐项相乘得到解调信号,将每个有限宽带的本征模态函数(blimf)的频谱移位到基带,再根据解调信号的梯度的二范数平方估计每个有限宽带的本征模态函数的宽带,最后得到变量unk(t)的约束变分公式:

式中,{unk}:={un1,...,unk}是第n个输入数据分解的k个分量的集合,{ωnk}:={ωn1,...,ωnk}是第n个输入数据分解的分量对应的中心频率的集合,表示所有分量的和,f(t)是原始数据,即输入数据un,表示对t求偏导数,t表示分析信号的个数,δ(t)表示脉冲函数,表示相位,表示希尔伯特变换得到的分析信号的指数谐调项;

步骤203:引入二次惩罚项α和拉格朗日乘子λn(t)计算得到增广拉格朗日公式:

上述的目的是将约束变分公式变为无约束问题,方便求解,式中,二次惩罚项α为足够大的正数,用于保证信号的重构精度,拉格朗日乘子λn(t)使约束条件保持严格性,表示对t求偏导数;

步骤204:利用交替方向乘子法,通过迭代更新未知的值,直到,迭代更新之后得到的值的精度e满足e<ε停止迭代,ε表示给定的判别精度,ε>0,比如10-7

式中,m表示迭代次数,ω为输入信号的中心频率,分别为对应的傅立叶变换,表示第n个输入变量的第k个分量迭代m次之后的值,λn(t)表示拉格朗日乘子,α表示二次惩罚项,ωnk表示第n个输入数据分解的第k个分量对应的中心频率;

步骤205:最终得到输入数据vmd分解的分量组合{un1,un2,...,unk}及输出数据vmd分解的分量组合{o1,o2,...,ok},其中unk表示第n个输入变量的第k个分量,ok表示输出变量的第k个分量。

上述技术方案的步骤4中得到最终的待预测河流流量预测值d的方法为:

步骤401:对重构的分量组合进行归一化处理,消除单位差异和异常数据的影响,同时归一化处理可加快网络的收敛,减少运行时间,因为进行vmd分解后得到的有限宽带的本征模态函数中既有正数也有负数,因此将分解后得到的有限宽带的本征模态函数归一化映射到[-1,1]

y=2*(x-min)/(max-min)-1

式中,x是重构的分量组合,min、max分别为重构的分量组合的最小值和最大值,y为归一化输出;

步骤402:第n个输入变量的第k个分量unk进入bp神经网络的输入层,累加unk与神经网络输入层和隐藏层之间的权值wnh、神经网络输入层和隐藏层之间的偏置值θn的乘积传入bp神经网络的隐藏层,经过bp神经网络的传递函数fs(x)的计算后得到隐藏层输出,之后再累计隐藏层输出与神经网络网络隐藏层与输出层之间权值wh、神经网络网络隐藏层与输出层之间偏置值θh的乘积后传入bp神经网络的输出层,得到输出信号yk;所述传递函数fs(x)为双极s型函数;

式中,x为输入隐藏层的数据,e为自然对数;

步骤403:根据神经网络在训练的过程中产生的预测输出信号yk和对应的期望输出ok计算得到误差e,判断误差是否小于给定值ε,如果大于则将该误差反向传播给隐藏层求其误差梯度,更新权值和偏置值;并返回正向传播中进行计算,直到误差小于期望误差或者达到最大迭代次数,得到最终训练的网络。

步骤404:重复上述步骤401~403分别得到每个分量组合训练后的网络;

步骤405:根据步骤1中确定的输入数据方案确定河流流量预测数据的输入数据,输入对应的训练后的网络,得到每个组合的预测值dn;

步骤406:将上述得到的预测值叠加得到最终的预测值;

d=d1+d2+…+dn。

本实施例以长江螺山观测站1998、1999两年的日水位和日流量共604个数据作为研究数据,随机选取60个(约10%)数据作为测试数据,剩余的数据作为训练数据。

采用相对误差和确定性系数dc来衡量预测值和实际值的吻合程度,其中qi表示实测值,表示预测值,表示实测平均值。较好的预测结果应该是dc>0.9,且相对误差小于5%。

1数据预处理

因为螺山水文站受到上游洪水涨落及下游回水顶托等的影响,水位流量存在多值关系,呈现复杂的绳套曲线,单独使用水位来描述流量的效果不佳,因此采用多输入的方式用前后几天的水位流量数据来反映水势,避免多值关系对于拟合精度的影响。为选取最佳的输入方案,进行表1中各个方案的测试。其中输入数据包含ht(当天水位)、ht-2(前两天水位)、qt-2(前两天流量)、ht-1(前一天水位)、qt-1(前一天流量)、ht+1(后一天水位)等变量;输出数据为qt(当天流量)。

表1输入方案及其相对误差

表1输入方案及其相对误差

根据表1各方案相对误差的比较,确定模型最终的输入条件为ht、ht-1、qt-1、ht+1,输出条件为qt。

2vmd模型分解

将输入数据及输出数据进行vmd分解,其中输出数据的分解结果如附图2。为避免过多分解带来的误差以及减少后期bp神经网络的构建量,vmd分解中选择将数据分解为三个分量,分别为反映原始数据基本趋势的趋势量、频率波动较低的低频量以及频率波动较大的高频量。惩罚参数c采用vmd默认值2000;τ选取0.3以保证数据分解的保真度。

3vmd分解结果的分量重构

将四个输入数据及一个输出数据的vmd分解结果按照趋势量、低频量、高频量进行分量组合,形成三组组合。

4vmd-bp模型的集成及河流流量预测

水位、流量数据的计量单位以及数量级不相同,有可能由于其数据范围的不同导致其对于最终结果的影响程度不同,从而导致结果预测误差增大。因此,对重构的分量组合进行归一化处理,消除单位差异和异常数据的影响。同时归一化处理可加快网络的收敛,减少运行时间。因为进行vmd分解后得到的blimf中既有正数也有负数,因此将数据归一化映射到[-1,1]。

将归一化后的三组组合分别进行bp神经网络的训练及预测,分别得到趋势量、低频量、高频量的预测值,然后将三者的结果叠加得到最终的预测值,预测结果如表2。

表2vmd各分量误差

为更加具体的描述vmd-bp模型的预测精度,进行三个实验,单输入单输出bp神经网络、多输入单输出bp神经网络以及vmd-bp模型。三个实验的预测结果如表3。

表3三个模型误差对比表

第一个和第二个实验的结果对比体现多输入的bp神经网络可以通过输入多个变量描述水势来有效的解决水位流量的多值关系;比较第二个和第三个实验的结果反映了vmd-bp模型的有效性和精确性。vmd-bp模型在三个实验中相对误差最小,且确定性系数最接近于1,是更好的河流流量预测方法。

本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1