陳 陸,吳 樺
(武漢郵電科學(xué)研究院,湖北 武漢 430074)
數(shù)據(jù)研究表明,國(guó)際對(duì)外貿(mào)易貨物運(yùn)輸量的90%由水路運(yùn)輸完成[1]。相對(duì)其他運(yùn)輸方式,水路運(yùn)輸單位耗能小、運(yùn)輸量大、運(yùn)輸距離遠(yuǎn)、運(yùn)輸成本低。因而隨著全球經(jīng)濟(jì)的快速發(fā)展,海上運(yùn)輸業(yè)發(fā)展迅速。
2020 年8 月4 日,國(guó)際海事組織(IMO)第四次溫室氣體研究(GHG4)報(bào)告已提交IMO 第75 屆海上環(huán)境保護(hù)委員會(huì),正式向全球發(fā)布。研究顯示,2012~2018 年間,國(guó)際海運(yùn)碳強(qiáng)度降低了約11%,但溫室氣體年排放量從9.77 億噸增加到10.76 億噸。預(yù)計(jì)到2050 年,隨著海運(yùn)需求的不斷增長(zhǎng),二氧化碳排放量將比2018 年增長(zhǎng)約50%,比2008 年增長(zhǎng)約90%~130%。隨著全球經(jīng)濟(jì)的發(fā)展,航運(yùn)業(yè)也必將日益繁榮,隨之而來(lái)的環(huán)境污染問(wèn)題也會(huì)日益加劇。另一方面,隨著對(duì)自然資源的逐漸開(kāi)發(fā)利用,船舶所需的燃油價(jià)格呈現(xiàn)波動(dòng)增長(zhǎng)的趨勢(shì),而船舶運(yùn)營(yíng)過(guò)程中,其燃料成本占據(jù)整個(gè)運(yùn)營(yíng)成本的50%~60%??梢钥闯?,國(guó)際航運(yùn)業(yè)面臨著巨大的節(jié)能減排的壓力。
為實(shí)現(xiàn)船舶節(jié)能減排的目的,需要充分理解船舶油耗的各種有效影響因子,并在綜合考慮這些因子的基礎(chǔ)上搭建合理的船舶油耗預(yù)測(cè)模型。該文基于上述理論將梯度提升決策樹(shù)(Gradient Boosting Decision Tree,GBDT)應(yīng)用到船舶油耗預(yù)測(cè)建模中。以某一遠(yuǎn)洋船舶的實(shí)船監(jiān)測(cè)數(shù)據(jù)為基礎(chǔ),分析影響船舶油耗的因素,應(yīng)用GBDT 算法結(jié)合訓(xùn)練數(shù)據(jù)建立船舶油耗預(yù)測(cè)模型,并通過(guò)測(cè)試數(shù)據(jù)對(duì)油耗預(yù)測(cè)模型的可靠性進(jìn)行驗(yàn)證。該油耗預(yù)測(cè)模型的建立能為航行優(yōu)化提供決策基礎(chǔ),對(duì)實(shí)現(xiàn)船舶節(jié)能減排具有重要意義。
GBDT 是Friedman 于2001年提出的,一種廣泛用于分類、回歸和推薦系統(tǒng)中排序任務(wù)的機(jī)器學(xué)習(xí)算法[2]。GBDT 算法本質(zhì)上是大量簡(jiǎn)單模型的聯(lián)合,其核心在于,從第二棵決策樹(shù)開(kāi)始,每棵決策樹(shù)的輸入為其之前所有決策樹(shù)的輸出總和,基于這種提升思想,多個(gè)決策樹(shù)的結(jié)論累加獲得最終的輸出。
在GBDT 中采用的決策樹(shù)是CART 回歸樹(shù)。由于CART 回歸樹(shù)既可以處理梯度值又可以處理連續(xù)值,所以不管是GBDT 回歸問(wèn)題還是GBDT 分類問(wèn)題所采用的決策樹(shù)都是CART 回歸樹(shù)。
在回歸樹(shù)算法中,最重要的步驟是找出最優(yōu)的劃分點(diǎn),而數(shù)據(jù)中所有特征的所有可能的取值都可以作為回歸樹(shù)的劃分點(diǎn)。在分類樹(shù)中是基于熵或基尼系數(shù)來(lái)選取劃分點(diǎn),而在回歸樹(shù)中,樣本標(biāo)簽是連續(xù)的,無(wú)法使用熵等指標(biāo)作為劃分點(diǎn)選取的依據(jù),因此將平方誤差作為選取依據(jù),平方誤差能夠?qū)M合程度進(jìn)行很好的評(píng)價(jià)。
CART 回歸樹(shù)構(gòu)建過(guò)程:
1)輸入訓(xùn)練數(shù)據(jù)集D,終止條件;
2)選取最佳切分變量j和切分點(diǎn)s,即選擇使式(1)最小的j和s的組合;
3)將選定的j和s用于區(qū)域劃分,并確定輸出值:
4)對(duì)劃分后的兩個(gè)子區(qū)域調(diào)用2)、3),直到滿足終止條件;
5)將輸入的訓(xùn)練數(shù)據(jù)集劃分為M個(gè)區(qū)域,生成CART 回歸樹(shù):
6)輸出CART 回歸樹(shù)f(x)。
在GBDT 的迭代過(guò)程中,假設(shè)第t-1 次迭代獲得的強(qiáng)學(xué)習(xí)器為ft-1(x),則損失函數(shù)為L(zhǎng)(y,ft-1(x)),那么第t次迭代的目的是尋找一弱學(xué)習(xí)器ht(x),使第t次迭代的損失最小,即本輪迭代需要找到一個(gè)決策樹(shù),使樣本的損失盡量變得更小。但是損失的擬合不好度量,損失函數(shù)的種類也較多,GBDT 選取了容易優(yōu)化的平方損失作為損失函數(shù)。GBDT 中采用損失函數(shù)的負(fù)梯度來(lái)擬合當(dāng)前迭代損失的近似值,從而擬合一個(gè)決策樹(shù)。
第t輪迭代中第i個(gè)樣本的損失函數(shù)的負(fù)梯度為:
GBDT 偽代碼:
現(xiàn)今的船舶油耗預(yù)測(cè)模型的建立方式主要有兩種:建立在已知物理關(guān)系基礎(chǔ)上和建立在數(shù)據(jù)統(tǒng)計(jì)分析基礎(chǔ)上。前者需要完整的船舶設(shè)計(jì)參數(shù),例如船體線型圖、主機(jī)型號(hào)及參數(shù)、螺旋槳設(shè)計(jì)參數(shù)等[3];此外還需要大量實(shí)船實(shí)驗(yàn)數(shù)據(jù),例如靜水船模實(shí)驗(yàn)、螺旋槳淌水實(shí)驗(yàn)、實(shí)船航行數(shù)據(jù)等,分析過(guò)程復(fù)雜,模型建立難度較大,實(shí)用性差。后者只需要對(duì)影響船舶油耗的相關(guān)因素進(jìn)行分析,以船舶運(yùn)營(yíng)過(guò)程的實(shí)測(cè)數(shù)據(jù)為基礎(chǔ),結(jié)合數(shù)學(xué)模型得出合適的模型參數(shù)從而建立油耗預(yù)測(cè)模型[4]。通過(guò)這種方式建立的油耗預(yù)測(cè)模型不需經(jīng)歷復(fù)雜的分析過(guò)程,模型建立難度較小,實(shí)用性好,能更加全面地考慮對(duì)船舶油耗產(chǎn)生影響的因素,且采用實(shí)測(cè)數(shù)據(jù)建立模型,所得模型的準(zhǔn)確率較高[5-6]。因此該文基于實(shí)測(cè)數(shù)據(jù)結(jié)合GBDT 模型建立船舶油耗預(yù)測(cè)模型,模型框架如圖1 所示。
圖1 油耗預(yù)測(cè)模型框架
文中選取的研究對(duì)象為運(yùn)營(yíng)于中國(guó)大連港至巴西航線的一艘40 萬(wàn)噸貨運(yùn)遠(yuǎn)洋船,其航線示意圖如圖2 所示,對(duì)象船單次航程所需時(shí)間為45~50 天。
圖2 船舶航線示意圖
油耗預(yù)測(cè)模型的基本框架如圖1 所示,模型的期望輸出為油耗,表1 所列為模型的各輸入特征,其中8 個(gè)特征為氣象數(shù)據(jù),4 個(gè)特征為航向與氣象數(shù)據(jù)的組合特征,剩余2 個(gè)特征為可調(diào)節(jié)的主機(jī)轉(zhuǎn)速和與載貨量相關(guān)的船舶吃水[7-12]。
表1 油耗預(yù)測(cè)模型輸入特征
模型建立所用的數(shù)據(jù)為目標(biāo)船安裝在船體各處的各類傳感器所返回實(shí)測(cè)數(shù)據(jù),由于傳感器的類別不同,所返回?cái)?shù)據(jù)的時(shí)間間隔也不同,出于模型建立的需要,將實(shí)測(cè)數(shù)據(jù)處理為時(shí)間間隔都為600 s 的數(shù)據(jù),特征處理公式如下:
模型中所用到的氣象數(shù)據(jù)由氣象局所提供,數(shù)據(jù)格式為時(shí)間間隔為3 h,區(qū)域大小為間隔一經(jīng)度間隔一緯度的分區(qū)域數(shù)據(jù)。因而在氣象數(shù)據(jù)的處理上需要進(jìn)行時(shí)間和區(qū)間上的插值,氣象特征處理公式如下:
式(6)中,t1、t2分別為所提供氣象數(shù)據(jù)的時(shí)刻,即兩者之差為3 h,包含所需時(shí)間戳;xE、xW、xS、xN分別為包含目標(biāo)位置點(diǎn)矩形區(qū)域的4 個(gè)頂點(diǎn)處的氣象值。
目標(biāo)船所能用于進(jìn)行模型訓(xùn)練驗(yàn)證的歷史航行數(shù)據(jù)有25 538 條,其中包含3 個(gè)完整的航次數(shù)據(jù)和5個(gè)短的航段數(shù)據(jù),需要將數(shù)據(jù)劃分成3 個(gè)數(shù)據(jù)集:訓(xùn)練數(shù)據(jù)集、驗(yàn)證數(shù)據(jù)集、測(cè)試數(shù)據(jù)集,且測(cè)試集需為一條完整的航次數(shù)據(jù),所以取一個(gè)完整的歷史航次數(shù)據(jù)作為測(cè)試數(shù)據(jù)集,該歷史航次數(shù)據(jù)集中包含數(shù)據(jù)5 433 條,剩余的20 105 條歷史航行數(shù)據(jù)按照4∶1的比例分別劃分為訓(xùn)練數(shù)據(jù)集和驗(yàn)證數(shù)據(jù)集。
上述模型訓(xùn)練結(jié)果的精度衡量標(biāo)準(zhǔn)為模型輸出結(jié)果與實(shí)測(cè)數(shù)據(jù)的總計(jì)油耗絕對(duì)誤差百分比ω和總計(jì)油耗誤差百分比ε,計(jì)算公式如下:
式(7)、(8)中,yi為模型輸出油耗期望值,ci為模型輸出油耗實(shí)際值,M為樣本總個(gè)數(shù)。
在訓(xùn)練數(shù)據(jù)集上,模型輸出數(shù)據(jù)與實(shí)測(cè)數(shù)據(jù)的對(duì)比如圖3 所示。從圖中可以看出,模型在訓(xùn)練完成后,訓(xùn)練樣本的油耗輸出數(shù)據(jù)與實(shí)測(cè)數(shù)據(jù)基本重合。這表明經(jīng)過(guò)訓(xùn)練后的模型能夠基本精確地表達(dá)輸入特征與輸出目標(biāo)值之間的關(guān)系。圖4 是模型在測(cè)試數(shù)據(jù)集上的預(yù)測(cè)效果對(duì)比。從圖中可以看出,預(yù)測(cè)結(jié)果與實(shí)測(cè)數(shù)據(jù)的變化趨勢(shì)一致,說(shuō)明所訓(xùn)練出來(lái)的模型在測(cè)試數(shù)據(jù)集上表現(xiàn)效果良好。
圖3 訓(xùn)練結(jié)果對(duì)比
圖4 測(cè)試結(jié)果對(duì)比
表2 中列出了模型在訓(xùn)練數(shù)據(jù)、驗(yàn)證數(shù)據(jù)和測(cè)試數(shù)據(jù)上的預(yù)測(cè)誤差。從表中數(shù)據(jù)可以看出,模型的總計(jì)油耗絕對(duì)誤差百分比均低于8.5%,滿足后續(xù)工程需要,且模型在訓(xùn)練數(shù)據(jù)、驗(yàn)證數(shù)據(jù)和測(cè)試數(shù)據(jù)上的誤差差距不大,表明模型不存在過(guò)擬合現(xiàn)象,模型泛化能力強(qiáng)。
表2 GBDT模型預(yù)測(cè)誤差
為體現(xiàn)GBDT 模型的優(yōu)越性,分別基于決策樹(shù)模型和隨機(jī)森林模型建立油耗預(yù)測(cè)模型,對(duì)比基于3 種不同模型建立的油耗預(yù)測(cè)模型的預(yù)測(cè)效果。
依據(jù)圖1 中的油耗預(yù)測(cè)模型框架分別構(gòu)建基于決策樹(shù)模型和隨機(jī)森林模型的油耗預(yù)測(cè)模型,保持模型建立過(guò)程的一致性。同時(shí),使用相同的交叉驗(yàn)證數(shù)據(jù)分組,避免訓(xùn)練數(shù)據(jù)集、驗(yàn)證數(shù)據(jù)集、測(cè)試數(shù)據(jù)集不同所帶來(lái)的差異,保證對(duì)比結(jié)果的可信度[13-16]。
圖5 為基于GBDT、RF、DT 所建立油耗預(yù)測(cè)模型的模型預(yù)測(cè)值與真實(shí)觀測(cè)值之間的對(duì)比,可以看出基于GBDT 建立的油耗預(yù)測(cè)模型的預(yù)測(cè)效果最佳,預(yù)測(cè)值的趨勢(shì)與真實(shí)值趨勢(shì)一致。
圖5 GBDT模型與決策樹(shù)、隨機(jī)森林模型預(yù)測(cè)效果對(duì)比
表3 為各模型預(yù)測(cè)性能指標(biāo)的匯總。從表中可以看出,在測(cè)試數(shù)據(jù)集上GBDT 模型的表現(xiàn)效果最好,其次為隨機(jī)森林模型,且GBDT 在訓(xùn)練數(shù)據(jù)集、驗(yàn)證數(shù)據(jù)集、測(cè)試數(shù)據(jù)集上的預(yù)測(cè)誤差相差不大,變化幅度在正常范圍內(nèi)說(shuō)明GBDT 模型的泛化能力強(qiáng)于其他兩個(gè)模型。
表3 不同模型在油耗預(yù)測(cè)上的效果匯總
文中以某一遠(yuǎn)洋船的實(shí)際運(yùn)營(yíng)數(shù)據(jù)作為基礎(chǔ),結(jié)合GBDT 算法構(gòu)建了單位時(shí)間內(nèi)船舶油耗預(yù)測(cè)模型,依據(jù)實(shí)驗(yàn)結(jié)果可得如下結(jié)論:
1)GBDT 算法能夠以實(shí)船監(jiān)測(cè)數(shù)據(jù)為基礎(chǔ)構(gòu)建單位時(shí)間內(nèi)船舶油耗預(yù)測(cè)模型,由實(shí)驗(yàn)結(jié)果得到,GBDT 模型可以比較精確地預(yù)測(cè)船舶油耗,且將誤差控制在6.98%以內(nèi),預(yù)測(cè)效果優(yōu)于基于相同樣本建立的隨機(jī)森林模型和決策樹(shù)模型,可考慮作為進(jìn)行后續(xù)船舶運(yùn)行優(yōu)化的基礎(chǔ);
2)基于GBDT 建立的油耗預(yù)測(cè)模型在訓(xùn)練數(shù)據(jù)集、驗(yàn)證數(shù)據(jù)集、測(cè)試數(shù)據(jù)集上的表現(xiàn)效果差別不大,模型泛化能力良好;
3)文中模型的輸入變量大部分為氣象數(shù)據(jù),后續(xù)需要對(duì)影響船舶油耗的因素作進(jìn)一步分析,以期在合理的精度范圍內(nèi)以最少的輸入變量數(shù)目構(gòu)建船舶油耗預(yù)測(cè)模型。