舰船科学技术  2025, Vol. 47 Issue (11): 149-154    DOI: 10.3404/j.issn.1672-7649.2025.11.026   PDF    
基于改进BP神经网络的船舶油耗预测方法研究
吴泽颖, 赵强, 胡智辉, 王敬钰     
集美大学 航海学院,福建 厦门 361021
摘要: 为精确预估船舶油耗,推动航运业向绿色低碳转型,提出一种基于改进BP神经网络的船舶油耗预测方法。通过对原始航行数据进行预处理,去除噪声、偏差和异常值;利用核主成分分析法将数据中的10个原始变量降维为5个主成分,减少数据维度;采用遗传算法优化BP神经网络,建立高精度的船舶油耗模型。以1艘液化石油天然气运输船为研究对象,实验结果表明,优化后的BP神经网络油耗模型在预测性能方面获得较大提升,训练集和验证集的均方根误差分别降低了0.11220.1068,决定系数提高1.58%。该研究成果能够为船舶节能减排提供可靠的决策支持。
关键词: BP神经网络     核主成分分析     遗传算法     船舶油耗     预测模型    
Research on ship fuel consumption prediction method based on improved BP neural network
WU Zeying, ZHAO Qiang, HU Zhihui, WANG Jingyu     
Navigation Institute, Jimei University, Xiamen 361021, China
Abstract: In order to accurately predict the fuel consumption of ships and promote the transformation of the shipping industry to green and low-carbon, a ship fuel consumption prediction method based on improved BP neural network is proposed. By preprocessing the original voyage data to remove noise, bias and outliers; using kernel principal component analysis to reduce the dimensionality of the data by downgrading the 10 original variables in the data to five principal components; and adopting genetic algorithm to optimize the BP neural network to establish a high-precision model of ship fuel consumption. Taking a liquefied petroleum gas carrier as the research object, the experimental results show that the optimized BP neural network fuel consumption model obtains a large improvement in the prediction performance, and the root mean square error of the training set and validation set is reduced by 0.1122 and 0.1068 respectively, and the coefficient of determination is improved by 1.58%. The research results can provide reliable decision support for energy saving and emission reduction of ships.
Key words: BP neural network     kernel principal component analysis     genetic algorithm     ship fuel consumption     predictive modeling    
0 引 言

2022年以来,国际海事组织制定各种政策,包括实施加强的船舶能效管理计划(SEEMP)和碳排放强度指标(CII)两项关键措施,旨在通过更有效地使用船舶燃料来降低温室气体排放和遏制环境污染[1]。在船舶运营中,燃料成本是影响盈利能力的主要因素,改善船舶燃油的使用效能,将有效提高船舶的盈利能力[2]。船舶燃油消耗量是评估和监控船舶活动的关键指标,因此建立精准的船舶燃油消耗预测模型,提高模型的预测精度对于降低温室气体排放和提高船舶运营效率具有重要意义。

由于船舶航行油耗受风速、海况、载重、航速等多个复杂因素的影响,传统的回归方法难以获得准确的预测性能[3]。为了提高回归模型的精度,YAN等[4]将能效运行指标引入内河船舶,提出影响内河船舶运行能效参数的多参数灵敏度分析方法,建立基于BP神经网络的船舶能效营运指数预测模型。Le等[5]提出了多层感知器人工神经网络的方法,使用集装箱船航行数据,将航行时间、航速、货物重量等作为输入参数,利用该神经网络对船舶油耗进行预测。Hu等[6]采用BP神经网络和高斯过程回归技术对船舶油耗进行预测对比,结果发现BP神经网络提供更短的运行时间,高斯过程回归技术提供更高的准确率。

BP神经网络在船舶油耗预测方面得到广泛的应用,但针对BP神经网络建模过程中参数估计方法的研究尚显不足。在实际应用中,BP神经网络存在对数据噪声敏感导致的过拟合,训练过程较慢且容易陷入局部最优解,对初始权重和学习率敏感的问题[7]。本文通过算法优化,对BP神经网络的结构和超参数进行调优,以提高船舶油耗预测性能和稳定性。

1 预测研究方法 1.1 核主成分分析法

核主成分分析(Kernel Principal Component Analysis,KPCA)是一种基于对原始训练数据集协方差矩阵进行正交分解,同时尽可能多地保留可变性的无监督机器学习技术[8]。KPCA通过核函数将非线性问题转化为高维空间中的线性问题,再利用主成分分析方法提取数据的主要特征,实现了对复杂非线性数据的特征提取。KPCA的具体实现步骤如下:

步骤1 选择核函数$ \kappa \left( {\overline {{x_i}} ,\overline {{x_j}} } \right) $,本文使用的核函数为径向基函数,它比基于线性核的模型具有更好的精度,在训练阶段更快[9]。如下式:

$ \kappa \left( {\overline {{x_i}} ,\overline {{x_j}} } \right) = \exp \left[ { - \frac{{{{\left\| {\overline {{x_i}} - \overline {{x_j}} } \right\|}^2}}}{{2{\zeta ^2}}}} \right] 。$ (1)

式中:$ \overline {{x_i}} $$ \overline {{x_j}} $为归一化后的数据矩阵$ \overline {{X_{n \times m}}} $的行向量;$ {\zeta ^2} $为超参数。

步骤2 使用非线性映射函数$ \phi $$ \overline {{X_{n \times m}}} $投影到高维特征空间$ f $中,如下式:

$ \phi :\overline {{x_i}} \in {\mathbb{R}^m} \to \phi \left( {\overline {{x_i}} } \right) \in {\mathbb{R}^f},i = 1...n 。$ (2)

式中:n为观测值个数;m为变量个数;$ f \geqslant m $

步骤3 求解特征空间中的协方差矩阵$ {\displaystyle\sum\nolimits_\phi } $,如下式:

$ {\sum_\phi } = \frac{1}{n}\sum\limits_{i = 1}^n {\phi \left( {\overline {{x_i}} } \right)} \phi {\left( {\overline {{x_i}} } \right)^\mathrm{T}}。$ (3)

步骤4 计算协方差矩阵的特征值$ {\lambda _k} $和特征向量$ {\nu _k} $,如下式:

$ {\sum _\phi }{v_k} = {\lambda _k}{v_k},k = 1...f ,$ (4)
$ {v_k} = \sum\limits_{i = 1}^N {{\alpha _{ki}}} \phi \left( {\overline {{x_i}} } \right),k = 1...f 。$ (5)

步骤5 选取主成分,使用累积百分比方差CPV技术,当值$ CPV\left( l \right) $超过预定义的百分比$ CPV $限值时,选择主成分数$ l $ [10]。如下式:

$ CPV\left( l \right) = \frac{{\displaystyle\sum\nolimits_{i = 1}^l {{\lambda _i}} }}{{\displaystyle\sum\nolimits_{h = 1}^m {{\lambda _h}} }} \times 100\% \geqslant CP{V_{\lim {\mathrm{it}}}} 。$ (6)
1.2 遗传算法优化BP神经网络

BP神经网络是一种多层前馈神经网络架构,通过结合前馈传播与误差反向传播的迭代学习过程,基于梯度下降法优化神经元的阈值和层间连接的权重,达到最小化网络输出与预设目标值之间误差的目的[11]。BP神经网络的工作流程分为正向传播和反向传播2个关键阶段。正向传播是指数据朝着网络方向流动,中间过程的计算结果作为输入传递给下一个节点,反向传播是指将输出结果与理想结果进行比较的过程,预测结果与理想结果之间的误差通过网络反向传播[12]

BP神经网络是由输入层、输出层和隐藏层组成,其中,$ {x_1} $,$ {x_2} $,···,$ {x_n} $为网络的输入;$ {y_1} $,$ {y_2} $,···,$ {y_n} $为网络的输出;每层节点之间的连接状态通过权值$ {w_{ij}} $$ {w_{jk}} $反映,BP神经网络模型如图1所示。

图 1 BP神经网络模型结构图 Fig. 1 Neural network model structure diagram

遗传算法(Genetic Algorithm,GA)是一种模拟自然界生物进化机制的优化搜索算法。它是一种高效的全局优化搜索算法,选择适应度较高的个体,不断进行进化迭代,直到满足条件的个体出现[13]。遗传算法优化BP神经网络步骤如图2所示。

图 2 遗传算法优化BP神经网络流程图 Fig. 2 Genetic algorithm optimization BP neural network flowchart

步骤1 染色体编码。确定初始种群包含的个体数量,设定二进制字符串的长度为固定值作为种群中每个个体的基因编码。每个个体由包含BP神经网络所有权值和阈值的符号串组成。

步骤2 染色体解码。使用一种将二进制转换为十进制的特殊功能对染色体解码。

步骤3 适应度函数。函数公式如下式:

$ S = \sum\limits_{i = 1}^n {\left| {{f_i} - f({x_i})} \right|}。$ (7)

式中:$ {f_i} $为预期的输出值;$ f({x_i}) $为预测的输出值。

步骤4 选择相应的操作。计算每个个体的适应度函数值,通过轮盘赌选择方法,基于个体的适应度值概率性地选择个体来组成新的种群。

步骤5 交叉。设置交叉概率,随机选择2个个体$ {a_i} $$ {a_j} $$ k $基因位置进行交换,得到新的基因$ {a_{ik}} $$ {a_{jk}} $,如下式:

$ \left\{ \begin{gathered} {a_{ik}} = {a_{ik}}(1 - b) + {a_{jk}}b ,\\ {a_{jk}} = {a_{jk}}(1 - b) + {a_{ik}}b 。\\ \end{gathered} \right. $ (8)

式中:b为一个0~1的随机数。

步骤6 进行变异操作。假设突变率为p,随机挑选种群中的个体执行突变操作,在选择的$ {a_l} $个体中第$ h $个基因发生突变,获得新的基因$ {a_{lh}} $,如下式:

$ \left\{ \begin{gathered} {a_{lh}} + ({a_{lh}} - {a_{\max }}){r_2}(1 - g/{G_{\max }}),h \geqslant 0.5 ,\\ {a_{lh}} + ({a_{\min }} - {a_{lh}}){r_2}(1 - g/{G_{\max }}),h < 0.5 。\\ \end{gathered} \right. $ (9)

式中:$ {a_{\max }} $$ {a_{\min }} $分别为基因的上界和下界;$ {r_2} $为一个随机数;$ g $为进化的次数;$ {G_{\max }} $为进化的最大数量;$ h $为0~1之间的随机数。

步骤7 计算新种群的个体适应度。如果满足要求,停止迭代;否则,返回步骤4。

为了有效地分析和评估人工神经网络模型的预测性能,本文使用2个指标,即决定系数$ {R^2} $和均方根误差RMSE(Root Mean Square Error)。${R^2} $越接近1,表示模型对数据的拟合越好;RMSE越接近0,表示模型的预测能力越好[14]

2 数据预处理 2.1 数据降噪

原始数据来自一艘液化石油气运输船,船长为225 m,宽为37 m,数据采集依赖于船舶上安装的多种传感器,这些传感器能够连续不断地按照时间序列进行采样。但数据采集过程会受到多种因素的影响,包括船舶在锚地或泊位的停留时间,数据传输过程中的延时,以及在接收数据时发生的异常情况等,这些将导致采集到的原始数据存在偏差和异常值[15]

数据降噪是一种处理原始数据中存在的噪声、偏差和异常值的方法[16]。具有时间序列的大数据包含噪声、误差和偏差,所有这些都视为损坏数据,设$X_{cor}=[X_1,X_2,\cdots,X_n] $,其中$X_{\mathrm{i}} \in R^d $是输入变量的维度,$d $是维度数,$\lambda $是平滑参数,n是数据的个数。为获得无噪声的精确数据集$\overline X $,我们最小化数据值之间的差异,以及原始数据与滤波数据之间的差异,目标函数如下:

$ \text{Minimize||} \overline{{X}} -{{X}_{{cor}}}||^2+\lambda \sum\limits_{{{{\mathrm{j}} = 1}}}^{{{{{n}} - 1}}} {({{{X}}_{\mathrm{j} + 1}}} -{{{X}}_{{\mathrm{j}}}}) 。$ (10)
2.2 数据筛选

确定船舶的航行状态是建立船舶能效状态模型的前提之一。船舶的航行状态与主机的工作状态密切相关,在非正常航行状态下船舶整体油耗状态的影响在此将忽略不计[17],因此本文先判断船舶的航行状态,筛选出船舶正常航行状态的数据再进行分析。

图3为船舶航行状态识别结果。根据实船的特征分析,船舶航行状态可分为停泊状态、机动航行状态和定速航行状态,不同的航行状态要求不同的主机转速设置,以适应特定的航海需求和环境条件。在停泊状态下,船舶的航速、主机转速和油耗率基本为0,但由于海况等外界因素影响,主机仍有可能出现一定的转速和功率值,这种异常数据值应被筛选出来。依据主机转速设定一个临界值15 r/min,主机转速在[0,15]范围内的则认定为停泊状态;在定速航行状态下,船舶的各参数相对稳定,基本保持在一定值范围内;在机动航行状态下,船舶各项参数特征会经历一个由低到高、最终趋于稳定的波动过程,其中转速的波动幅度相对较大。为了区分定速航行和机动航行,以主机转速为判断依据,设定一个临界值65 r/min作为判断标准,主机转速在[15,65]数值范围内则认定为机动航行状态,大于65 r/min的则认定为定速航行状态,将停泊状态和机动航行状态认定为非正常航行状态,定速航行状态认定为正常航行状态,运用Matlab软件中航行状态识别算法进行筛选从而得到正常航行状态的样本数据。

图 3 船舶航行状态识别结果 Fig. 3 Vessel navigation status recognition results
2.3 数据特征提取

尽管数据筛选已经完成,船舶油耗数据仍然存在大量影响系统输入的物理变量,输入变量存在高度相关性,导致BP神经网络接收的信息存在重复,BP神经网络存在过拟合风险。解决过拟合问题的有效方法之一是利用大量数据进行网络训练,并采用机器学习技术对非线性数据进行特征提取[18]

本文采用核主成分分析法提取后的正常航行状态数据作为船舶油耗模型的输入数据。在利用船舶航行状态识别模型筛选船舶定速航行状态数据后,利用核主成分分析法提取10个影响船舶油耗因素的非线性特征对输入变量进行重构。主成分的贡献率和累计贡献率如图4所示。可知,前5个主成分K1K2K3K4K5的累积贡献率大于85%,这一结果解释了输入变量的大部分信息,因此,选取前5个主成分代替原来10个输入变量组成的主成分集。

图 4 总方差解释树状图 Fig. 4 Total variance explained dendrogram
3 油耗模型预测结果分析

本文选取17230份经过预处理的数据集作为训练和验证的基础,从这些数据中随机选择了12061份样本(占总样本的70%)进行训练,剩余的5169份样本(占总样本的30%)用于验证。数据集包含了10个输入变量,包括主机转速、燃油消耗率、航速、船舶排水量、船舶纵倾、风速、风向、有效波高、波浪周期和海流流速。BP神经网络模型训练−测试阶段的输入−输出变量数值范围如表1所示。

表 1 样本统计量描述 Tab.1 Sample statistic description

为了优化网络结构,使用随机搜索交叉验证技术来确定最佳的学习率和隐藏层数,优化过程采用均方误差作为评价指标。在3种不同的学习率值(0.01、0.001和0.0001)中,学习率为0.001表现最适合网络。在隐藏层数的优化过程中,逐层增加隐藏层的数量为1~10,并保持其他超参数不变;随着层数的增加,决定系数$ {R^2} $的波动保持稳定,均方误差在2层达到最小值,选择2层隐藏层来优化网络模型。利用5倍交叉验证获得的决定系数$ {R^2} $值范围来建立每层的神经元计数。为了初步评估网络在不同激活函数下的预测能力,使用了包含112个神经元的单个隐藏层进行预测,通过对连续10次预测运行的结果进行汇总,选择表现出较好性能指标的激活函数Tanh函数。在训练过程中选择训练函数trainlm函数,使用Levenberg-Marquardt算法,自适应进行网络权重和偏置的优化,训练目标最小误差设置为0.00001,迭代次数设置为1000。BP神经网络超参数如表2所示。

表 2 BP神经网络超参数 Tab.2 BP neural network hyperparameters

回归图显示了网络输出相对于训练、验证和测试集的目标,图5中对角虚线作为理想化的基准线,代表模型输出值与真实值完全一致,从4个子图的对比分析可以看出,无论是针对训练集、验证集、测试集,还是综合样本集的总体表现,模型的输出值均接近真实值,相关系数$ {R^2} $值在0.95以上,证明所有数据集的拟合质量都相当好,该模型结构良好可以模拟真实的船舶油耗。

图 5 BP神经网络线性回归图 Fig. 5 Linear regression plot of BP neural network

表3为传统BP神经网络油耗模型和基于遗传算法优化的BP神经网络油耗模型的主要评估指标对比,显示了输出相对于训练集和验证集的目标,在这2种模型中,所有数据集的拟合质量都相当好,决定系数$ {R^2} $值均在0.95以上。但GA-BP模型中决定系数$ {R^2} $得到了提高,表示模型对数据的拟合越好。训练集和验证集中的均方根误差分别由未优化前的 0.28920.2343 降低至 0.17700.1275 ,表明优化后的模型预测能力得到提高。GA-BP模型的预测精度高于BP模型,但模型训练时间较长,虽然BP模型的预测精度低于GA-BP模型,但其训练速度更快,操作简单,专业要求低。考虑到每种预测模型的时间成本分析,2种预测模型排序为BP > GA-BP;通过对RMSE和$ {R^2} $大小的分析,2种模型的预测精度排序为GA-BP > BP。因此,在允许足够时间成本的前提下,应优先采用GA-BP神经网络油耗模型。

表 3 主要评估指标对比 Tab.3 Comparison of key assessment indicators
4 结 语

本文提出一种基于遗传算法改进BP神经网络的船舶油耗预测方法,通过对采集到的液化石油气运输船的实船数据进行验证,取得了较好的预测性能。首先通过对船舶营运油耗数据进行预处理,确保模型输入数据的准确性和有效性;其次利用核主成分分析法对原始高维数据进行降维,减少模型训练的复杂度;最后采用遗传算法优化BP神经网络的结构和超参数,增强BP神经网络模型的预测精度和运行稳定性。实验结果表明,经过优化后的BP神经网络模型验证集中的均方根误差由0.1943降低至0.1275,决定系数提高1.58%,表明遗传算法在优化BP神经网络方面具有优势,可有效提升模型的预测准确性。

参考文献
[1]
MEPC, RESOLUTION. 2022 Guidelines for the development of a ship energy efficiency management plan (SEEMP)[Z]. 2022.
[2]
YUAN Z, LIU J X, ZHANG Q, et al. Prediction and optimisation of fuel consumption for inland ships considering real-time status and environmental factors[J]. Ocean Engineering, 2020, 221(12), 108530.
[3]
RAN Y, WANG S A, DU Y Q. Development of a two-stage ship fuel consumption prediction and reduction model for a dry bulk ship[J]. Transportation Research Part E: Logistics and Transportation Review, 2020, 138: 101930.
[4]
YAN X, SUN X, YIN, Q. Multiparameter sensitivity analysis of operational energy efficiency for inland river ships based on backpropagation neural network method[J]. Marine Technology Society Journal, 2015, 49(1): 148−153.
[5]
THANH L L, GUNWOO L, PARKK S, et al. Neural network-based fuel consumption estimation for container ships in Korea[J]. Maritime Policy & Management 2020, 47(5): 615−632.
[6]
HU Z H, JIN Y X, HU Q Y, et al. Prediction of fuel consumption for enroute ship based on machine learning[J]. IEEE Access, 2019(7): 119497−119505.
[7]
NGUYEN V, RAJAMOHAN S. Using artificial neural networks for predicting ship fuel consumption[J]. Polish Maritime Research, 2023, 23(2): 39−60.
[8]
孟忍, 董学平, 甘敏. 基于KPCA和BiLSTM的分解炉出口温度预测[J]. 合肥工业大学学报(自然科学版), 2023, 46(2): 169-174.
MENG R, DONG X P, GAN M. Temperature prediction of decomposition furnace outlet based on KPCA and BiLSTM[J]. Journal of Hefei University of Technology (Natural Science Edition), 2023, 46(2): 169-174.
[9]
张博峰. 基于KPCA与径向基神经网络的滚动轴承故障诊断[J]. 内燃机与配件, 2021(13): 133-135.
ZHANG B F. Rolling bearing fault diagnosis based on KPCA and radial basis neural network[J]. Internal Combustion Engines and Accessories, 2021(13): 133-135.
[10]
刘璐, 杨丹, 陈睿杰, 等. 基于KPCA-GA-BP神经网络的POI质量预测研究[J]. 电信科学, 2023, 39(1): 108-116.
LIU L, YANG D, CHEN R J, et al. Research on POI quality prediction based on KPCA-GA-BP neural network[J]. Telecommunication Science, 2023, 39(1): 108-116.
[11]
王雨涵, 张亚萌, 魏国亮. 基于BP神经网络和高阶模糊认知图的股票价格预测[J]. 智能计算机与应用, 2023, 13(8): 100-106+113.
WANG Y H, ZHANG Y M, WEI G L. Stock price prediction based on BP neural network and high-order fuzzy cognitive map[J]. Intelligent Computer and Applications, 2023, 13(8): 100-106+113.
[12]
陈亮, 沈良朵, 陆凡, 等. 基于主成分的BP神经网络共享单车骑行预测[J]. 网络安全技术与应用, 2023(7): 51-55.
CHEN L, SHEN L D, LU F, et al. Principal component-based BP neural network shared bicycle riding prediction[J]. Network Security Technology and Application, 2023(7): 51-55.
[13]
徐森雨, 田利军. 基于GA-BP神经网络的航空货运量预测[J]. 综合运输, 2023, 45(9): 75-79.
XU S Y, TIAN L J. Air cargo volume forecasting based on GA-BP neural network[J]. Comprehensive Transportation, 2023, 45(9): 75-79.
[14]
熊豪杰, 魏怡. 基于改进CNN-BP的多波束声纳高程数据预测研究[J]. 计算机科学, 2023, 50(S1): 575-578.
XIONG H J, WEI Y. Research on multibeam sonar elevation data prediction based on improved CNN-BP[J]. Computer Science, 2023, 50(S1): 575-578.
[15]
周兰喜, 王楠, 周旭. 基于营运数据的船舶能效分析及预测[J]. 船舶与海洋工程, 2024, 40(2): 34-38.
ZHOU L X, WANG N, ZHOU X. Analysis and prediction of ship energy efficiency based on operation data[J]. Ship and Ocean Engineering, 2024, 40(2): 34-38.
[16]
王凯, 徐浩, 黄连忠, 等. 基于机器学习的船舶能耗智能预测方法分析[J]. 船舶工程, 2020, 42(11): 87-93.
WANG K, XU H, HUANG L Z, et al. Analysis of intelligent prediction method of ship energy consumption based on machine learning[J]. Ship Engineering, 2020, 42(11): 87-93.
[17]
陈伟南, 黄连忠, 张勇, 等. 基于BP神经网络的船舶主机能效状态评估[J]. 中国舰船研究, 2018, 13(4): 127-133+160.
CHEN W N, HUANG L Z, ZHANG Y, et al. Energy efficiency state assessment of ship main engine based on BP neural network[J]. China Ship Research, 2018, 13(4): 127-133+160.
[18]
郑齐清, 陈佳鑫, 杨何伍. 基于PCA分析法的船舶主机能效评价[J]. 广州航海学院学报, 2023, 31(2): 41-46.
ZHENG Q Q, CHEN J X, YANG H W. Energy efficiency evaluation of ship main engine based on PCA analysis[J]. Journal of Guangzhou Nautical College, 2023, 31(2): 41-46.