基于集合经验模态分解的自适应调度期末水位预测方法与流程

文档序号:16935357发布日期:2019-02-22 20:38阅读:247来源:国知局
基于集合经验模态分解的自适应调度期末水位预测方法与流程

本发明涉及水库运行调度及水利信息化技术领域,尤其涉及一种基于自适应集合经验模态分解的调度期末水位预测方法。



背景技术:

调度期末水位是水库调度的重要组成部分,调度期末水位预测对水库调度的余留效益、风险评估等都有重要的意义。水库调度期末水位具有趋势性、周期性和随机性,呈非稳态序列,同时该水位受气候变量、来水量多少、下垫面情况、调度决策者的调度方式等多因素影响,隐藏多种确定性的和不确定性的多层信息,故要准确的预报该水位,需要对多种影响因素进行深入挖掘。

当前,对调度期末水位预测方法较少,主要是通过预报径流量,调度规则推求调度期末的水位,或者通过不同的智能优化算法如人工神经网络、支持向量机、线性回归等进行自回归模型预测水位。然而这些智能优化算法是一个黑箱模型,对水位的非稳态识别比较困难,另外,由于这些智能优化算法忽略了水位过程中的水文物理机理,所以,对水位进行自相关分析,会导致预报过拟合,出现失真现象。



技术实现要素:

本发明的目的在于提供一种基于自适应集合经验模态分解的调度期末水位预测方法,从而解决现有技术中存在的前述问题。

为了实现上述目的,本发明采用的技术方案如下:

一种基于集合经验模态分解的自适应调度期末水位预测方法,包括如下步骤:

s1,数据预处理:提取一列长度为l连续多调度周期的调度期末水位序列为自变量ls,利用调度初期的初水位l0、t时刻水位lt和t时刻余留期间的来水量w组成因变量集合x=[l0,lt,w];

s2,自变量稳态化分解:将自变量ls序列,采用集合经验模态分解的方法分解,生成多组稳态本征模态函数imf(n)和一组残余序列res,共同组成自变量组合y=[imf(n),res];

s3,确定预报因子:利用因变量集合x=[l0,lt,w]与自变量组合y的相关关系确定预报决策因子,按照如下步骤进行实施:

s301,构建备选预报因子集合:将因变量集合x=[l0,lt,w]中的三个影响因子序列l0、lt和w,分别以单独,两两、共同的方式组合,共构成七组备选的预报因子集合,分别为f1=[l0]、f2=[lt]、f3=[w]、f4=[l0,lt]、f5=[l0,w]、f6=[lt,w]、f7=[l0,lt,w];

s302,分别对七组备选的预报因子集合与自变量组合y=[imf(n),res]中每组数据进行相关性分析,得到相关因子;

s303,根据s302得到的相关因子,选取与y=[imf(n),res]中每组序列相关性最大的备选预报因子作为每组自变量的最终预报因子f,完成预报因子的识别工作;

s4,根据每组自变量的最终预报因子构建自适应调度期末水位预报模型;

s5,根据所述预报模型对调度期末水位进行预报,得到自适应调度期末水位预报结果。

优选地,s303中,通过t检验,选取与y=[imf(n),res]中每组序列相关性最大的备选预报因子作为每组自变量的最终预报因子f。

优选地,s4包括如下步骤:

s401,建立训练样本集:将预报根据样本数据量的大小确定模型训练期长度m和验证期的长度(l-m),由于模型为滚动预报,故预见期的步长为1个时间步长;

s402,建立三层bp人工神经y=[imf(n),res]预测模型:将调度期末期水位序列自变量ls,基于经验模态方法分解出的imf(n),res稳态序列,分别与各自的预报因子f建立n+1个预报模型,根据这些预报模型分别对调度期末期水位序列自变量ls进行预报,得到每组的预报值,分别为imff(n)、resf;

s403,根据预报出来的每层预报值,按照如下公式计算m+1时刻预测的调度周期末的水库水位l(m+1)f:

其中,imff(j)为第j层本征模态函数分量的预测值,resf为预测的残余量;

s404,将预报出来l(m+1)f添加到训练样本中,跳至s401,进行下一轮的水位预报,直到完成l时刻的预测,得到l时刻预测的调度周期末的水库水位llf;

s405,对比预报出的l(m+1)f...llf与(m+1)到l时刻的调度期末水库水位ls,对其预报效果进行评价;

s406,若评价效果符合设定的阈值,则自适应模型建立完成,该模型用于对未来时段调度期末水库水位进行预报,否则,重新调整bp神经网络的模型参数,重新建模直至模型完成建立。

优选地,s405中,所述对其预报效果进行评价,评价指标包括纳什效率系数、相对误差和合格率;

所述纳什效率系数nash按照如下公式进行计算:

其中,lf为预测的调度期末水位,为实际调度期末水位的均值,nash越接近1,预报越精准;

所述相对误差mare按照如下公式进行计算:

其中,n为的序列长度,mare越接近0,说明实测与预报值越接近,预报效果越精准,常认为mare<20%时,预报效果较好;

所述合格率qr按照如下公式进行计算:

其中,n为合格预报次数;m为预报总次数,当qr>80%时,认为预报效果较好。

本发明的有益效果是:本发明实施例提供的基于自适应集合经验模态分解的调度期末水位预测方法,充分考虑了调度期末水位序列的非稳态性,通过使用集合经验模态分解的方法将调度期末水位转化为多组稳态序列,实现了水文序列稳态化,为常规的预报方法提供了最基础的数据条件。另外,利用本发明提供的自适应预报模型进行预报时,是一种滚动预报作业,使得模型实现了实时校正,保证了模型的适应性,为精准预报保证了模型基础。所以,采用本发明提供的方法,建立的预测模型用于调度期末水位预测时,具有较高的精准性。

附图说明

图1为本发明提供的基于自适应集合经验模态分解的调度期末水位预测方法流程示意图;

图2为本发明采用的集合经验模态分解方法流程示意图;

图3为基于集合经验模态分解方法对水位序列进行分解后的序列示意图;

图4为自适应调度期末水位预测效果示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

为了解决水位为非稳态序列限制常规预报方法的预报,来水不确定性无法量化的问题。本发明提供了一种自适应集合经验模态分解的调度期末水位预测方法,有效地将调度期末水位稳态化,挖掘了响应其水位的影响因素,显性化和量化了来水不确定性对水库调度期末水位的影响,同时自适应的预报模型,使预报模型保持不断地更新,适应调度期末的水位变化过程,保持模型的稳定性。

如图1所示,本发明实施例提供了一种基于集合经验模态分解的自适应调度期末水位预测方法,包括如下步骤:

s1,数据预处理:提取一列长度为l连续多调度周期的调度期末水位序列为自变量ls,利用调度初期的初水位l0、t时刻水位lt和t时刻余留期间的来水量w组成因变量集合x=[l0,lt,w];

s2,自变量稳态化分解:将自变量ls序列,采用集合经验模态分解的方法分解,生成多组稳态本征模态函数imf(n)和一组残余序列res,共同组成自变量组合y=[imf(n),res];

s3,确定预报因子:利用因变量集合x=[l0,lt,w]与自变量组合y的相关关系确定预报决策因子,按照如下步骤进行实施:

s301,构建备选预报因子集合:将因变量集合x=[l0,lt,w]中的三个影响因子序列l0、lt和w,分别以单独,两两、共同的方式组合,共构成七组备选的预报因子集合,分别为f1=[l0]、f2=[lt]、f3=[w]、f4=[l0,lt]、f5=[l0,w]、f6=[lt,w]、f7=[l0,lt,w];

s302,分别对七组备选的预报因子集合与自变量组合y=[imf(n),res]中每组数据进行相关性分析,得到相关因子;

s303,根据s302得到的相关因子,选取与y=[imf(n),res]中每组序列相关性最大的备选预报因子作为每组自变量的最终预报因子f,完成预报因子的识别工作;

s4,根据每组自变量的最终预报因子构建自适应调度期末水位预报模型,并对构建的模型进行评价,如果预报结果符合设定的阈值,则将构建的模型作为最终预报模型,否则,重新调整bp神经网络的模型参数,重新建模直至模型完成建立;

s5,根据所述最终预报模型对调度期末水位进行预报,得到调度期末水位预报结果。

上述方法中,充分考虑了调度期末水位序列的非稳态性,使用集合经验模态分解的方法将调度期末水位转化为多组稳态序列,实现了水文序列稳态化,为常规的预报方法提供了最基础的数据条件。

本发明中,s303中,通过t检验,选取与y=[imf(n),res]中每组序列相关性最大的备选预报因子作为每组自变量的最终预报因子f。

本发明的一个优选实施例中,s4可以包括如下步骤:

s401,建立训练样本集:将预报根据样本数据量的大小确定模型训练期长度m和验证期的长度(l-m),由于模型为滚动预报,故预见期的步长为1个时间步长;

s402,建立三层bp人工神经y=[imf(n),res]预测模型:将调度期末期水位序列自变量ls,基于经验模态方法分解出的imf(n),res稳态序列,分别与各自的预报因子f建立n+1个预报模型,根据这些预报模型分别对调度期末期水位序列自变量ls进行预报,得到每组的预报值,分别为imff(n)、resf;

s403,根据预报出来的每层预报值,按照如下公式计算m+1时刻预测的调度周期末的水库水位l(m+1)f:

其中,imff(j)为第j层本征模态函数分量的预测值,resf为预测的残余量;

s404,将预报出来l(m+1)f添加到训练样本中,跳至s401,进行下一轮的水位预报,直到完成l时刻的预测,得到l时刻预测的调度周期末的水库水位llf;

s405,对比预报出的l(m+1)f...llf与(m+1)到l时刻的调度期末水库水位ls,对其预报效果进行评价;

s406,若评价效果符合设定的阈值,则自适应模型建立完成,该模型用于对未来时段调度期末水库水位进行预报,否则,重新调整bp神经网络的模型参数,重新建模直至模型完成建立。

可见,本发明中,通过一种滚动预报作业的方式建立自适应预报模型,可以使得模型实现实时校正,保证了模型的适应性,为该模型用于未来时段调度期末水库水位精准预报保证了基础。

其中,s405中,所述对其预报效果进行评价,评价指标包括纳什效率系数、相对误差和合格率;

所述纳什效率系数nash按照如下公式进行计算:

其中,lf为预测的调度期末水位,为实际调度期末水位的均值,nash越接近1,预报越精准;

所述相对误差mare按照如下公式进行计算:

其中,n为的序列长度,mare越接近0,说明实测与预报值越接近,预报效果越精准,常认为mare<20%时,预报效果较好;

所述合格率qr按照如下公式进行计算:

其中,n为合格预报次数;m为预报总次数,当qr>80%时,认为预报效果较好。

具体实施例

本发明中,选取黄河上游龙羊峡水库的调度期末水位预测过程作为实施例,对本发明内容的效果进行验证,具体采用如下步骤进行实施:

步骤1,数据预处理。

选用黄河上游龙羊峡水库2010年1月1日~2016年12月31日,调度周期为月的调度期末期水位序列为自变量ls,同期调度周期的调度期初水位l0,实时水位序列lt和t时刻余留期来水量w组成一系列的因变量集合x=[l0,lt,w];

步骤2,自变量稳态化分解。

确定基于自适应集合经验模态分解方法的基本参数:噪声方差(nstd=0.2)、噪声组数(ne=100)、迭代次数(maxiter=500),将自变量ls序列,采用集合经验模态分解的方法分解(可参见图2),生成n层稳态本征模态函数imf(1),imf(2),...,imf(n)和1层残余序列res,每组序列均为离散函数,为不同频率的线性或非线性的序列,共同组成自变量组合y=[imf(1),imf(2),...,imf(n),res],具体的关系式如下:

其中,n为本征模态函数的分量数,imf(j)为第j层的本征模态序列。

在本发明的实施例中,分解黄河上游龙羊峡水库2010年1月1日~2016年12月31日逐日ls,其中,分解后,生成11层从高频到低频的稳态序列,第1层的本征模态序列imf(1)的结果如图3所示,从图3可以看出,分解的序列为高频的稳态序列作为预报模型的输入。

步骤3,确定预报因子。通过因变量集合x=[l0,lt,w]与自变量y的相关关系确定预报决策因子,包括以下子步骤:

(3-1)构建备选预报因子集合。将因变量集合x=[l0,lt,w]中的三个影响因子序列l0、lt和w,分别以单独,两两、共同的方式组合,共构成7组备选的预报因子集合,分别为f1=[l0]、f2=[lt]、f3=[w]、f4=[l0,lt]、f5=[l0,w]、f6=[lt,w]、f7=[l0,lt,w]。

(3-2)分别分析7组备选的预报因子集合与自变量组合y=[imf(n),res]中每组数据进行相关性分析,按照下式计算相关系数;

其中,cov(x,y)为x与y的协方差,var[x]为x的方差,var[y]为y的方差。

(3-3)设定α=0.025的显著水平,对序列和气象因子的相关系数进行t检验,计算如下式,通过假设检验的因子被认为显著相关。选取与y=[imf(n),res]中每组序列相关性最大的备选预报因子作为每组自变量的最终的预报因子f,完成预报因子的识别工作;

其中,n为资料样本数,r为皮尔逊相关系数相关系数。

步骤4,构建自适应调度期末水位预报模型,按照如下步骤进行实施:

(4-1)建立训练样本集。将预报根据样本数据量的大小确定模型训练期长度m和验证期的长度(l-m)。由于模型为滚动预报,故预见期的步长为1个时间步长,在本发明实施例中,训练期可以为2010年1月1日~2014年12月31日,验证期可以为2015年1月1日~2016年12月31日。

(4-2)建立三层bp人工神经y=[imf(n),res]预测模型。包含输入层、隐含层和输出层。设置bp人工神经网络参数。

将调度期末期水位序列自变量ls,基于经验模态方法分解出的imf(n),res稳态序列,分别与各自的预报因子f建立n+1个预报模型,根据这些预报模型分别对调度期末期水位序列自变量ls进行预报,得到每组的预报值,分别为imff(n)、resf。

(4-3)根据预报出来的每层预报值计算m+1时刻预测的调度周期末的水库水位l(m+1)f,计算式如下:

其中imff(j)为第j层本征模态函数分量的预测值,resf为预测的残余量。

(4-4)将预报出来l(m+1)f添加到训练样本中,跳至步骤(4-1),进行下一轮的水位预报,直到完成l时刻的预测,得到l时刻预测的调度周期末的水库水位llf。

(4-5)对比预报出的l(m+1)f...llf与(m+1)到l时刻的调度期末水库水位ls,对其预报效果进行评价,评价指标有如下三个:

纳什效率系数:

其中,lf为预测的调度期末水位,为实际调度期末水位的均值。nash越接近1,预报越精准。

相对误差:

其中,n为的序列长度。mare越接近0,说明实测与预报值越接近,预报效果越精准,常认为mare<20%时,效果较好。

合格率:

其中,n为合格预报次数;m为预报总次数。当qr>80%时,可认为预报效果较好。

在本发明实施例中,模型的预报结果如图4所示,评价结果如下表所示:

(4-6)由图4和上表可以看出,调度期末水位预报效果好,则自适应模型建立完成,即可采用该模型对未来的时段调度期末水库水位进行预报。

通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例提供的基于自适应集合经验模态分解的调度期末水位预测方法,充分考虑了调度期末水位序列的非稳态性,使用集合经验模态分解的方法将调度期末水位转化为多组稳态序列,实现了水文序列稳态化,为常规的预报方法提供了最基础的数据条件。另外,利用本发明提供的自适应预报模型进行预报时,是一种滚动预报作业,使得模型实现了实时校正,保证了模型的适应性,为精准预报保证了模型基础。所以,采用本发明提供的方法,建立的预测模型用于调度期末水位预测时,具有较高的精准性。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

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