陳昱君, 孫樊榮, 沐瑤, 許學吉, 胡熾
(南京航空航天大學民航學院, 南京 211100)
2010年以來,隨著經(jīng)濟發(fā)展的不斷提升,我國的民用航空業(yè)也穩(wěn)健地快速發(fā)展。而民航快速發(fā)展帶來空中交通流量日益增多。與此同時機場容量、天氣狀況、空中交通管制情況、航空公司內(nèi)部原因等原因造成的航班延誤數(shù)量和時間也逐漸增加[1]。航班延誤的預測與控制已成了機場和航司為了提高效率與控制成本的主要研究目標。
數(shù)年來,國內(nèi)外專家致力于研究航班延誤的預測以及減少延誤等問題。大量的科研成果為航空公司和機場的日常運作提供了重要的指導作用,取得的效果明顯。國外航空事業(yè)的崛起和成長早于中國,在航班延誤問題上的研究也略微早于中國。在延誤的傳遞性發(fā)面,文獻[2-4]分析了在共用飛機資源的情況下,后續(xù)航班出發(fā)延誤與航班到達延誤之間的強相關性,并且證明了計劃過站時間能夠吸收到達延誤,但由于模型中涉及的考慮因素較少,又是在基于某種理想化的假設前提下,并不是特別適用于實際情況。在延誤的預測方面,文獻[5-7]通過構建航班延誤預測模型,發(fā)現(xiàn)影響延誤的因素主要包括時間、日期、天氣等,但存在預測的精度不夠高,考慮的影響因素比較片面,在實時動態(tài)條件的改變的情況下,模型并不能較好的適用的問題[5-7];劉博等[8]通過文獻綜述總結了用于解決飛行延遲預測問題的方法,描述了航班延誤研究方法的發(fā)展趨勢及未來研究方向。和國外對延誤展開的研究相比,中國對航班延誤方面的研究起步較晚。在延誤的傳遞方面,丁建立等[9]在文獻[1]基礎上,對延誤傳遞過程的研究選取了動態(tài)貝葉斯網(wǎng)絡。從分析結果中看出,位于上游的航班在有延誤的情況下,延誤發(fā)生與否,取決于飛機過站時間大小。在延誤預測方向,吳仁彪等[10]通過分析航班延誤在航空網(wǎng)絡內(nèi)產(chǎn)生的延誤波及現(xiàn)象,確定會受前序延誤航班影響的航班鏈,然后對選定的航班鏈數(shù)據(jù)進行清洗,將航班信息與機場信息進行數(shù)據(jù)融合和特征提取,提出一種基于CBAM-CondenseNet的航班延誤波及預測模型。
在影響延誤的因素方面,徐海文等[11]考慮了數(shù)據(jù)的時效對航班延誤預測時效的影響,提出一種基于時效信息的離場航班延誤預測模型;謝華等[12]采用時間序列特征對機場航班離港延誤時間進行預測,研究了氣象因素和少量管制因素對延誤的影響;李雨吟等[13]在丁建立等[9]的研究基礎上,采用時間序列關聯(lián)性衡量方法分析機場延誤時間特征,將持續(xù)可變的時間規(guī)整距離與發(fā)生延誤總時間及氣象因素結合,發(fā)現(xiàn)氣象因素對于機場延誤時間的長短有較大影響,但是忽略了其他方面的影響;續(xù)長青等[14]主要分析了雙流機場航班延誤時間隨能見度變化的規(guī)律,對不同能見度情況下的航班延誤時間做出預測;周潔敏等[15]建立彈性神經(jīng)網(wǎng)絡預測模型,探究了航班運行的常規(guī)數(shù)據(jù)集對延誤的影響。
綜合上述國內(nèi)外研究現(xiàn)狀,通過對比發(fā)現(xiàn)以上研究存在以下幾個問題:
(1)對影響航班延誤的因素考慮不夠全面。
(2)模型預測延誤的準確率還有待提高。
(3)研究存在局限性,只以時間閾值作為衡量指標。
針對國內(nèi)外在航班延誤方面研究的不足,本文中運用BP(back propagation)神經(jīng)網(wǎng)絡模型,并對其做出一定的優(yōu)化來解決預測精度不足以及研究因素不全面的問題,具體工作如下。
以浦東機場為背景,建立離港航班延誤時間預測模型。首先分析影響離場航空器延誤的因素,并分析其關聯(lián)性;考慮到使用數(shù)據(jù)結構的非線性特征,采用BP神經(jīng)網(wǎng)絡對離港航班延誤時長進行預測;并針對基本BP網(wǎng)絡全局收斂速度緩慢、易出現(xiàn)局部極小值等情況,對模型采用多種改進方法進行優(yōu)化,從而建立對離港航班延誤時間預測效果更佳的BP神經(jīng)網(wǎng)絡預測模型。其次構建基于支持向量機回歸的預測模型進行預測。最后以浦東機場2019年航班運行數(shù)據(jù)及2019年航空例行天氣報告(meteorological terminal aviation routine weather report, METAR)為實例研究對象,將優(yōu)化之后的BP神經(jīng)網(wǎng)絡預測模型與支持向量機預測模型的預測結果進行比較,選擇最優(yōu)預測模型。
通過對國內(nèi)外關于航班延誤研究情況的文獻綜述和航班離港的實際情況可知,影響離港航班延誤的主要因素有:地面風向、風速、主導能見度、天氣現(xiàn)象、云底高、云量、溫度、露點、修正海平面氣壓(query normal height, QNH)、航班所屬航空公司、目的地、起飛使用跑道、停機位、起飛航班所處航站樓、航班類型、滑行時間、推出時刻、推出序列、計劃離港時刻、實際起飛時間等。下面分析這20個影響因素與離港延誤時間的相關程度。
1.2.1 數(shù)據(jù)來源
本文數(shù)據(jù)來源于浦東機場統(tǒng)計的2019年1月8日—11月24日的各大航空公司173 193 條歷史離港航班信息,以及2019年浦東機場METAR報文。
1.2.2 METAR報文解析
結合航空氣象相關知識,對收集到的METAR報文進行解析,解析屬性包括:地面風向、風速、主導能見度、天氣現(xiàn)象、云底高、云量、溫度、露點、QNH。
具體的報文解析方法如下:
(1)METAR報文的發(fā)布時間間隔是30 min,在本研究采用每小時中整點小時數(shù)的METAR報文數(shù)據(jù)作為整個小時的天氣數(shù)據(jù)。
(2)根據(jù)METAR報文的具體格式,提取其中出現(xiàn)的地面風向、風速、主導能見度、溫度、露點、QNH的數(shù)值。例如,報文中的風向340°,風速3 m/s,能見度大于10 km(CAVOK),溫度4 ℃,露點-6 ℃,QNH 102 700 Pa,并將其對應為340,03,9 999,4,-6,1 027。
(3)依據(jù)METAR報文,提取具體的云底高、天空云量。其中,天空云量分為七種情況,依次是FEW(占1~2個八分量)、SCT(占3~4個八分量)、BKN(占5~7個八分量)、OVC(占8個八分量)、SKC(無云)、NSC(無云)、CAVOK(無云),依據(jù)專家經(jīng)驗建議,將其分為五個等級,分別是0:SKC/CAVOK,1:FEW,2:SCT,3:BKN,4:OVC;云底高采用報文中的具體數(shù)值乘以30(m)進行換算,其中CAVOK、SKC、NSC均采用1 500(m)作為云底高。
(4)提取METAR報文中出現(xiàn)的天氣現(xiàn)象,并對其進行語義的轉換。針對METAR報文中有關天氣現(xiàn)象的縮寫,可參考專家經(jīng)驗建議將其分為0~3四個等級,其中0級表示天氣狀況理想,無影響;1級表示暫存影響飛行的輕度天氣狀況;2級表示存在影響飛行的中度天氣狀況;3級表示存在影響飛行的惡劣天氣狀況。具體天氣狀況所對應的等級如表1所示。
1.2.3 歷史航班數(shù)據(jù)與METAR報文融合
將浦東機場2020年歷史航班數(shù)據(jù)中的航班計劃離港時刻,按照對應整小時的METAR報文時間,進行融合。以航班號CQH8843為例,其融合后的航班數(shù)據(jù)如表2所示。
表1 各天氣情況對應的等級Table 1 The level corresponding to each weather condition
表2 融合后的歷史航班數(shù)據(jù)Table 2 Historical flight data after fusion
表2中的航班基本數(shù)據(jù)還需進行語義的轉化。其中,所屬航司和目的地對應的多位大寫字母利用ONE-HOT編碼將其全部進行數(shù)字化;計劃離港時刻、實際離港時刻、推出時刻均轉化為12位純數(shù)字,前4位為年份,中間5、6位為月份,其次的7、8位為日期,最后4位為小時與分鐘;航班類型的轉化按照表2變?yōu)閷獢?shù)字;滑行時間和延誤時間取其單位前數(shù)字。
1.2.4 數(shù)據(jù)預處理
數(shù)據(jù)的預處理過程分為以下三步。
(1)缺失值處理:針對本文中使用的數(shù)值性質(zhì)的缺失值,采取該值在附近時間內(nèi)所有對象中的取值的平均數(shù)值來填充該丟失的屬性值;針對其他非數(shù)值性質(zhì)的缺失值,根據(jù)數(shù)理統(tǒng)計數(shù)學中的眾數(shù)原理,用該屬性在同一小時內(nèi)其他所有對象出現(xiàn)頻率最高的值來填補該缺失的屬性值。
(2)異常值處理:若該條數(shù)據(jù)中的異常值較多,則刪除該條含有異常值的數(shù)據(jù);若該條數(shù)據(jù)中的異常值較少,則將異常值視為缺失值,使用缺失值處理方法來處理。
(3)標準化處理:數(shù)據(jù)分析的結果會受不同因素間的量綱和單位影響,為了規(guī)避這種影響,在進行相關性分析和后期預測前需要對數(shù)據(jù)采取標準化(歸一化)處理。轉換函數(shù)為
(1)
2.1.1 神經(jīng)網(wǎng)絡基本原理
BP神經(jīng)網(wǎng)絡是一種按照誤差逆向傳播算法訓練的多層前饋神經(jīng)網(wǎng)絡,是目前應用最廣泛的神經(jīng)網(wǎng)絡[16]。其運行計算流程圖如圖1所示。
BP網(wǎng)絡的優(yōu)點體現(xiàn)在:①在解決非線性問題時具有卓越的映射能力;②具有卓越的自主學習以及自主適應能力;③具有卓越的容差能力。但其也存在以下缺點:①存留局部極小化問題;②網(wǎng)絡收斂速度慢;③預測能力和訓練能力的沖突,可能出現(xiàn)“過擬合”現(xiàn)象。
圖1 BP神經(jīng)網(wǎng)絡計算流程圖Fig.1 BP neural network calculation flowchart
2.1.2 神經(jīng)網(wǎng)絡結構優(yōu)化
對于2.1.1節(jié)中提到的BP神經(jīng)網(wǎng)絡現(xiàn)存的缺陷,國內(nèi)外學者也一直在探究各種優(yōu)化的措施,目前的研究主要集中在:①優(yōu)化網(wǎng)絡收斂速度怠慢的問題;②優(yōu)化出現(xiàn)局部極小點的情況。本節(jié)針對上述兩個問題提出兩種優(yōu)化方案。
(1)BP神經(jīng)網(wǎng)絡活化函數(shù)設計。為了使神經(jīng)網(wǎng)絡性能發(fā)生相應的改變,可以通過替換隱含層到輸出層的活化函數(shù)來實現(xiàn),常用的活化函數(shù)有:線性(飽和線性)活化函數(shù)、Sigmoid活化函數(shù)、徑向基活化函數(shù)、雙曲正切活化函數(shù)、閾值或階躍活化函數(shù)以及Gaussian活化函數(shù)等。
(2)基于AutoEncoder的BP算法優(yōu)化。自動編碼器(AutoEncoder)是依照人工神經(jīng)網(wǎng)絡(artificial neural network, ANN)具有特定層系結構這一特點,設定其輸出與輸入是一致的,然后用不帶標簽數(shù)據(jù)訓練從而整合網(wǎng)絡參數(shù)的方法。自動編碼器的一個重要應用是為輸入的影響因素得到低維的隱向量編碼,因此本文中采用自動編碼器對BP神經(jīng)網(wǎng)絡進行后續(xù)的優(yōu)化工作。考慮到變分自動編碼器(variational auto-encoder,VAE)通常被用來完成圖像生成任務,而降噪自動編碼器(denoising auto-encoder,DAE)的目的是利用編碼器的輸入元素得到一個容差模型,并且相較于變分自編碼器,模型結構的相對不復雜是降噪自編碼器的優(yōu)勢,獲得影響因素特征向量的時間較短。因此本文中選用降噪自動編碼器來進行基本BP網(wǎng)絡算法優(yōu)化。
基于DAE優(yōu)化的BP神經(jīng)網(wǎng)絡模型的具體結構如圖2所示。
圖2 DAE-BP模型結構Fig.2 DAE-BP model structure
2.1.3 DAE模型訓練
(2)
式(2)中:NN為經(jīng)DAE結構轉換的特征向量的映射。
延誤影響因素的降噪自動編碼器模型結構如圖3所示。
圖3 自動編碼器模型結構Fig.3 Automatic encoder model structure
(3)
f(x)=max(0,x)
(4)
(5)
式(5)中:z表示編碼器的輸入;W2表示編碼器的權重矩陣;b2表示偏移值。
損失函數(shù)為
(6)
在式(6)中添加正則化以規(guī)避模型中可能產(chǎn)生過度擬合的情況,完成更新之后的損失函數(shù)為
(7)
式(7)中:k為輸入數(shù)據(jù)時就已存在交叉的標志選擇;W為該網(wǎng)絡整體的權重矩陣;λ為正則參數(shù)則選取。DAE模型當中最優(yōu)參數(shù)值的選取依靠的是選用梯度下降算法。
2.1.4 特征向量生成
當完成上述DAE模型的訓練之后,對模型的結構再進行更改,更改后新的模型結構如圖4所示。
圖4 特征向量生成過程Fig.4 Feature vector generation process
將上述完成訓練后的DAE模型解碼器部分除去,將延誤影響因素的向量作為DAE編碼器的輸入,通過編碼器編碼過程,即可獲取全新的延誤影響因素的隱藏層特征向量。把該延誤影響因素的特征向量作為輸入,進行BP神經(jīng)網(wǎng)絡的訓練環(huán)節(jié)。經(jīng)過上述網(wǎng)絡權重參數(shù)的初始化過程后,即能處理隨機初始化參數(shù)導致的原BP網(wǎng)絡局部極小情況的缺點。
2.2.1 支持向量機原理
支持向量機(support vector machine, SVM)是一種基于統(tǒng)計訓練學習理論和凸優(yōu)化的機器學習方法,能完美地解決非線性以及局部極小點等情況。SVM中心思想是組建一個用以分類的決策超平面曲面,其中涉及的最優(yōu)分類函數(shù)為
(8)
式(8)中:i=1,2,…,n,n為Lagrange乘子,Lagrange的完整表示式為
(9)
(10)
式(10)中:xr和xs表示上述兩個類別中隨機一對支持向量。
非線性SVM經(jīng)過非線性轉換方法,用一個位于高維空間的新的線性問題去取代原本的非線性問題,即用轉化后的新空間內(nèi)積[φ(xi)φ(yj)]替代原先的空間內(nèi)積(xiyj)。將核函數(shù)采用K(xixj)=[φ(xi)φ(xj)]標記,其中求解最優(yōu)分類函數(shù)、Lagrange乘子為
(11)
(12)
采用的徑向基(RBF)核函數(shù)為
(13)
構造離港航班延誤預測模型的SVM算法結構如圖5所示。
圖5 SVM結構圖Fig.5 SVM structure diagram
使用2019年浦東機場的歷史航班數(shù)據(jù)和METAR報文作為實際算例;將1.2節(jié)解讀出的20個影響因素作為模型的輸入變量,結合2.1節(jié)和2.2節(jié)所提到的兩種算法,分別構建基于改進BP神經(jīng)網(wǎng)絡預測模型以及支持向量機預測模型;檢驗基于優(yōu)化后的BP模型和基于SVM模型對離港航班延誤時間預測的效果,并進行模型對比評價。
將1.2節(jié)得到20個影響因素作為輸入;以起飛延誤時間作為輸出;隱藏層1層,隱藏層節(jié)點數(shù)的選取可運用經(jīng)驗公式計算,即
(14)
式(14)中:j為隱藏層節(jié)點個數(shù);n1為輸入節(jié)點個數(shù),本文中n1=20,n2為輸出節(jié)點個數(shù),本文中n2=1,a取9,由此計算可得j=13。
在搭建神經(jīng)網(wǎng)絡結構后,使用2.1.2節(jié)中提到的兩種優(yōu)化方法對基本BP網(wǎng)絡進行設計,使其擁有更好的性能。
首先探討不同的活化函數(shù)排列組合對網(wǎng)絡性能影響。通過采用6種常見的活化函數(shù)(logsig、tansig、satlin、tribas、radbas、purelin函數(shù))的兩兩組合來進行設計,一共有36中組合,其對BP網(wǎng)絡性能的影響如圖6所示。
從圖6可以看出,在不同的活化函數(shù)的組合下,除了16、28、35組均方誤差(MSE)明顯變大之外,其余組的(MSE)的變化情況不明顯。因此,在除去這三組之后,著重比較訓練樣本相關度系數(shù)R和測試樣本R的大小。可以看出第2組的訓練樣本R=0.850 53最高,且測試樣本R=0.850 53也位居36組中的前列,因此采用第2組的活化函數(shù)組合,即選用tansig作隱藏層活化函數(shù),選用logsig作輸出層活化函數(shù)。
圖6 各活化函數(shù)組合下BP網(wǎng)絡的性能Fig.6 Performance of BP networks with each combination of activation functions
然后進行輸入特征重構,將運用降噪自編碼器,標記DAE-BP為DAE優(yōu)化的BP網(wǎng)絡。其中DAE模型使用2層多層感知器(multilayer perceptron, MLP)網(wǎng)絡作為編碼器與解碼器的神經(jīng)網(wǎng)絡。MLP1層神經(jīng)元數(shù)量設定20,MLP2(DAE隱藏層)層節(jié)點數(shù)量設定15,解碼器的MLP1層神經(jīng)元數(shù)量同樣設定20。加噪層的加噪比例設定為0.25。模型批量大小設定5 000,迭代層數(shù)設定50次。BP網(wǎng)絡結構為3層網(wǎng)絡,網(wǎng)絡參數(shù)設定為:影響因素的特征向量作為輸入;以起飛延誤時間作為輸出;隱藏層1層,隱藏層節(jié)點數(shù)為13;選用tansig作為隱藏層活化函數(shù),選用logsig作為輸出層活化函數(shù),選用列文伯格-馬夸爾特算法(Levenberg-Marquardt, LM)。
從圖7和圖8中可以得出DAE-BP模型訓練集R=0.974 38,測試集R=0.974 38,MSE=0.002 288 6,預測精密度有著明顯提高。
圖7 DAE-BP網(wǎng)絡對樣本的擬合程度Fig.7 Performance of BP networks with each combination of activation functions
圖8 DAE-BP網(wǎng)絡的訓練誤差曲線Fig.8 Training error curve of DAE-BP network
使用MATLAB 2016軟件里的libsvm-matlab工具箱與有關自主編代碼來構建支持向量機預測模型。將1.2節(jié)得到的20個影響因素作為輸入?yún)?shù);以起飛延誤時間作為輸出;核函數(shù)采用徑向基(radial basis function, RBF);選用libsvm工具箱進行網(wǎng)絡的訓練。隨機分類1.2.4節(jié)中預處理完成后的173 192條歷史航班數(shù)據(jù),其中80%的樣本歸入訓練集,20%的樣本歸入測試集。
RBF核函數(shù)可以實行非線性映射,但參數(shù)中的目標函數(shù)的懲戒因子c以及核函數(shù)參數(shù)值γ所選定的值的差異會改變最終判定情況的正確率。采取網(wǎng)格搜索法以及k折交叉驗證(k-fold cross validation,k-CV)的方法尋找來取得理想的判別正確率,以此規(guī)避過度擬合和欠缺擬合情況的發(fā)生。
在進行正式的訓練前,隨機抽取了1 000、5 000、10 000個樣本數(shù)據(jù)進行了算法測試,可以得出,在三次測試中不管是訓練集還是測試集的預測結果,MSE均小于0.05,R2均在0.96以上,可以看出這三次測試樣本均能取得較好的預測結果。
然后將17萬余條數(shù)據(jù)樣本全部放入SVM模型中進行訓練,訓練耗時120多個小時仍然未能完成,為了提高模型的訓練效率,將原先的17萬余條數(shù)據(jù)樣本改為隨機抽取5萬條數(shù)據(jù)樣本進行模型的訓練,耗時3.972 h完成訓練,最終得到如圖9所示的結果。從圖9中可以看出,不管是訓練樣本還是測試樣本MSE都為0.001 1、R2都為0.97,雖然較樣本數(shù)據(jù)10 000條時的性能略微有所下降,但整體仍處于十分理想的情況,可以說該預測模型能取得特別成功的結果。
圖9 基于SVM的最終預測結果Fig.9 Final prediction results based on SVM
由3.2節(jié)可知,SVM預測模型無法處理17萬余條數(shù)據(jù),所以將隨機抽取的5萬條數(shù)據(jù)輸入優(yōu)化的BP神經(jīng)網(wǎng)絡預測模型,對輸出結果進行性能的對比。
由表3可以看出兩種模型的預測性能都不相上下,能取得比較理想的預測效果。但是SVM預測模型無法預測體量太大的數(shù)據(jù),并且在相同體量的數(shù)據(jù)下,優(yōu)化后的BP神經(jīng)網(wǎng)絡預測模型性能略好于SVM預測模型,并且在預測時間上有絕對的優(yōu)勢。結
表3 BP神經(jīng)網(wǎng)絡和SVM預測性能對比Table 3 Comparison of BP neural network and SVM prediction performance
合民航數(shù)據(jù)體量大的特點和預測的時效性要求,基于優(yōu)化BP神經(jīng)網(wǎng)絡的離港航班延誤預測模型既能滿足預測精密度的要求,又能有更高效的訓練效率,具有更好的準確性和高效性。
為研究離港航班延誤時間預測的方法,首先對METAR報文進行了語義轉換,并將其與歷史航班數(shù)據(jù)相融合得到初始數(shù)據(jù);然后構建了基于BP神經(jīng)網(wǎng)絡和支持向量機的延誤時間預測模型,并對BP神經(jīng)網(wǎng)絡進行了優(yōu)化,得到精度更高的神經(jīng)網(wǎng)絡預測模型;最后對兩種模型的運行性能和預測精度進行了對比和評價,經(jīng)分析得出:基于優(yōu)化BP神經(jīng)網(wǎng)絡的離港航班延誤時間預測模型具有更高的精度和更高的運行效率,是一種高效的延誤預測方法。
本文研究的內(nèi)容還存在一定欠缺:樣本數(shù)據(jù)采集不夠充分;影響因素考慮不夠全面;模型未考慮延誤的傳遞。后續(xù)的研究可以考慮延誤傳遞的因素,在模型中加入前序航班延誤情況和過站時間,使模型更加完善。