一种单站海浪有效波高数值预报结果多要素修正方法转让专利

申请号 : CN201711432379.3

文献号 : CN108038577B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高松曹丛华李亚汝毕凡郭东琳任鹏李鹏王廷伟

申请人 : 国家海洋局北海预报中心中国石油大学(华东)

摘要 :

本发明提供了一种站点波高预测结果的修正方法。基于待修正站点任意时刻T之前的历史数据,自定义的权重映射矩阵W、偏置矩阵B对超限学习机模型进行训练,获得训练后的权重映射矩阵W、偏置矩阵B和输出权重矩阵P。针对任意时刻T之后的待修正时刻,采用权重映射矩阵W、偏置矩阵B和输出权重矩阵P预测修正误差,并采用修正误差修正数值预报结果。这种多要素修正方法能够减小数值预报和真实观测值之间的误差,提高数值预报结果的准确度,提高工作效率。对于及时预测海洋风暴潮灾害、有效开展防灾减灾工作、保障人民的生命财产安全具有重要的意义。

权利要求 :

1.一种单站海浪有效波高数值预报多要素修正方法,其特征在于,包括以下步骤:S1:获取站点历史数据:针对观测站点,收集T时刻及T时刻之前的N个时刻的站点数据,分别形成数据向量,包括:海浪有效波高的历史观测值向量 海面气压的历史观测值向量海面风向的历史观测值向量 海面风力的历史观测值向量 及海浪有效波高历史数值预报结果向量[xT,xT-1,…,xT-N];

S2:计算波高误差:计算任意时刻t海浪有效波高的历史观测值与历史数值预报结果之间的误差,记为误差向量[εT,εT-1,…,εT-N],其中 T-N≤t≤T;

S3:提取特征向量:对任意时刻τ的波高误差值向量、海面气压的历史观测值向量、海面风向的历史观测值向量和海面风力的历史观测值向量提取n个特征向量,组成特征矩阵fτ:其中,T-N+n≤τ≤T-m+1;

其中,m为要修订的数值预报结果时长;

S4:获取特征张量:基于N,m和n值,对所有τ时刻,分别按步骤S3的方法提取特征向量,组成特征张量F:其中,M=N-n-m+1;

S5:获取特征张量的标记矩阵L:

S6:将特征张量F、标记矩阵L作为输入,对超限学习机模型进行训练,获取超限学习机模型参数;利用训练后的模型参数计算波高预测的修正误差,用以修正波高预测值。

2.如权利要求1所述的单站海浪有效波高数值预报多要素修正方法,其特征在于:所述超限学习机模型的训练方法为:S61:取预测误差的历史时刻的长度为n,随机生成权重映射矩阵W:随机生成偏置矩阵B:

其中,权重映射矩阵W和偏置矩阵B中的元素均为随机生成的实数;

S62:将组成特征张量F的所有特征矩阵fτ均映射到隐含层空间,获得映射后的张量其中M为数据特征矩阵的个数,hτ为数据特征矩阵fτ映射到隐含层空间后得到的隐含层要素矩阵;

S63:将hτ拉伸成一个行向量,并将所有行向量按行的形式最终构成一个M×n×4维的隐含层特征矩阵H;

S64:选取sigmoid函数 为激活函数,通过激活函数将隐含层特征矩阵H转换为输出矩阵Hg,Hg的维度与数据隐含层特征矩阵H的维度一致,为M×(n×4);

S65:定义(n×4)×m维输出权重矩阵P,P满足Hg×P=L,求取P;

S66:利用权重映射矩阵W、偏置矩阵B和输出权重矩阵P作为训练后超限学习机模型的模型参数,采用训练后的模型参数,获得修正误差,采用修正误差对待修正海洋观测站点T时刻之后任一时刻海浪有效波高数值预报结果进行修正。

3.如权利要求2所述的单站海浪有效波高数值预报多要素修正方法,其特征在于:采用海浪预报误差和风力、风向、气压多要素对波高预测结果进行修正的方法为:S661:针对待修正波高的时刻q,针对波高误差值向量、海面气压的历史观测值向量、海面风向的历史观测值向量和海面风力的历史观测值向量提取n个特征向量,组成特征矩阵fq:其中q>T;

S662:利用步骤S61至步骤S65求取的权重映射矩阵W、偏置矩阵B和输出权重矩阵P;预测待修正海洋观测站点在q时刻以后m个时间点的海浪有效波高数值预报结果的误差,预测得到修正误差S663:将修正误差[εq,εq+1,…,εq+m-1]与海浪有效波高历史预报结果 相加,得到待修正海洋观测站点在q时刻海浪有效波高数值预报的多要素释用结果为

说明书 :

一种单站海浪有效波高数值预报结果多要素修正方法

技术领域

[0001] 本发明涉及海洋预报技术领域,具体涉及一种海浪波高的数值预报结果多要素修正方法。

背景技术

[0002] 由于台风或者飓风引起的风暴潮往往对沿海地区造成严重的经济损失和人员伤亡,如果对海浪的有效波高能够准确预测话,有关部门就能够采取相应的措施从而减少经济损失和人员伤亡。因此合理的波高推算,对于海岸工程的建设具有重要的指导作用。
[0003] 现有的海浪预报多是数值预报方法和人工预报相结合。首先利用历史观测数据通过数值模式对未来海浪有效波高进行预测,然后由经验丰富的预报员对数值预报结果进行相应的修正。这种基于人力的数值预报结果修正方法严重依赖于预报员的经验,不仅费时费力而且带有很强的主观性。
[0004] 研究一种自动的有效波高数值预报结果修正方法具有重要的意义。

发明内容

[0005] 本发明的目的在于提供一种单站海浪有效波高数值预报结果进行修正的方法,该方法不依赖于人工经验,利用观测站点的有效波高、海面气压等数据,进行海浪有效波高数值预报结果的修正,具有自学习性,进而可达到高精度的预报效果。
[0006] 为了实现以上目的,本发明采用如下技术方案:
[0007] 一种单站海浪有效波高数值预报结果多要素修正方法,包括以下步骤:
[0008] S1:获取站点历史数据:针对观测站点,收集T时刻及T时刻之前的N个时刻的站点数据,分别形成数据向量,包括:
[0009] 海浪有效波高的历史观测值向量 海面气压的历史观测值向量海面风向的历史观测值向量 海面风力的历史观测值向
量 及海浪有效波高历史预报结果向量[xT,xT-1,…,xT-N];
[0010] S2:计算波高误差:计算任意时刻t海浪有效波高的历史观测值与历史数值预报结果之间的误差,记为误差向量[εT,εT-1,…,εT-N],其中 T-N≤t≤T;
[0011] S3:提取特征向量:对任意时刻τ的波高误差值向量、海面气压的历史观测值向量、海面风向的历史观测值向量和海面风力的历史观测值向量提取n个特征向量,组成特征矩阵fτ:
[0012] 其中,T-N+n≤τ≤T-m+1;
[0013] 其中,m为要修订的数值预报结果时长,
[0014] S4:获取特征张量:基于N,m和n值,对所有τ时刻,分别按步骤S3的方法提取特征向量,组成特征张量F:
[0015] 其中,M=N-n-m+1;
[0016] S5:获取特征张量的标记矩阵L:
[0017]
[0018] S6:将特征张量F、标记矩阵L作为输入,对超限学习机模型进行训练,获取超限学习机模型参数;采用训练后的模型参数计算波高预测的修正误差,用以修正波高预测值。具体的说,在步骤S6中,利用海浪有效波高历史预报结果的误差及海面气压、风力、风向历史观测数据进行训练,求取超限学习机模型参数,将误差预测结果引入海浪有效波高数值预报结果,以修正海洋站点有效波高预报结果。
[0019] 作为优选:所述超限学习机模型的训练方法为:
[0020] S61:取预测误差的历史时刻的长度为n,随机生成权重映射矩阵W:
[0021]
[0022] 随机生成偏置矩阵B:
[0023]
[0024] 其中,权重映射矩阵W和偏置矩阵B中的元素均为随机生成的实数;
[0025] S62:将组成特征张量F的所有特征矩阵fτ均映射到隐含层空间,获得映射后的张量 其中M为数据特征矩阵的个数,hτ为数据特征矩阵fτ映射到隐含层空间后得到的隐含层要素矩阵;
[0026] S63:将hτ拉伸成一个行向量,并将所有行向量按行的形式最终构成一个M×n×4维的隐含层特征矩阵H;
[0027] S64:选取sigmoid函数 为激活函数,通过激活函数将隐含层特征矩阵H转换为输出矩阵Hg,Hg的维度与数据隐含层特征矩阵H的维度一致,为M×(n×4);
[0028] S65:定义(n×4)×m维输出权重矩阵P,P满足Hg×P=L,求取P;
[0029] S66:采用权重映射矩阵W、偏置矩阵B和输出权重矩阵P作为训练后超限学习机模型的模型参数。利用训练后的模型参数,获得修正误差,采用修正误差对待修正海洋观测站点T时刻之后任一时刻海浪有效波高数值预报结果进行修正。
[0030] 作为优选:采用修正误差对波高预测结果进行修正的方法为:
[0031] S661:针对待修正波高的时刻q,针对波高误差值向量、海面气压的历史观测值向量、海面风向的历史观测值向量和海面风力的历史观测值向量提取n个特征向量,组成特征矩阵fq:
[0032] 其中q>T;
[0033] S662:利用步骤S61至步骤S65求取的权重映射矩阵W、偏置矩阵B和输出权重矩阵P,预测待修正海洋观测站点在q时刻以后m个时间点的海浪有效波高数值预报结果的误差,预测得到修正误差[εq,εq+1,…,εq+m-1];
[0034] S663:将修正误差[εq,εq+1,…,εq+m-1]与海浪有效波高历史预报结果[xq,xq+1,…,xq+m-1]相加,得到待修正海洋观测站点在q时刻海浪有效波高数值预报的多要素修正结果为[xq+εq,xq+1+εq+1,…,xq+m-1+εq+m-1]。
[0035] 本发明的有益效果为:
[0036] 本发明基于待修正站点任意时刻T之前的历史数据,自定义的权重映射矩阵W、偏置矩阵B对超限学习机模型进行训练,获得训练后的权重映射矩阵W、偏置矩阵B和输出权重矩阵P。针对任意时刻T之后的待修正时刻,采用权重映射矩阵W、偏置矩阵B和输出权重矩阵P预测修正误差,并采用修正误差修正数值预报结果。这种多要素修正方法能够减小数值预报和真实观测值之间的误差,提高数值预报结果的准确度,提高工作效率。对于及时预测海洋风暴潮灾害、有效开展防灾减灾工作、保障人民的生命财产安全具有重要的意义。

附图说明

[0037] 图1为单站海浪有效波高数值预报多要素修正方法流程图;
[0038] 图2为采用本发明修正方法对站点波高进行修正的1小时修正结果;
[0039] 图3为采用本发明修正方法对站点波高进行修正的3小时修正结果;
[0040] 图4为采用本发明修正方法对站点波高进行修正的6小时修正结果;
[0041] 图5为采用本发明修正方法对站点波高进行修正的12小时修正结果;
[0042] 图6为采用本发明修正方法对站点波高进行修正的24小时修正结果;
[0043] 图7为采用本发明修正方法对站点波高进行修正的48小时修正结果;
[0044] 图8为采用本发明修正方法对站点波高进行修正的72小时修正结果。

具体实施方式

[0045] 以下将结合附图对本发明的具体实施方式进行清楚完整地描述。显然,具体实施方式所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0046] 本发明提供了一种单站海浪有效波高数值预报结果多要素修正方法,该方法结合海上站点的波高观测值、波高预测值及环境监测值,基于超限学习机模型得到参数,对待修正海洋观测站点有效波高预测值结果进行误差预测。
[0047] 概括的说,本发明所述的修正方法包括模型训练部分和误差预测部分。模型训练部分基于测量数据和波高预测数据,对学习机模型参数进行训练;误差预测部分基于训练获得的模型参数进行波高预测值的误差预测,以修正波高预测结果。
[0048] 具体的说,一种单站海浪有效波高数值预报多要素修正方法,包括以下步骤:
[0049] S1:获取待修正海洋站点历史数据:站点是指设置在海域上观测点,观测点会设置海洋环境监测设备、波高监测设备和海洋观测系统,以采集站点位置的观测数据,这些观测数据可以保存在海洋观测系统中,以便调用;待修正海洋站点是指需要进行波高修正计算的海洋观测点;本方法中,针对观测站点,指定任一时刻T,收集T时刻及T时刻之前的N个时刻的站点数据,分别形成数据向量,包括:
[0050] 海浪有效波高的历史观测值向量 其中 表示t时刻待修正观测站海浪有效波高的实际观测结果值;
[0051] 海面气压的历史观测值向量 其中 表示t时刻待修正观测站点海面气压的实际观测结果值;
[0052] 海面风向的历史观测值向量 其中 表示t时刻待修正观测站海面风向的实际观测结果值;
[0053] 海面风力的历史观测值向量 其中 表示t时刻待修正观测站海面风力的实际观测结果值,
[0054] 海浪有效波高历史预报结果向量[xT,xT-1,…,xT-N],xt表示t时刻待修正海洋观测站点海浪有效波高的数值预报结果值。数值预报结果是基于海浪数值模式预报获得的结果,这属于现有技术,此处不再赘述。
[0055] 获取待修正海洋站点历史数据的目的是要构建一个观测站点的波高和环境相关的数据库;在以上各式当中,并且T-N≤t≤T;N表示截取的历史数据的长度,N取值的大小取决于计算的需求;基于以上取值规则,将得到N+1个待修正海洋观测站点的海浪有效波高、海面气压、海面风向、海面风力的历史观测数据和N+1个待修正海洋观测站点海浪有效波高的数值预报结果值。
[0056] S2:计算波高误差:计算波高误差的过程对数据进行预处理,取任意时刻t的海浪有效波高的历史观测值 与海洋观测站点海浪有效波高的数值预报结果值xt,计算任意时刻t海浪有效波高的历史观测值与历史数据预报结果之间的误差,记为误差向量[εT,εT-1,…,εT-N],其中 T-N≤t≤T。
[0057] S3:提取特征向量:对任意时刻τ的波高误差值向量、海面气压的历史观测值向量、海面风向的历史观测值向量、海面风力的历史观测值向量提取n个特征向量,组成特征矩阵fτ;具体的说,针对任意时刻τ,提取时刻τ之前的n个时刻的波高误差值、海面气压的历史观测值、海面风向的历史观测值、海面风力的历史观测值,以组成特征矩阵fτ:
[0058]
[0059] 上式中,T-N+n≤τ≤T-m+1,m为待修正数值预报结果时长,fτ为一个n×4维的向量矩阵,fτ的每一列分别代表待修正海洋观测站点τ时刻之前n个时刻海浪观测值与数值预报值之间的误差、海面气压的观测值、海面风力的观测值、海面风向的观测值。n的取值是根据计算需求而定。
[0060] S4:获取特征张量:对所有τ时刻,分别按步骤S3的方法提取特征向量,组成特征张量F;特征张量F维度的大小,是与N,m和n的取值有关的,最终获得的特征张量F如下:
[0061]
[0062] 其中,特征张量的维度记为M×n×4,M=N-n-m+1。
[0063] S5:基于T时刻及T时刻之前的波高误差,获取一个M×m维的特征张量的标记矩阵L:
[0064]
[0065] 标记矩阵L中的每一行代表当前时刻下未来m个时刻波高预报结果与观测值误差的大小。
[0066] S6:将特征张量F、标记矩阵L作为输入,对超限学习机模型进行训练,获取超限学习机模型参数。学习机模型可以简单描述为F·α=L,训练的过程,利用已知的特征张量F和标记矩阵L,计算模型参数α。
[0067] 利用训练后的模型参数计算未来一段时间内波高数值预报结果的预测修正误差,将预测修正误差引入未来一段时间内的海浪有效波高预报结果,以修正海洋站点在未来时间段m个时刻内的有效波高预报结果。由于本方案中超限学习机模型是用于误差学习推算的,因此,定义超限学习机模型为残差超限学习机模型。
[0068] 具体的说,残差超限学习机模型的训练方法为:
[0069] S61:取预测误差的历史时刻的长度为n,随机生成权重映射矩阵W:
[0070]
[0071] 随机生成偏置矩阵B:
[0072]
[0073] 其中,权重映射矩阵W和偏置矩阵B中的元素均为随机生成的实数。
[0074] S62:将组成特征张量F的所有特征矩阵fτ均映射到隐含层空间,获得映射后的张量 其中M为数据特征矩阵的个数,hτ为数据特征矩阵fτ映射到隐含层空间后得到的隐含层要素矩阵。其中,隐含层空间是指位于神经网络输入层和输出层之间的隐含层。
[0075] S63:将hτ拉伸成一个行向量,并将所有行向量按行的形式最终构成一个M×n×4维的隐含层特征矩阵H。
[0076] S64:选取sigmoid函数 为激活函数,通过激活函数将隐含层特征矩阵H转换为输出矩阵Hg,Hg的维度与数据隐含层特征矩阵H的维度一致,为M×(n×4)。
[0077] S65:定义(n×4)×m维输出权重矩阵P,P满足Hg×P=L,求取P。输出权重矩阵P的作用是使矩阵Hg经过输出权重矩阵P后的结果与原始标记向量L保持一致,因此,输出权重矩阵P的解由由公式 得到。式中, 表示矩阵Hg的广义逆矩阵。
[0078] S66:采用权重映射矩阵W、偏置矩阵B和输出权重矩阵P作为训练后超限学习机模型的模型参数,相当于上文中所述的α。利用训练后的模型参数,预测修正误差,采用修正误差对待修正海洋观测站点T时刻之后任一时刻海浪有效波高数值预报结果进行修正。其中,修正后的波高预测值,由预测误差和波高数值预报结果相加获得。
[0079] S661:针对待修正波高的时刻q,针对波高误差值向量、海面气压的历史观测值向量、海面风向的历史观测值向量和海面风力的历史观测值向量提取n个特征向量,组成特征矩阵fq:
[0080]
[0081] 其中,待修正波高的时刻q是一个时刻T之后的时刻,反应的为想要获得波高修正值的时刻。其中fq的每一列分别代表q时刻以前n个时刻的海浪有效波高数值预报结果与观测值之间的误差值、海面气压观测值、海面风向观测值、海面风力观测值。
[0082] S662:重复步骤S61至步骤S65,求取的输出矩阵Hgq;
[0083] 具体的说,步骤如下:
[0084] 利用训练好的权重映射矩阵W、偏置矩阵B将数据特征矩阵fq映射到隐含层空间,映射之后得到的隐含层特征矩阵Hq。映射方法同步骤S62、S63;
[0085] 利用步骤S64中的方法选取的激活函数g(x)将隐含层特征矩阵Hq转换为矩阵Hgq,其中Hgq=g(Hq),Hgq的维度与隐含层特征矩阵Hq的维度一致;
[0086] S663:利用步骤S61至步骤S65求取的权重映射矩阵W、偏置矩阵B和输出权重矩阵P;,预测待修正海洋观测站点在q时刻以后m个时间点的海浪有效波高数值预报结果的误差,预测得到修正误差[εq,εq+1,…,εq+m-1];
[0087] S664:将修正误差[εq,εq+1,…,εq+m-1]与海浪有效波高历史预报结果[xq,xq+1,…,xq+m-1]相加,得到待修正海洋观测站点在q时刻海浪有效波高数值预报的多要素修正结果为[xq+εq,xq+1+εq+1,…,xq+m-1+εq+m-1]。
[0088] 具体的说,预测的原理为:假设某一时间节点,已知过去一段时间内的观测数据和数值预报数据(F),并且未来一段时间内数值预报结果已由数值模式计算出,但是未来对应的观测数据肯定不知。因此就会利用过去一段时间的数据和学习到的模型参数(α)预测未来一段时间的误差值,最后加到数值预报结果上提升预报精度。预测部分重点在于先前的数据来修正未来的预测数据。
[0089] 采用本发明所述的方法进行站点波高预测值的修正。本实施例中,表1所示的为基于一个待修正站点一定时间段(例如一年内)的观测数据和预报数据作为数据源,分别进行3小时、6小时、12小时、24小时、48小时和72小时时长的修正,模型训练时长和误差修正时长所用的时间表。
[0090] 表1 不同修正时长训练和测试时间表
[0091]
[0092] 图2至图7所示为分别采用不同的修正时长进行修正的过程的示意图。
[0093] 以图2所示为例,基于72小时的数据,以每1小时为修正时长,连续进行72次修正获得的波高观测值、波高数据预报值和波高数据修正值之间的图线;其中波高观测值为在数据修正的72小时过程中即时观测的数据;波高数据预报值为在先预报的数据;波高数据修正值为采用本发明所述方法修正得到的数据。从图中可以看出,经过修正之后的波高值,相比于波高的观测值,更接近于波高的观测结果。
[0094] 以图3所示为例,基于72小时的数据,以每3小时为修正时长,进行24次修正后获得的波高观测值、波高数据预报值和波高数据修正值之间的图线;从图中可以看出,经过修正之后的波高值,相比于波高的观测值,更接近于波高的观测结果。
[0095] 图4至图7所示的结果也表明,经过修正后的波高,相比于波高的观测值,更接近于波高的观测结果。
[0096] 基于以上,采用本发明所述的修正方法,可以对波高观测值进行观测修正,修正结果更接近实际波高值,采用修正后的观测值进行波高数据预测,可以更高精度的进行波高预测,指导防灾减灾建设。