耿 飛 金 雁
(武漢理工大學(xué)交通學(xué)院 武漢 430063)
升船機(jī)是三峽樞紐通航設(shè)施的組成部分之一.長航局在2016年開展了升船機(jī)通行船舶航行控制標(biāo)準(zhǔn)及升船機(jī)適應(yīng)船型尺度等相關(guān)研究,制定了《三峽升船機(jī)試通航工作方案》,進(jìn)行了兩次試通航試驗.由此制定了升船機(jī)通行船舶技術(shù)要求,確定了通過三峽升船機(jī)船舶的主尺度要求為:船舶總長≤105 m,船舶總寬≤16.8 m,船舶最大吃水≤2.65 m,船舶自水線以上高度≤18 m,船舶排水量≤3 000 t,船舶進(jìn)出升船機(jī)航速≤0.5 m/s.然而該技術(shù)要求主要是基于試驗結(jié)果得出的結(jié)論,并沒有進(jìn)行更多理論方面的探討.為了進(jìn)一步提升三峽升船機(jī)的社會經(jīng)濟(jì)綜合效益,挖掘目前及未來三峽樞紐的通航能力,本文做了兩項理論方面的研究:①通過相關(guān)性分析圖挖掘船型要素與通航時間的關(guān)聯(lián)關(guān)系,找出各個船型要素對通航時間影響程度,并對其原因進(jìn)行分析研究,得出適應(yīng)升船機(jī)的船型;②根據(jù)船舶的船長、船寬及吃水等船舶主尺度數(shù)據(jù)來預(yù)測其通過三峽升船機(jī)的通航時間,根據(jù)預(yù)測結(jié)果可以實時判斷是否讓該船舶通行.
近年來,一些學(xué)者將梯度提升機(jī)和決策樹結(jié)合起來,得到梯度提升決策樹(GBDT)算法,并應(yīng)用到預(yù)測領(lǐng)域[1-3].基于此,文中提出基于梯度提升決策樹的三峽升船機(jī)船舶通航時間預(yù)測模型,與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)和線性回歸等預(yù)測模型相比較,該模型具有較好的預(yù)測性能[4-5].
三峽升船機(jī)的運行流程分為船舶進(jìn)出廂和設(shè)備運行兩大流程,因此,升船機(jī)總歷時也主要由船舶進(jìn)出廂歷時和設(shè)備運行歷時兩部分所組成.
1) 船舶進(jìn)出廂流程 船舶進(jìn)廂:船舶接到進(jìn)廂指令(從靠船墩解纜(駛離靠船墩(進(jìn)入閘首、船廂(在船廂停泊妥當(dāng)、系纜完畢(報告集控室泊妥.正常情況下,該過程平均時間為22.8 min.船舶出廂:船舶接到出廂指令(從船廂解纜(駛出船廂及另一側(cè)閘首(駛出閘首(船尾駛過最遠(yuǎn)端靠船墩.該過程平均時間為11.25 min.
2) 設(shè)備運行流程 收到船舶在船廂內(nèi)泊妥報告(核驗并確認(rèn)具備解除對接條件(解除船廂對接(核驗并確認(rèn)具備上下行條件(船廂上行或下行(船廂對接(發(fā)出廂指令.該過程約30 min.
試通航指揮部組織進(jìn)行的三峽升船機(jī)完善工程復(fù)航后滿負(fù)荷運行及實船補(bǔ)充測試顯示,廂次平均歷時為66.11 min,設(shè)計每日工作時間為22 h,每天大約可以運行19.97廂次.結(jié)果可見,升船機(jī)日運行次數(shù)較少,主要是由于集裝箱船、商品車滾裝船等大型船舶過機(jī)時間較長.
根據(jù)三峽通航管理局提供的2016年9月—2017年12月所有通行升船機(jī)船舶基礎(chǔ)數(shù)據(jù),從中選取510個樣本數(shù)據(jù)進(jìn)行模型構(gòu)建.通航船舶數(shù)據(jù)片段見表1.
表1 通航船舶數(shù)據(jù)片段
統(tǒng)計表1中不同類型船舶過升船機(jī)總歷時中船舶平均進(jìn)出廂用時和設(shè)備平均運行用時,見表2.
表2 不同類型船舶通行升船機(jī)用時 單位:min
結(jié)合表1,2對通航數(shù)據(jù)初步分析可知:
1) 過機(jī)的設(shè)備運行平均用時與船型無關(guān),是一個固定值,約為30 min,故而可以主要考慮船舶進(jìn)出廂用時.
2) 從統(tǒng)計平均值可以看出,滾裝船、集裝箱船和貨船等大型船舶的船舶進(jìn)出廂用時明顯高于客船及其他小型船舶,猜測大的船舶尺度對船舶進(jìn)出廂用時存在較大影響.
由初步分析可知:用傳統(tǒng)數(shù)理統(tǒng)計方法繪制圖表對各種船型逐一分析較為困難,且難以得出船舶尺度與通航時間之間的關(guān)聯(lián).故而本文采用數(shù)據(jù)挖掘和數(shù)理統(tǒng)計方法,使用GBDT和相關(guān)性分析圖對數(shù)據(jù)進(jìn)行整體分析[6-7].從一個全新的角度對通航數(shù)據(jù)進(jìn)行整體統(tǒng)計和分析,力求找出船舶影響升船機(jī)運行時間的主要因素及其影響程度,根據(jù)船舶主尺度對船舶通航時間進(jìn)行預(yù)測,為管理部門制定提高升船機(jī)通行效率的管理辦法提供決策依據(jù).
該案例中相關(guān)性分析使用Rapidminer數(shù)據(jù)挖掘平臺來完成,利用其中相關(guān)性分析矩陣并應(yīng)用到船舶尺度樣本數(shù)據(jù)集.根據(jù)現(xiàn)有船舶主尺度如船長、船寬、吃水等計算出其他可能有關(guān)聯(lián)的船型要素如船長船寬比、型深吃水比等,利用相關(guān)性分析得出各船型要素間的關(guān)聯(lián)程度并用具體數(shù)值體現(xiàn)出來[8].分析結(jié)果是一張相關(guān)性分析圖,可得到所有屬性間的相互關(guān)聯(lián)度,將其中最重要的船型要素與通航總歷時的關(guān)聯(lián)關(guān)系制成關(guān)聯(lián)度分析表見表3.
表3 船型要素與通航時間關(guān)聯(lián)度分析表
船型要素是影響通航時間的重要因素,由表3可知,與船舶通航總歷時關(guān)聯(lián)度較大的船型要素有船長、船寬、排水量、廂體平面充滿率、廂體體積充滿率等.已知三峽升船機(jī)船廂有效平面尺度為120 m(長)×18 m(寬),其中,船廂上下游防撞鋼絲繩之間的長度為120 m,防撞鋼絲繩的保護(hù)裝置為破斷保護(hù)型,正常情況下不允許船舶碰撞.以下主要從碰撞角度對關(guān)聯(lián)系數(shù)較大的船型要素原因進(jìn)行分析.
1) 排水量、廂體平面、體積充滿率對船舶進(jìn)出廂用時影響 此三者均是衡量船舶大小的指標(biāo)歸為一類,由表3中關(guān)聯(lián)系數(shù)可知其對通航時間影響最大.根據(jù)從2016年9月至今升船機(jī)試運行和兩個階段的實船試驗的實際運行情況發(fā)現(xiàn):船舶越大,則慣性越大;低速情況下舵效、速度控制等操縱性能相對較差.
2) 船長對船舶進(jìn)出廂用時影響 為避免船舶碰撞,當(dāng)船舶在船廂內(nèi)停泊時,船艏艉與防撞鋼絲繩均應(yīng)保持5 m以上的安全距離.超過105 m船長船舶進(jìn)出升船機(jī)時,由于船舶進(jìn)廂時速度低于0.5 m/s,靠泊時速度更低,船舶低速狀態(tài)下很難精準(zhǔn)定位,當(dāng)船舶長度超過105 m接近110 m時,很難確保船舶靠泊后船艏或船艉距離防撞鋼絲繩都保持5 m安全距離.
3) 船寬對船舶進(jìn)出廂用時影響 觀察升船機(jī)的實船運行狀態(tài)發(fā)現(xiàn),17.0 m以上船寬較大的船舶進(jìn)出升船機(jī)時,由于上、下閘首工作大門止水座相對突出,易被進(jìn)出廂船舶撞損.如果閘首工作門止水座被撞變形將會導(dǎo)致漏水,升船機(jī)將無法正常運行.船舶寬度越大,撞擊止水座的機(jī)率越大,歷時越長.
4) 其他船型要素對船舶進(jìn)出廂用時影響 船舶主尺度比方面,與船舶通航總歷時關(guān)聯(lián)度由大到小排序為:型深吃水比(-0.357)>船長型深比(0.354)>船長船寬比(0.153)>船長吃水比(0.112)>船寬吃水比(0.039).通航時間影響最大的因素是型深吃水比,且關(guān)系系數(shù)為負(fù),說明該值越大,通航時間越短.其次是船長型深比,該值越大,通航時間越長.對通航時間影響最小的因素是船型,從相關(guān)性分析圖來看,船型與其他船舶主尺度特征關(guān)聯(lián)度均不大,說明在不考慮船舶主尺度情況下,船型這個單一因素對通航時間影響較小,并且作為數(shù)據(jù)集中唯一的標(biāo)稱屬性,單獨進(jìn)行分類研究效果較好.
為提高通航效率,在制定適應(yīng)升船機(jī)的船型標(biāo)準(zhǔn)時,應(yīng)減小船長型深比,增加型深吃水比.應(yīng)對大噸位船舶,如貨船、集裝箱船、商品車滾裝船等大型船舶加以限制,優(yōu)先通過公務(wù)船、一般干貨船、小型客船、普通客船等小型船舶,將有效提高三峽升船機(jī)運行效率.
GBDT是一種基于梯度提升框架的決策樹類算法,其基本原理就是在損失函數(shù)負(fù)梯度的方向上生成多棵弱回歸樹,然后再將這些樹組合在一起生成一棵強(qiáng)回歸樹,即最終的時間預(yù)測模型[9-11].
對于訓(xùn)練樣本集T={(X1,y1),(X2,y2),…,(XN,yN)},Xi∈χ?Rn,yi∈γ?R,訓(xùn)練樣本的總數(shù)為N,對于每個變量矩陣Xi,都含有z個變量(x1i,x2i,…,xzi),迭代次數(shù)設(shè)定為M,損失函數(shù)為L(y,f(x)).基于此,GBDT的核心步驟如下:
1) 模型初始化 尋找常數(shù)值c使損失函數(shù)L最小化.
(1)
g(x)為模型預(yù)測值,y為時間真實值,采用平方損失函數(shù),即
(2)
2) 進(jìn)入迭代過程 迭代總次數(shù)為M.對于i=1,2,…,N,利用最速下降法,搜索方向為模型的負(fù)梯度方向,逐步接近目標(biāo)值.求得損失函數(shù)L的負(fù)梯度為
(3)
3) 利用(Xi,rmi),i=1,2,…,N作為訓(xùn)練數(shù)據(jù),生成一顆弱回歸樹,獲得第m顆弱回歸樹的葉節(jié)點區(qū)域Rmj,j=1,2,…,J.其中:J為第m顆弱回歸樹的葉節(jié)點數(shù).采用線性搜索的方法找到在每個區(qū)域中使損失函數(shù)L最小的最佳常數(shù)值c為
(4)
4) 得到強(qiáng)回歸模型:
(5)
式中:I()為指示函數(shù);v為學(xué)習(xí)速率,當(dāng)Xi落入Rmj區(qū)域時,它的值就為1,區(qū)域外便為0.
5) 迭代過程結(jié)束后,根據(jù)式(6)得到最終的預(yù)測模型F(X)=fM(X).F(X)為最終的預(yù)測結(jié)果,其預(yù)測值為
F(X)=f0+f1(X)+f2(X)+…+fm(X)
(6)
式中:m為弱回歸樹數(shù)量;X為屬性向量;f0為模型初始值,每棵樹的預(yù)測值為fi(X),i=1,2,…,m.
本試驗數(shù)據(jù)處理流程主要包括特征屬性選擇,數(shù)據(jù)預(yù)處理,訓(xùn)練數(shù)據(jù)集,模型應(yīng)用結(jié)果展示等幾個部分.試驗所用升船機(jī)通航數(shù)據(jù)樣本為510個,無缺失數(shù)據(jù).除去10個異常值后訓(xùn)練樣本所占比例為80%,即400個樣本用來訓(xùn)練,剩余100個樣本用來測試訓(xùn)練好的預(yù)測模型.
GBDT算法模型參數(shù)設(shè)置如下:損失函數(shù)采用平方損失函數(shù),葉子節(jié)點深度為5,迭代次數(shù)100,學(xué)習(xí)速率為0.1,弱回歸樹的數(shù)量取20棵,采用平方誤差損失函數(shù).該模型輸入為各船舶主尺度及船型,具體包括船長、船寬、型深、吃水、排水量以及船型,輸出為船舶通航時間.
為探究GBDT模型在通航時間回歸預(yù)測時較其他模型的優(yōu)劣,采用人工神經(jīng)網(wǎng)絡(luò)中的BP(back propagation)算法及線性回歸(linear regression)算法來做對比試驗,將BP-NN與LR模型與其進(jìn)行對比分析,3種模型預(yù)測結(jié)果見表4,預(yù)測誤差比較見表5,預(yù)測曲線對比見圖1.此處通航時間為船舶進(jìn)出廂時間之和,不包括設(shè)備時間,以提升精度,方便比較.
表4 三種模型預(yù)測結(jié)果片段 單位:min
表5 三種模型誤差比較
圖1 三種模型預(yù)測結(jié)果對比圖
由圖1可知,GBDT模型的預(yù)測曲線與實際時間曲線吻合度極高.很大程度上是因為GBDT算法中,參與預(yù)測的屬性包括了船型這一特征.船型是一個標(biāo)稱屬性,在用BP-NN與LR算法進(jìn)行回歸預(yù)測時,數(shù)據(jù)特征一般都是數(shù)值屬性,而非標(biāo)稱屬性,因而除去了船型這一特征.而GBDT算法卻可以克服這一缺陷,靈活處理各種類型的數(shù)據(jù),包括連續(xù)值和離散值.該模型通過將GBM和決策樹相結(jié)合,在損失函數(shù)負(fù)梯度的方向上生成若干棵弱回歸樹,不斷更新預(yù)測結(jié)果,從而進(jìn)一步提高預(yù)測精度.其外,它還能有效地減小各特征之間關(guān)系互嵌、信息冗余對預(yù)測結(jié)果的負(fù)面影響,具有正確性和有效性.并且對異常值的魯棒性很強(qiáng),從而使預(yù)測精度顯著提高.
數(shù)理統(tǒng)計中均方根誤差,絕對誤差,相對誤差,平方誤差均是衡量誤差的指標(biāo),用來評價數(shù)據(jù)的變化程度,其值越小,說明預(yù)測模型精確度越高.而平方相關(guān)值,表示的是通過回歸關(guān)系,因變量的變化可以被自變量解釋的程度并用比例表示出來,比例越接近1則模型效果越佳.例如表5中,R2為0.849,意味著因變量84.9%的變化能夠使用該回歸模型解釋,換言之,在自變量不變的情況下,因變量的變化程度能夠降低84.9%.由表5可知,相比于BP-NN和LR兩種時間預(yù)測模型,GBDT模型各項統(tǒng)計指標(biāo)誤差值更小且平方相關(guān)度更高,對通航時間的預(yù)測精度顯著提高.因此,相比于傳統(tǒng)的BP-NN和LR預(yù)測模型,基于GBDT的通航時間預(yù)測模型具有更好的預(yù)測性能.
1) 對船舶通航時間與船型要素的關(guān)聯(lián)關(guān)系進(jìn)行的挖掘分析結(jié)果表明,船長過長、船寬過寬,船舶進(jìn)出升船機(jī)存在明顯的碰撞升船機(jī)設(shè)備現(xiàn)象,導(dǎo)致通航時間增加.在制定適應(yīng)升船機(jī)的船型標(biāo)準(zhǔn)時,應(yīng)減小船長型深比,增加型深吃水比.限制排水量、廂體平面、體積充滿率較大的船舶如集裝箱船、商品車滾裝船通行,多使公務(wù)船、普通客船等較小船型通行,可有效提高三峽升船機(jī)運行效率.
2) 基于GBDT的三峽升船機(jī)通航時間預(yù)測模型的算例結(jié)果分析表明,相比于傳統(tǒng)BP-NN和LR預(yù)測模型,該模型具備更優(yōu)良的預(yù)測性能.不僅可以靈活處理各種類型的數(shù)據(jù),包括數(shù)值屬性和標(biāo)稱屬性,還能有效地減小各特征之間關(guān)系互嵌、信息冗余對預(yù)測結(jié)果的負(fù)面影響,體現(xiàn)了該模型的正確性和有效性.對升船機(jī)船舶通航時間的預(yù)測使得通航管理部門能根據(jù)船舶尺度實時判斷是否使其通過,對通航歷時較久的船舶加以限制,提高了升船機(jī)運行效率.