一个新的间接多步向前长期水文预测模型摘要:一个可靠的长期水文预报,水资源的规划,设计和管理是必不可少的活动。
在这项研究中提出的三个阶段的间接多步超前预测模型,它结合了多层自适应时间延迟神经网络(A TNN)动态样条插值来进行长期水文预报。
在前两个阶段,一组样条插值并动态提取单位利用放大观测的效果,以减少由先前的预测造成的误差的积累和传播。
在最后一步中,通过变量的时间延迟和权重的动态监管,该模型的输出可以作为一个多步超前预测。
我们用两个例子来说明所提出的模型的有效性。
其中一个例子是太阳黑子时间序列是一个著名的非线性和非高斯的基准时间序列,并经常被用来评估非线性模型的有效性。
另一个例子是一个长期的水文预测,使用从中国云南省漫湾水电站每月排放数据的案例研究。
应用结果表明,该方法是可行的和有效的。
关键字:时滞神经网络自适应时滞神经网络间接多步向前预测样条插入引言一个独立长期水文预测的实质是计划、设计以及管理利用水资源。
在过去的几十年,大量的研究一直致力于制定和发展的预测方法和模型,以提高水文预报的质量,包括机械模型和黑箱模型。
水文变化的过程是空间和时间的,并且在时间和空间尺度是高非线性的。
模型等过程的机理模型,将需要大量高质量的数据,并且与天文,气象,自然地理特征,以及人类活动有关。
在另一方面,黑箱模型,首先旨在确定投入与产出之间的联系,由于它的要求数据量少以及公式简单,所以广泛应用于长期径流的预测。
早期的预测方法包括时间序列技术以及多维线性回归方法。
除了上述数学模型,人工神经网络,它无需先验确定的物理映射的输入输出,因此被广泛应用于水文学领域。
对于许多工程应用中,一系列很长的领先时间的预测是必需的。
在近十年,多维向前技术multi-step-ahead (MS),可以预测到未来的许多时间步长的时间序列值和并使用古典模型的预测算法实现这一目标。
MS预测可分为直接和间接的类别,它们分别有自己的优点和缺点。
直接MS预测模型把为所有输入作为的变量,而间接的模型使用递归方法的单一步骤(single-step SS)预测。
理论上,与后者比较,前面的模型预测结果更加的准确。
然而,直接预测要求模型的每一步预测更加灵活。
此外,直接预测模型也不容易建立。
这就是为什么本文我们使用间接地多步向前预测模型。
建立MS预测模型的难点在于缺少对于预测边界的测量,为了达到的边界终点必须使用SS预测递归。
在预测中即使是在开始时的一个小的SS预测错误,都会被累积和传播导致结果预测精确度下降。
尤其是一些不容易理解、有噪声以及非线性的复杂系统中,这样的情况更严重。
最近,基于MS的神经网络预测引起了大家的注意。
然而,一个神经网络的训练通常很耗费时间,而且有时候也缺乏健壮性。
相对而言,前馈网络由于其低空间和时间复杂性比较容易实现。
时滞神经网络(Time-delay neural network TDNN)和自适应时滞神经网络(adaptive time-delay neural network A TNN)都被证明能够提高MS预测的性能。
TDNN由Waibel在1989年提出,在前馈神经网络中使用时滞,并应用在很多领域中。
A TNN在Day 在1999提出的,应用它的时滞值和权重更好的调节改变时间模式,同时使问题最优化。
这个模型同样成功的应用在非线性系统的识别中。
作为一个时间延迟技术的结果,错误的迭代随着步骤的前进可以迅速恶化的预测精度。
当然,要提高MS预测,必需减少使用迭代预测值并添加所观察到的值。
幸运的是,通常使用在信号处理中的离散序列插值,能够解决这一问题。
在本文的研究中,使用样条插值(spline interpolation)来增加模型输入的测量数据空间以及增加观测值的精确度。
并且ATNN能够提高优化问题的适应度。
在本文,结合动态样条插值在多层ATNN中建立了一个三步的MS预测模型。
第一步,通过使用一个统一的间隔视为原始采样频率来分离时间序列,通过样条插值逼近,使不同的采样频率扩大到许多衍生的子序列中。
第二步,A TNN每一个预测步骤中通过整合上一步输入的数据集动态建立衍生的子序列。
最后一步,ATNN动态监管前两步的参数(可变时间延迟和权重),并且输出得到的多步向前预测。
使用插值算法,一些动态虚拟数据作为离当前点比较远的点被插入原始序列。
因此,在插入前面的步骤进入下一步的预测误差的影响将会减少。
本文建立了两个例子来证明这种间接的多步超前预测模型的可靠性。
一个例子是太阳黑子时间序列是一个著名的非线性和非高斯的基准时间序列,并经常被用来评估非线性模型的有效性。
另一个例子是一个长期的水文预测,使用从中国云南省漫湾水电站每月排放数据的案例研究。
简单介绍MS预测、样条插值以及ATNNMS预测人们把符合这样的输入和输出成为MS预测:p是MS预测的边界(horizon),s是输入的维数,不仅要依据观测值还要依据以前的预测。
随着p的增加,预测的精度恶化越快。
一个提高预测精度的方法是放大样本。
三次样条插值离散序列(Kahaner et al.1988)三次样条插值问题是,我们有一个点的表[xi,yi]其中i=0,1,...,n.函数y=f(x)中x表示任意在中的值。
函数s(x)是在[a,b]的一个三次样条。
如果(1)s(x)定义在[a,b](2)s(x)的一阶导数和二阶导数,都是持续的在[a,b]中。
(3)s(x)上的点,也在[a,b]内,同时s(x)中每个自己[x i-1,x i]都是三次多项式。
三次样条插值的背后思想是通过若干点来画出一条光滑的曲线。
第三多项式s i(x)的定义为:其中,使用三次样条的四个条件,我们能够画出下面的等式:如果除以这些等式可以大大简化。
我们使di=那么等式(3)可以化成注意这个系统拥有n-2行,n列。
为了生成一个唯一的三次样条,其他两个条件必须在系统中。
同时系统也有一些规定方法。
使端点的二阶导数为0,M1=M2=0,得到的结果作为一个端点的延伸。
其他的点通过si(x)的二阶导数得到。
动态ATNN结构ATNN 训练期间保存时间延迟值以及它的权值,以更好地适应不断变化的时间模式,并提供更灵活地优化问题。
一个动态神经结构如图1所示,输入输出之间的关系为:wi是神经网络的权重,是延迟,是非线性的激活函数。
对于持续的时间序列,时间点t是合理的采样点,在我们的研究中为观测的时间。
应该指出,在时间t的神经元的输出,这取决于输出以前的值,这是一个动态的行为的结果。
这种被修改的动态子序列是非线性系统的代表。
SATNN模型实现以及算法模型设计背后的基本思想是对于长时间序列使用高时间分辨率,对于短时间序列使用低时间分辨率。
这意味着,在预测系统中我们用少量的输入得到更多的“详细”和“一般”的基本信息。
在插入算法中,在距离当前点不远的原始序列点上插入我们叫做“detailed”的动态虚拟数据。
因此上一步预测错误的影响会使下一步预测时插入的数据减少。
因此当我们使用多步向前预测时能够证明这个直接多步向前预测模型。
SATNN模型的建立SATNN采用了一个如图2所示的三阶段结构。
在第一阶段,G S,作为一个发生器,能够通过原始序列X产生适当的时间序列Xijl作为抽样子集。
每次样条的插入都通过正规数据集以及通过不同速率时间延迟技术得到的子序列Xijl,换句话说,不同的插入就是每次运行时间产生的Xijl.第二阶段,通过序列Xijl得到动态子序列X',同时产生控制集C的序列。
这里我们可以把这个序列称为控制信号,因为每一个变量提供如何从前面一阶段得到Xijl的信息。
第三阶段,ATNN通过得到的序列来进行预测。
算法在第一部分,给定一个时间序列,根据图2建立一个三阶段的结构。
在这个阶段Gs是一个参数为q的样条插入产生器,相当于第三阶段中输入延迟时间窗口,也就是神经网络输入节点数。
q通过MEM1(Maximum Entropy Method 1)(Jaynes,1957)得到,MEM1广泛的应用在分解动态序列前一步的特征值,本文使用在评估非线性时间序列的先验知识上。
通过这些先验知识可以得到神经网络的输入节点。
是样条插值的数字滤波器。
在其中,Sl1是一个产生数据集的简单线性函数,它的节点为。
这些插入的值是通过在原始序列中插入有不同采样频率的,其中f1是原始序列的采样频率。
这些插入的值充当了平滑虚拟数据的角色。
频率为f1的原始序列可以转换为频率为如图3所示的的不同子序列。
在这一阶段,给定输入数据子序列X,样条函数可以通过S(k)表示,其中k是子序列的时间顺序。
子序列是通过以下的样条插入单元得到的。
在第二阶段,每一个当前时间点t,通过控制集C的序列得到动态子序列X'。
通过插入集的输出,,提取得到一个新的子序列。
在整个过程中利用一个滑动记录。
提取新序列的规则如下:首先,所有数据都是提取的内容;第二,记录是沿着时间方向向后滑行;最后,开始的点是原始序列中一个确定的Xj,并且后面的数据都是在X j-1之后的。
所有的步骤都如图4所示。
通过公式(7)得到新的子序列。
其中,t是当前时间,J是序列的长度。
考虑在下一阶段神经网络的训练,t的规模定义为。
当t不同时,X'是一个动态序列。
在前两阶段之后,原始时间序列的时间顺序将不再有效。
取而代之,我们研究集中在X'的顺序上。
图5描述了这一步子序列的动态结合。
之后基于前两步的直接多步向前预测可以通过以下的式子得到。
这里头上加的值表示预测值。
在第三步,神经网络包含L层,有N L个神经元。
双极sigmoid函数作为激活函数。
为了比较我们的模型和其它模型的预测效果,我们选择了同样的双极sigmoid激活函数通过使用样条插值,一个典型的神经元管理可以用下面的式子表示:t时刻在l层第j个神经元的输出用表示。
第一个等式描述了原始典型多位自适应时滞的管理算法,其中第l层第j个神经元到(l-1)层i个神经元的权重和延迟分别用和表示。
注意j是从1到N l,i是从1到N l-1,是从0到,是指用来表示所需的输入输出映射的最大延迟。
另外,上面提及的变量i,j,l,t,τ,q全部都是整数。
在我们的模型中,样条插值的数目,也和衍生出来的序列数目一样。
输入和输出的关系可以用以下式子表示:此外,为了避免过度拟合问题,我们使用留一交叉验证(Leave-one-out cross-validation)来测试精度。
案例:长期水文预测本文的案例是关于漫湾水电站的长期动态预测。
漫湾水电站位于云南澜沧江的中部,是澜沧江瀑布第一个大型水电站。
河长4500km,流经区域为744000km2.漫湾有1579km,中间高度为4000km.平均坝的流量为1230立方米每秒。
大部分流量为雨水,冰雪融化占10%。