葉仁道+黃靚瑩



【摘 要】 為獲取船舶停泊行為規律,以大連港、天津港、青島港、德國羅斯托克港、巴西桑托斯港和荷蘭格羅寧根港等全球六大港口水域為例,基于Hive數據倉庫和R語言平臺,利用網格化DBSCAN算法,提取船舶在各港口水域停泊點位置、面積等信息,進而基于停泊點可視化結果,驗證這六大港口實時可視化結果與基于歷史數據挖掘結果相符。研究成果有助于保障港口水域船舶安全通航,亦為船舶交通管理系統智能化奠定基礎,從而推動港口行業持續、健康發展。
【關鍵詞】 船舶自動識別系統(AIS);數據挖掘技術;Hive數據倉庫;網格化;空間密度聚類(DBSCAN)
0 引 言
港口作為海上交通樞紐及實現對外貿易往來的窗口,在促進地區經濟發展方面起著重要作用。在世界經濟全球化的今天,國際貿易量增長促進了港口行業的快速發展。在此背景下,加快港口水域船舶通航安全建設迫在眉睫,挖掘停泊點信息對于提高船舶安全通航至關重要。
借助數據挖掘技術和船舶自動識別系統(AIS),可對港口水域AIS數據進行深入數據挖掘,以獲取船舶停泊行為規律。在船舶通航安全研究方面,現有研究較多考慮船舶交通流特征來分析船舶通航規律[1-2],未考慮停泊點作為港口水域運輸樞紐在安全通航管理中的重要性。鑒于此,本文基于Hive數據倉庫和R語言平臺,結合港口水域船舶交通特征和網格化具有噪聲的空間密度聚類(DBSCAN)法,對大連港、天津港、青島港、德國羅斯托克港、巴西桑托斯港和荷蘭格羅寧根港等全球六大港口水域的停泊點位置、面積等信息進行數據挖掘,進而基于動態船舶地圖上的停泊點可視化,從停泊點面積、經緯度偏差兩個方面,對比這六大港口實時可視化停泊點位置與歷史數據挖掘結果比對,驗證本文研究方法的有效性、合理性。
1 六大港水域船舶交通情況
船舶停泊點包括港口和錨地,其中:港口是船舶安全往來的運輸樞紐,在國際貿易和運輸系統中發揮著重要作用;錨地是船舶停靠泊位前的候泊場所,其大小在一定程度上影響船舶通航安全。[3] 因此,本文以全球具代表性的大連港、天津港、青島港、德國羅斯托克港、巴西桑托斯港和荷蘭格羅寧根港等六大港為例,利用AIS數據,對港口水域船舶停泊點進行數據挖掘。六大港口水域經緯度范圍見表1,經緯度選取均在為提高數據利用率和算法運行效率,對六大港口水域AIS動態數據進行以下預處理:首先,從Hive數據倉庫中導出2015年1月1日―5月31日數據,利用R語言平臺進行數據清理,包括去除重復及異常數據;其次,基于船舶在停泊點附近具有船速趨于零的特征,篩選出船速等于零的AIS觀測數據。各港口水域船舶觀測量見表2,其中:天津港船舶觀測量最多,累計達26 661 494艘次;桑托斯港船舶觀測量最少,累計達1 952 459艘次。
2 船舶停泊點數據挖掘算法及步驟
基于網格化的劃分構造了一個全新的獨立數據空間,將大量原始數據點放進具有經緯度范圍屬性的網格單元中,從而減少聚類對象以及降低噪聲。DBSCAN算法可以過濾低密度區域,發現稠密度樣本區域,因此將網格劃分法與DBSCAN算法相結合,提出船舶停泊點數據挖掘的思路和方法。
利用Hive數據倉庫和R語言平臺,建立基于網格化的DBSCAN算法,從船舶停泊行為角度數據挖掘分析船舶交通行為,分析海上船舶停泊點,具體步驟如下:
步驟1:針對清理后的AIS數據,將經緯度進行網格化操作。選定港口水域經緯度范圍均為00*100個網格。
步驟2:統計每個網格內的船舶數、航行速度、船舶停泊時間等信息,其中,若一艘船舶在同一個網格內出現的天數為n,則記船舶數為n。
步驟3:設定網格單元船舶數閾值,對網格進行篩選。當網格內船舶數低于150艘時,不予保存。
步驟4:針對篩選后的網格,利用DBSCAN算法進行聚類,得到若干分類簇作為停泊點,密度聚類半徑參數設定為0.02,最小目標數為3。
步驟5:基于DBSCAN結果,統計各分類的位置信息和船舶信息,并將數據挖掘結果與動態船舶地圖上的停泊點參照位置(Marine Traffic網站港口標識位置)進行比對,驗證研究方法的正確性和有效性。
3 實證分析
3.1 國內三大港口停泊點數據挖掘結果
基于網格化DBSCAN算法,挖掘大連港、天津港、青島港國內三大港口水域的停泊點數據,分別挖掘出停泊點4個、5個和4個,詳情見表3。
驗證結果如下:
(1)大連港水域1~4號停泊點的面積分別為3.23 km2、56.70 km2、27.00 km2和54.40 km2,停泊點的船舶艘數分別為、、和,其中2號停泊點的面積和船舶艘數均為最大,1號停泊點的面積和船舶艘數均最小。通過比較停泊點的面積和停泊點的船舶艘數,認為運用DBSCAN算法所得的大連港停泊點面積大小與實際情況相符,進而將數據挖掘所得停泊點中心位置坐標與參照位置坐標進行對比,經度和緯度誤差均在1 km內,這證明大連港停泊點數據挖掘結果是合理的。
(2)天津港水域1~5號停泊點的面積分別為5.10 km2、208.00 km2、21.00 km2、36.00 km2和6.00 km2,停泊點的船舶艘數分別為、、、和562;青島港水域1~4號停泊點的面積分別為4.90 km2、117.00 km2、23.56 km2和11.20 km2,停泊點的船舶艘數分別為、、和。比較停泊點的面積和停泊點的船舶艘數,運用DBSCAN算法所得的天津港和青島港停泊點面積大小與實際情況同樣相符,進而比較中心位置坐標與參照位置坐標,經緯度誤差均在可接受范圍內,這證明天津港和青島港的停泊點數據挖掘結果同樣合理。
以動態船舶地圖將停泊點數據挖掘結果進行可視化,進一步驗證網格化DBSCAN結果的合理性。大連、天津、青島這三大港口停泊點可視化結果見圖1,從左至右分別為大連港、天津港、青島港,其中:紅色大矩形圈定本文研究水域范圍內的實時動態船舶地圖;紅色數字代表挖掘所得停泊點的中心位置;黃色標志代表港口所在位置;標志代表處于在航狀態的船舶,不同顏色對應不同類型船舶;菱形標志代表處于停泊狀態的船舶。endprint
基于歷史AIS數據挖掘所得停泊點(數字標識區域)基本上覆蓋大連、天津、青島這三大港口水域范圍的實際停泊點(菱形標志密集區域)。天津港停泊點可視化結果表明,2號停泊點的停靠船舶數最多且覆蓋面積最大,1號停泊點的停靠船舶數最少且覆蓋面積最小,這與表3分析結果完全一致;同理,大連港和青島港的停泊點可視化結果與表3分析結果同樣一致,這說明大連、天津、青島等國內三大港口水域停泊點的實時可視化結果與基于歷史AIS數據挖掘結果相符。
3.2 國外港口停泊點數據挖掘結果
選擇對德國羅斯托克港、巴西桑托斯港、荷蘭格羅寧根港等3個國外港水域進行停泊點數據挖掘分析,得出3個國外港口水域的停泊點分別是2個、1個和6個,詳情見表4。
驗證結果如下:
(1)羅斯托克港水域1號和2號停泊點的面積分別為52.38 km2和7.80 km2,停泊點的船舶艘數分別為和475,其中1號停泊點的面積和船舶艘數均大于2號。通過比較停泊點的面積和停泊點的船舶數,運用DBSCAN算法所得的羅斯托克港停泊點面積大小與實際情況相符,將數據挖掘所得的停泊點中心位置坐標與參照坐標進行對比,結果表明:1號停泊點的2個坐標非常接近,而2號停泊點的中心位置坐標與參照坐標之間存在偏差。出現偏差的原因一方面與網頁停泊點參考坐標信息的實時性相關,另一方面與該水域AIS船舶數據樣本量少且不完整有關。總體而言,羅斯托克港數據挖掘結果較為合理。
(2)桑托斯港水域數據挖掘得出1個停泊點,面積為69.70 km2,船舶數為艘;格羅寧根港水域1~6號停泊點面積分別為3.15 km2、23.20 km2、1.80 km2、2.09 km2、8.74 km2和24.00 km2,船舶艘數分別為、、668、、和。對比停泊點面積和船舶艘數,運用DBSCAN算法所得的格羅寧根港停泊點面積大小與實際情況相符,將數據挖掘所得停泊點中心位置坐標與參照坐標進行對比,結果表明經緯度誤差均在1 km內――桑托斯港和格羅寧根港停泊點數據挖掘結果同樣合理。
對停泊點數據挖掘結果進行可視化,這3個港口停泊點可視化結果見圖2(從左至右分別為羅斯托克港、桑托港、格羅寧根港)。類比國內港口停泊點可視化分析過程,得到如下結論:這3個國外港口水域停泊點的實時可視化結果與基于歷史AIS數據挖掘的結果一致。
參考文獻:
[1] 潘家財,邵哲平,姜青山.數據挖掘在海上交通特征分析中的應用研究[J].中國航海,2010(2):60-62.
[2] 朱飛祥,張英俊,高宗江.基于數據挖掘的船舶行為研究[J].中國航海,2012,(2):50-54.
[3] 郭曉清,黃建設.廈門港與我國主要港口競爭力的比較分析[J].中國航海,2015(4):121-124.endprint