集成栈式自编码器与XGBoost的深度学习海浪有效波高预报模型

2021-04-23 02:09陆小敏蔡丽华李雪丁
计算机与现代化 2021年4期
关键词:波高海浪编码器

陆小敏,刘 凡,蔡丽华,李雪丁,徐 啸

(1.河海大学海岸灾害及防护教育部重点实验室,江苏 南京 210098; 2.河海大学计算机与信息学院,江苏 南京 211100;3.福建省海洋预报台,福建 福州 350003; 4.河海大学港口海岸与近海工程学院,江苏 南京 210098)

0 引 言

灾害性海浪通常是海上有效波高大于等于4 m的海浪[1]。它主要是在热带气旋(台风)、温带气旋和寒潮的作用下形成的,能够掀翻海上的船只,摧毁海洋和海岸工程,能给一切海上的活动带来巨大危害。因此,海浪有效波高预报的准确性一直以来都是海洋科学研究中的热点与难点问题。当前,海浪的预报方法主要有2类:数值预报方法和机器学习方法。其中,数值预报方法应用得最广泛的有3种:WAM[2-4](Wave Modeling)、SWAN[5-8](Sea Wave Modeling)和WW3(WAVEWATCH III)[9-13]。这些方法的主要特征是直接计算波与波之间的非线性能量传输作用,考虑能量平衡方程中的各个项,模型的预报结果与实际值吻合较高,是一种能够广泛应用于全球浅水、深水的数值预报模型。但海浪的数值预报方法也有弊端,其计算成本大,模型建立困难。机器学习方法由于具有良好的非线性映射能力和自适应学习能力,能够处理好物理机制复杂以及因果关系和推理关系无法确定的非线性问题。因此,在有效波高预报中得到广泛的应用,包括:人工神经网络(Artificial Neural Network, ANN)[14-16]、支持向量机(Support Vector Machine, SVM)[17-19]和BP神经网络[20-22]。但机器学习方法作为一种浅层的网络架构,其表达能力有限,预报准确性不高。深度学习可自动提取高层语义特征,在复杂问题求解中明显优于传统机器学习方法,近年来也被应用于海浪预报中。如Mandal等人[23]提出一种使用循环神经网络(Recurrent Neural Network, RNN)预测波浪,其实验结果表明与神经网络相比,循环神经网络的波浪预测产生了更好的结果。顾兴健等人[24]提出使用基于LSTM(Long-Short Term Memory)的海浪环境短期预报模型,该模型在我国海域上的预报结果取得了较好的精度。栈式自编码器(Stacked AutoEncoders, SAE)作为深度学习算法的一种,由于其优良的泛化和函数表达能力,在特征提取方面优势明显,可以有效挖掘出数据中包含的丰富信息,提高分类和预报的准确率,近年来在多个领域得到了相关应用并展现出优势。如刘凡等人[25]利用SAE与BP神经网络集成算法进行洪水预报。实验结果表明,SAE-BP集成算法的性能比其他基准测试好得多。杨洪富等人[26]利用SAE进行航空发动机气路故障的诊断。仿真结果表明,SAE适用于航空发动机气路故障诊断研究,相较于BPNN和SVM方法能获得更高的诊断准确率。

因此,本文提出一种集成SAE和XGBoost的深度学习海浪有效波高预报模型,进行有效波高预报,并将预报结果与已有的海浪预报方法:BP、SVM和LSTM进行比较。结果表明,本文提出模型的预测能力优于已有的模型。

1 方 法

本章将详细介绍SAE-XGBoost的深度学习海浪有效波高预报模型,其网络结构如图1所示。在实施过程中,主要包括2个步骤:1)使用SAE算法处理海浪数据,获得输出权值;2)将SAE隐藏层的输出权值作为XGBoost算法的输入,经过有限次迭代,获得最终的预测模型。

图1 SAE-XGBoost网络结构图

具体地,SAE是一个由多层稀疏自动编码器堆叠而成的神经网络。自动编码器是一种能够提取非线性特征的无监督网络,它可以从输入的数据中提取隐含的特征,并且用提取的特征又可以重构出原始输入的数据。每一个自动编码器都是由输入层、输出层和隐含层3部分组成。对于SAE的第l个稀疏自动编码器,设其网络参数为(W,b)=(W(l,1),W(l,2),b(l,1),b(l,2)),则编码步骤为:

a(l-1)=f(z(l-1))

(1)

z(l)=W(l,1)a(l)+b(l,1)

(2)

其中,a(l-1)表示第l-1层的输出,z(l-1)表示第l-1层的输入,W(l,1)、b(l,1)表示第l层编码过程的权重与偏置。其解码步骤为:

a(l)=f(z(l))

(3)

z(l+1)=W(l,2)a(l)+b(l,2)

(4)

其中,W(l,2)、b(l,2)表示第l层解码过程的权重与偏置,f(·)取Sigmoid函数:

f(x)=1/(1+exp(-x))

(5)

(6)

(7)

为了获取合适的输出权值,自动编码器采用的方法是逐层的贪婪训练。将第一层训练好的自动编码器参数W(1,1)、b(1,1)作为第二层自动编码器的输入,即每个自动编码器的输出作为后续自动编码器的输入,不断重复上述步骤。

有效波高的预报是一种非线性的过程,本文添加XGBoost到SAE中。如图1所示,在SAE训练了2个隐藏层之后,将第2个隐藏层的输出权值作为XGBoost的输入,以进行有效波高的预测。使用SAE的输出作为输入,不需要对原始数据进行重新学习,降低对计算资源占有率的同时,也保证了模型的精准度。

2 实验结果与分析

2.1 数据准备

本文实验所使用的数据来源于福建海浪预报台布设在台湾海峡中部的2号大浮标,经纬度分别为119.30°E和24.48°N。测点水深为67 m,测点周边5 km范围内的水深都介于60~70 m之间。浮标每30 min记录一笔波浪有效波高(m),每10 min采集一笔风数据,包括10 m高度平均风速(m/s)和平均风向(°)、最大风速(m/s)等。图2给出了2号大浮标的地理位置。

图2 2号大浮标站位置

数据的时间跨度为2016年7月1日到2017年12月31日,每隔1 h取一组实测的波浪与风浪数据,总共13076条。模型的输入特征为风要素,包括:平均风速、平均风向和最大风速,输出是海浪的有效波高。

2.2 数据预处理

2.2.1 数据缺失处理

2号大浮标的风、浪观测数据存在着数据缺失的现象,而数据缺失会使模型表现出的不确定性更加显著,导致不可靠的输出。因此,本文针对数据缺失问题采用简单删除法,此方法将存在缺失值的数据条目进行删除,总共删除70条数据。这种方法简单易行,且在被删除的条目相比总的数据量非常小的情况下是非常有效的。本文实验按照时间顺序选择2016年7月1日至2017年8月23日的10000个数据样本作为训练数据集,剩下的3006个数据样本作为测试数据集。

2.2.2 归一化处理

归一化处理的目的包括对于方差非常小的属性可以增强其稳定性,并且有利于维持稀疏矩阵中为0的条目。归一化处理后每个指标处于同一数量级,适合进行综合对比评价,另外,归一化不但可以提升模型的收敛速度,还可以提升模型的精度。因此,为避免规模效应对深度网络体系结构的影响,将输入特征标准化为[0,1]区间,本文采用min-max标准化(Min-Max Normalization),转换函数如式(8)所示:

vi=(ai-minai)/(maxai-minai)

(8)

其中,ai表示对第i个变量进行归一化的值,maxai和minai分别表示训练集中该变量的最大值和最小值。

2.3 评价指标

为了更好地评估SAE-XGBoost深度网络模型的有效波高预测效果,本文引入均方误差(Mean Squared Error, MSE)和R^2(R Squared, R^2)这2个指标对模型的预报误差进行客观的评价。其中R^2被称为确定系数,取值范围为[0,1],R^2的值越大,表明模型的拟合效果越好。

(9)

(10)

2.4 实验结果

将SAE-XGBoost深度网络模型的预测结果与已有的方法进行比较,包括BP模型、SVM模型和LSTM模型。表1给出了每种方法在MSE和R^2指标下的对比。从表1可以看出,4种模型的相关系数R^2均大于0.8,其中SAE-XGBoost深度网络模型的相关系数R^2最高,说明该模型的精度最好。比较4种模型的均方误差MSE,SAE-XGBoost模型的均方误差MSE达到最小,说明其模型预测结果最好。

表1 不同预报模型的结果比较

均方误差MSE与相关系数R^2只能评估模型的整体预测结果。为了更好地分析预测结果,本文展示了上述4种模型在2号大浮标测试数据集下的预测值和真实值的对比图,如图3~图6所示。直接使用BP算法难以进行有效预测,SVM算法和LSTM算法的预测波高与真实波高比较吻合,但SVM算法在不同区域间波动较大,影响了整体预报的准确性,而LSTM在低波部分性能较好,但在波峰部分性能较差。而集成栈式自编码器和XGBoost的深度学习算法对于有效波高的作用明显,预测效果更好,提高了有效波高的总体预报准确性。

图3 BP模型的预报折线图

图4 SVM模型预报折线图

图5 LSTM模型预报折线图

图6 SAE-XGBoost模型预报折线图

3 结束语

本文将深度学习技术应用于灾害性海浪预报之中。利用SAE算法对有效波高的时间序列进行无监督特征学习,从而达到初始化XGBoost的目的,并且利用XGBoost超强的决策能力预报海浪的有效波高。通过台湾海峡的2号大浮标的海浪数据验证,表明本文提出的算法优于已有的海浪有效波高预报方法。但是,SAE-XGboost模型仍有很大的改善空间,因为本文没有充分考虑数据分布的不平衡和数据集的规模大小。在下一步工作中,将使用域自适应方法来获得更好的性能。

猜你喜欢
波高海浪编码器
丫丫和小海浪
海浪
珊瑚礁地形上破碎波高试验研究
基于漂流浮标的南大洋卫星高度计有效波高研究
非平整港池的多向不规则波试验研究
樊应举
海堤设计波高计算
基于FPGA的同步机轴角编码器
基于双增量码道的绝对式编码器设计
JESD204B接口协议中的8B10B编码器设计