陳 陸,吳 樺
(武漢郵電科學研究院,湖北 武漢 430074)
數據研究表明,國際對外貿易貨物運輸量的90%由水路運輸完成[1]。相對其他運輸方式,水路運輸單位耗能小、運輸量大、運輸距離遠、運輸成本低。因而隨著全球經濟的快速發展,海上運輸業發展迅速。
2020 年8 月4 日,國際海事組織(IMO)第四次溫室氣體研究(GHG4)報告已提交IMO 第75 屆海上環境保護委員會,正式向全球發布。研究顯示,2012~2018 年間,國際海運碳強度降低了約11%,但溫室氣體年排放量從9.77 億噸增加到10.76 億噸。預計到2050 年,隨著海運需求的不斷增長,二氧化碳排放量將比2018 年增長約50%,比2008 年增長約90%~130%。隨著全球經濟的發展,航運業也必將日益繁榮,隨之而來的環境污染問題也會日益加劇。另一方面,隨著對自然資源的逐漸開發利用,船舶所需的燃油價格呈現波動增長的趨勢,而船舶運營過程中,其燃料成本占據整個運營成本的50%~60%。可以看出,國際航運業面臨著巨大的節能減排的壓力。
為實現船舶節能減排的目的,需要充分理解船舶油耗的各種有效影響因子,并在綜合考慮這些因子的基礎上搭建合理的船舶油耗預測模型。該文基于上述理論將梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)應用到船舶油耗預測建模中。以某一遠洋船舶的實船監測數據為基礎,分析影響船舶油耗的因素,應用GBDT 算法結合訓練數據建立船舶油耗預測模型,并通過測試數據對油耗預測模型的可靠性進行驗證。該油耗預測模型的建立能為航行優化提供決策基礎,對實現船舶節能減排具有重要意義。
GBDT 是Friedman 于2001年提出的,一種廣泛用于分類、回歸和推薦系統中排序任務的機器學習算法[2]。GBDT 算法本質上是大量簡單模型的聯合,其核心在于,從第二棵決策樹開始,每棵決策樹的輸入為其之前所有決策樹的輸出總和,基于這種提升思想,多個決策樹的結論累加獲得最終的輸出。
在GBDT 中采用的決策樹是CART 回歸樹。由于CART 回歸樹既可以處理梯度值又可以處理連續值,所以不管是GBDT 回歸問題還是GBDT 分類問題所采用的決策樹都是CART 回歸樹。
在回歸樹算法中,最重要的步驟是找出最優的劃分點,而數據中所有特征的所有可能的取值都可以作為回歸樹的劃分點。在分類樹中是基于熵或基尼系數來選取劃分點,而在回歸樹中,樣本標簽是連續的,無法使用熵等指標作為劃分點選取的依據,因此將平方誤差作為選取依據,平方誤差能夠對擬合程度進行很好的評價。
CART 回歸樹構建過程:
1)輸入訓練數據集D,終止條件;
2)選取最佳切分變量j和切分點s,即選擇使式(1)最小的j和s的組合;

3)將選定的j和s用于區域劃分,并確定輸出值:
4)對劃分后的兩個子區域調用2)、3),直到滿足終止條件;
5)將輸入的訓練數據集劃分為M個區域,生成CART 回歸樹:

6)輸出CART 回歸樹f(x)。
在GBDT 的迭代過程中,假設第t-1 次迭代獲得的強學習器為ft-1(x),則損失函數為L(y,ft-1(x)),那么第t次迭代的目的是尋找一弱學習器ht(x),使第t次迭代的損失最小,即本輪迭代需要找到一個決策樹,使樣本的損失盡量變得更小。但是損失的擬合不好度量,損失函數的種類也較多,GBDT 選取了容易優化的平方損失作為損失函數。GBDT 中采用損失函數的負梯度來擬合當前迭代損失的近似值,從而擬合一個決策樹。
第t輪迭代中第i個樣本的損失函數的負梯度為:

GBDT 偽代碼:

現今的船舶油耗預測模型的建立方式主要有兩種:建立在已知物理關系基礎上和建立在數據統計分析基礎上。前者需要完整的船舶設計參數,例如船體線型圖、主機型號及參數、螺旋槳設計參數等[3];此外還需要大量實船實驗數據,例如靜水船模實驗、螺旋槳淌水實驗、實船航行數據等,分析過程復雜,模型建立難度較大,實用性差。后者只需要對影響船舶油耗的相關因素進行分析,以船舶運營過程的實測數據為基礎,結合數學模型得出合適的模型參數從而建立油耗預測模型[4]。通過這種方式建立的油耗預測模型不需經歷復雜的分析過程,模型建立難度較小,實用性好,能更加全面地考慮對船舶油耗產生影響的因素,且采用實測數據建立模型,所得模型的準確率較高[5-6]。因此該文基于實測數據結合GBDT 模型建立船舶油耗預測模型,模型框架如圖1 所示。

圖1 油耗預測模型框架
文中選取的研究對象為運營于中國大連港至巴西航線的一艘40 萬噸貨運遠洋船,其航線示意圖如圖2 所示,對象船單次航程所需時間為45~50 天。

圖2 船舶航線示意圖
油耗預測模型的基本框架如圖1 所示,模型的期望輸出為油耗,表1 所列為模型的各輸入特征,其中8 個特征為氣象數據,4 個特征為航向與氣象數據的組合特征,剩余2 個特征為可調節的主機轉速和與載貨量相關的船舶吃水[7-12]。

表1 油耗預測模型輸入特征
模型建立所用的數據為目標船安裝在船體各處的各類傳感器所返回實測數據,由于傳感器的類別不同,所返回數據的時間間隔也不同,出于模型建立的需要,將實測數據處理為時間間隔都為600 s 的數據,特征處理公式如下:

模型中所用到的氣象數據由氣象局所提供,數據格式為時間間隔為3 h,區域大小為間隔一經度間隔一緯度的分區域數據。因而在氣象數據的處理上需要進行時間和區間上的插值,氣象特征處理公式如下:

式(6)中,t1、t2分別為所提供氣象數據的時刻,即兩者之差為3 h,包含所需時間戳;xE、xW、xS、xN分別為包含目標位置點矩形區域的4 個頂點處的氣象值。
目標船所能用于進行模型訓練驗證的歷史航行數據有25 538 條,其中包含3 個完整的航次數據和5個短的航段數據,需要將數據劃分成3 個數據集:訓練數據集、驗證數據集、測試數據集,且測試集需為一條完整的航次數據,所以取一個完整的歷史航次數據作為測試數據集,該歷史航次數據集中包含數據5 433 條,剩余的20 105 條歷史航行數據按照4∶1的比例分別劃分為訓練數據集和驗證數據集。
上述模型訓練結果的精度衡量標準為模型輸出結果與實測數據的總計油耗絕對誤差百分比ω和總計油耗誤差百分比ε,計算公式如下:

式(7)、(8)中,yi為模型輸出油耗期望值,ci為模型輸出油耗實際值,M為樣本總個數。
在訓練數據集上,模型輸出數據與實測數據的對比如圖3 所示。從圖中可以看出,模型在訓練完成后,訓練樣本的油耗輸出數據與實測數據基本重合。這表明經過訓練后的模型能夠基本精確地表達輸入特征與輸出目標值之間的關系。圖4 是模型在測試數據集上的預測效果對比。從圖中可以看出,預測結果與實測數據的變化趨勢一致,說明所訓練出來的模型在測試數據集上表現效果良好。

圖3 訓練結果對比

圖4 測試結果對比
表2 中列出了模型在訓練數據、驗證數據和測試數據上的預測誤差。從表中數據可以看出,模型的總計油耗絕對誤差百分比均低于8.5%,滿足后續工程需要,且模型在訓練數據、驗證數據和測試數據上的誤差差距不大,表明模型不存在過擬合現象,模型泛化能力強。

表2 GBDT模型預測誤差
為體現GBDT 模型的優越性,分別基于決策樹模型和隨機森林模型建立油耗預測模型,對比基于3 種不同模型建立的油耗預測模型的預測效果。
依據圖1 中的油耗預測模型框架分別構建基于決策樹模型和隨機森林模型的油耗預測模型,保持模型建立過程的一致性。同時,使用相同的交叉驗證數據分組,避免訓練數據集、驗證數據集、測試數據集不同所帶來的差異,保證對比結果的可信度[13-16]。
圖5 為基于GBDT、RF、DT 所建立油耗預測模型的模型預測值與真實觀測值之間的對比,可以看出基于GBDT 建立的油耗預測模型的預測效果最佳,預測值的趨勢與真實值趨勢一致。

圖5 GBDT模型與決策樹、隨機森林模型預測效果對比
表3 為各模型預測性能指標的匯總。從表中可以看出,在測試數據集上GBDT 模型的表現效果最好,其次為隨機森林模型,且GBDT 在訓練數據集、驗證數據集、測試數據集上的預測誤差相差不大,變化幅度在正常范圍內說明GBDT 模型的泛化能力強于其他兩個模型。

表3 不同模型在油耗預測上的效果匯總
文中以某一遠洋船的實際運營數據作為基礎,結合GBDT 算法構建了單位時間內船舶油耗預測模型,依據實驗結果可得如下結論:
1)GBDT 算法能夠以實船監測數據為基礎構建單位時間內船舶油耗預測模型,由實驗結果得到,GBDT 模型可以比較精確地預測船舶油耗,且將誤差控制在6.98%以內,預測效果優于基于相同樣本建立的隨機森林模型和決策樹模型,可考慮作為進行后續船舶運行優化的基礎;
2)基于GBDT 建立的油耗預測模型在訓練數據集、驗證數據集、測試數據集上的表現效果差別不大,模型泛化能力良好;
3)文中模型的輸入變量大部分為氣象數據,后續需要對影響船舶油耗的因素作進一步分析,以期在合理的精度范圍內以最少的輸入變量數目構建船舶油耗預測模型。