姚汭成,龚德文
(长沙矿冶研究院有限责任公司 深海矿产资源开发利用国家重点实验室,湖南 长沙 410012)
对深海采矿海试来说,恶劣的海况可能导致试验无法进行,甚至危及人员和设备的安全,海浪高度的准确预测对深海采矿工程具有重要意义。随着对海浪高度预测方法的研究不断深入,机器学习[1]及深度学习[2]中很多算法已在海浪高度预测中得到应用。
支持向量回归[3](SVR)的原理基于支持向量机[4](SVM),是一种可靠且准确的机器学习算法。目前,使用SVR及SVM对海浪高度预测已有初步研究,但对于这两种算法在此方面的特征构建及参数优化尚无确切方法[5-8]。
本文首次将灰狼优化(GWO)[9]和支持向量回归算法(SVR)相结合应用于海浪高度预测。本文数据源为ERA5再分析数据[10],使用GWO算法优化SVR参数,并将GWO-SVR预测效果与传统SVR预测效果对比,验证GWO-SVR算法预测海浪高度的有效性;
并进一步将GWO-SVR预测效果与基于粒子群算法(PSO)的PSO-SVR预测结果进行对比,验证GWO-SVR算法预测的准确性。最后,据现有研究成果,建立了3种海浪高度预测数据模型构建算法输入特征,并用GWO-SVR算法预测海浪高度。3种数据模型预测结果证实,使用较大空间范围的海洋环境数据构建特征训练算法可明显减少预测误差。
本文预测区域为某深海采矿海试区域,区域中心位置为115.5°E,预测点在18.5°N(见图1),此处离海岸较远,涌浪的影响不容忽视。本文数据源为ERA5再分析数据,其数据类型有:有效波高(SWH)、10 m风速U(U10)和V(V10)分量、2 m温度(T2M)、海面气压(MSL)、实际云量(TCC);
数据的时间分辨率为1 h、空间分辨率为0.5°×0.5°,时间区间从2020年1月1日至2020年12月31日。
图1 预测点选择
灰狼优化算法的优化过程基于狼群的社会等级和捕食行为。如图2所示,根据狼群社会等级关系,将每代适应度最好的3个个体分别标记为α、β、δ,剩下的个体标记为ω。其优化过程由每代适应度最好的3个解指导完成。而SVR的原理基于SVM,可使用核函数将线性SVR扩展为非线性SVR,使其可以进行非线性的回归预测。
图2 狼群社群等级关系
2.1 GWO-SVR算法
本文使用基于高斯核函数非线性SVR预测海浪高度,要确定的参数包括惩罚系数C、合理误差ε和高斯核函数宽度参数γ,目前该算法参数寻优困难,本文使用GWO算法优化SVR参数。GWO-SVR算法实现步骤如下:
1)数据预处理:输入数据归一化,采用式(1)对输入数据进行预处理:
式中xscaled为标准化后的输入数据;
x为原始输入数据;
x为输入数据均值;
xstd为输入数据标准差;
2)分割数据集:将数据集按照1∶3的比例分为测试集和训练集;
3)设置GWO-SVR参数:设置狼群数量Pack_size、迭代次数Iterations、参数上界max_values和下界min_values;
4)适应度定义:如式(2)所示,使用实际浪高和预测浪高的均方误差MSE作为GWO-SVR算法适应度函数:
5)构建GWO-SVR算法:使用Python语言构建GWO算法,并通过scikit-learn工具包将C、ε和γ参数带入SVR迭代训练。
算法的执行流程如图3所示。
图3 GWO-SVR算法流程
2.2 评估标准
本文使用均方根误差RMSE、平均绝对误差MAE和平均绝对百分比误差MAPE作为算法预测效果评估标准,RMSE、MAE、MAPE值越小,算法预测效果就越好。
式(2)~(5)中y为实际有效波高;
yi为预测有效波高。
3.1 算法输入特征构建
基于Python 3.8的环境下完成GWO-SVR算法构建。海浪一般分为风浪和涌浪。风浪是受当地风影响的波浪。当波浪从其产生地传播出去,或其相速度超过当地风速时,就被称作涌浪。所以,在SVR特征构建时,不仅要考虑预测点受到风影响产生的风浪,还要考虑预测点受到环境因素产生涌浪的影响,更要考虑周围各点海洋环境对预测点海浪高度的影响。因此,本文选择有效波高(SWH)作为预测对象。
为进一步提高算法对海浪高度的预测能力,深入探究周围环境及海浪状态对预测点有效波高预测的影响,构建了M0、M1和M2共3种数据点空间分布模型构建算法输入特征。M0数据点数据仅为预测点当前时刻的海洋环境参数;
M1数据点数据为预测点当前时刻的海洋环境参数及距预测点经纬度0.5°×0.5°内各数据点的海洋环境参数;
M1数据点数据为预测点当前时刻的海洋环境参数及距预测点经纬度1.0°×1.0°内各数据点的海洋环境参数。上述海洋环境参数包括:数据点当前有效波高、10 m风速U和V分量、2 m温度、海面气压及实际云量。数据点分布如图4所示。
图4 数据点分布模型
3.2 算法训练及预测
通过大量预试验调整GWO-SVR算法初始参数范围,当GWO-SVR算法参数狼群个体数pack_size=10、最大迭代次数iterations=60、参数下界min_value=0.000 1、参数上界max_value=10 000.000 0时,预测效果较好。然后使用训练集数据对传统非线性SVR(C=1,GWO-SVR和PSO-SVR进行训练,再使用测试集计算MSE、MAE、MAPE得到各算法的预测效果,如表1~3所示。
表1 传统SVR算法预测效果
对比表1和表2数据可知:传统SVR预测效果不佳,难以预测模型有效波高,预测误差较大。取相同数据模型使用GWO-SVR进行预测时,其RMSE、MAE、MAPE值均小于传统SVR方法。
表2 GWO-SVR算法预测效果
对比表2和表3数据可知,GWO-SVR方法RMSE和MAE均比PSO-SVR方法小。如选择数据模型M2预测时间12 h的试验,GWO-SVR方法得到的RMSE约为PSO-SVR方法的85.7%,MAE值约为PSO-SVR方法的80%。所以GWO-SVR方法的误差相比于PSO-SVR有一定减少。又如数据模型M2预测时间15 h以及数据模型M0预测时间1 h试验,PSO算法在逐代优化SVR参数过程中易陷入局部最优,致使预测误差较大。
表3 PSO-SVR算法预测效果
通过对表1~3研究及通过对GWO-SVR算法的预测结果比较可以看出,GWO-SVR算法的M0模型对有效波高预测能力较低,预测时间6 h时RMSE=0.16、MAE=0.12,失去6 h后有效波高预测能力;
M1模型对有效波高的预测能力较强,预测时间12 h时RMSE升至0.16、MAE升至0.12,12 h后有效波高预测能力不佳;
M2模型对有效波高预测能力强,预测时间15 h时RMSE升至0.16、MAE升至0.12,15 h后有效波高预测能力不佳。M2数据模型SVR参数优化结果如表4所示。
表4 GWO-SVR算法M2数据模型参数优化结果
根据表4优化后的C、ε、γ参数,使用训练好的GWO-SVR算法对2021年1月该点的有效波高进行预测,未来3、6、9、12 h预测结果和实际有效波高的比对如图5所示。
图5 GWO-SVR有效波高预测结果
由图5可知,未来3 h波高预测结果中,3种数据模型预测能力均表现较好,预测误差较小;
未来6 h波高预测结果中,M0数据模型预测结果误差较大,M1、M2数据模型预测效果较好;
未来9 h及12 h波高预测结果中,M0和M1数据模型预测结果与真实波高的趋势基本一致,但误差均较大,M2数据模型对于短时间的波高预测,其虽输入的特征过多,增加了计算时间,但对未来12 h波高有一定预测能力,仍能较好反映出有效波高受环境影响的变化结果。
基于GWO-SVR方法,建立了3种预测数据模型展开有效波高预测试验,结果表明,GWO-SVR能显著提高有效波高预测精度;
GWO-SVR算法和PSO-SVR算法有效波高预测结果表明,GWO-SVR算法预测结果的平均误差低于PSO-SVR算法,且不易陷入局部最优;
使用较大空间范围的海洋环境数据构建特征训练GWO-SVR算法并进行预测,可有效减少其预测误差。