◆陳鏡羽
基于人工神經網絡的航班延誤預測
◆陳鏡羽
(天津大學管理與經濟學 天津 300072)
隨著空中交通規模的不斷擴大,航班延誤的概率和頻率節節攀升。但這給航空公司帶來巨額的不必要的開支。因此,如果能提前預測航班情況,使得航空公司能夠在保證天氣預報等先驗信息的準確性的情況下,合理安排航班起飛時間或者是否取消航班,就能給航空公司節省額外預算。因此,本篇文章分析可能導致航班延誤的因素,使用機器學習算法,基于人工神經網絡,將起飛機場天氣、到達機場天氣、航班里程、航空公司作為輸入量,航班延誤時長作為輸出量,進行航班延誤的預測。
人工神經網絡;航班延誤預測;模型
機場航班有一定的不確定性,航班延誤被定義為航班降落(航班實際到港擋輪擋)的時間晚于計劃到港時間超過15分鐘的情況,航班取消為因預計航班延誤而停止飛行計劃或因延誤而導致停止飛行計劃的情況[1]。航班延誤時有發生,原因可能為天氣變化、機場容量限制、機械故障等。而航空公司在航班延誤時通常需要向乘客賠償,給航司帶來額外的開支。并且,航班延誤通常會導致延誤傳播,即此航段的延誤導致同一飛機的下一航段的延誤,也可能導致同一時段其他飛機的延誤。民航局發布的民航局發布《2019年民航行業發展統計公報》顯示,2019年,全國客運航空公司共執行航班461.11萬班次,其中正常航班376.52萬班次,平均航班正常率為81.65%。若航空公司能使用特定程序預測航班延誤的概率,不僅能提高準點率,減少開支,更可以提高顧客滿意度,改善公司聲譽。
Sina Khanmohammadi[2]等人使用多級輸入層ANN來處理名義變量,并且可以看到不同輸入變量和輸出變量之間的關系。Bin Yu[3]等人使用DBN-SVR來挖掘航班延誤的潛在行為和機理。吳仁彪[4]等人提出一種基于Spark并融合氣象數據的并行化航班延誤預測模型。周潔敏[5]等人利用隨機森林特征選擇模型篩選 21 個重要特征,建立彈性神經網絡預測模型,預測航班落地延誤時間。謝華[6]等人采用基于航班延誤時間頻率分布劃分和基于單航班延誤時長劃分,兩種延誤等級劃分方式,使用BP神經網絡得到的預測結果的準確性大于85%,并得到前者預測結果優于后者的結論。吳薇薇[7]等構建基于航班串的貝葉斯網絡模型,通過加權馬爾科夫鏈模型預測航班延誤狀態,并優化航班計劃以提高航班計劃魯棒性。
本文基于真實的航班數據,分析可能導致航班延誤的因素,在處理數據后建立模型,預測航班延誤的時長。
為了每一次旅途的安全,每一個機場和航空公司均制定《運行規范》,機長嚴格遵照其中的著陸最低天氣標準和起飛最低天氣標準。因此,航班的起飛及降落很大程度上受天氣的影響,并是飛機延誤的主要因素之一。除此之外,由于飛機的調配、維修、補油、配餐等問題,不同的航空公司的航班延誤略有不同。將不同的天氣狀況如晴、大雨、雪等使用數字表示參數值,同理,也用數字表征不同的航空公司。此外,由于不同的航班具有不同的航班里程,航空公司在根據飛機性能、天氣指標做決策時也會參考航班里程,比如若飛行里程過長,目的地很有可能在到達時間內下雨,因此做出取消航班或者推遲起飛的決定。
使用Python從網站“攜程”“飛常準”爬取航班數據,航空公司(Airline,A)、起飛機場天氣(Departure Airport weather,DW)、降落機場天氣(Arrival Airport weather,AW)、飛行里程(Mileage,M)作為輸入參數,飛機延誤時長(Delay duration,DD)作為輸出參數。飛機飛機有一定概率提前起飛,此時航班起飛延誤時長和降落延誤時長均為負數,并且由于量綱存在很大差異,采用公式(1)標準化所有數據,以提高模型準確度。標準化后的特征值為:

其中X為每一種參數的最小值,X為每一種參數的最大值,為原始參數。
使用MATLAB R2019a 構建預測航班延誤的模型,未避免出現過擬合現象,僅使用兩個隱藏層。預測航班延誤的人工神經網絡模型由三層組成,包含4個神經元的輸入層,含有1個神經元的輸出層,以及1個隱藏層。根據莫哥洛夫定理,隱藏層神經元個數為:
=2+1 (2)
其中為輸入層神經元個數即輸入向量維度。此模型隱藏層神經元個數為9。
將數據劃分為三部分:訓練集、驗證集、測試集。為了模型的準確性,設置驗證集和測試集,并根據實驗結果調整特征選擇。一共有1123組數據,其中70%作為訓練集,15%作為驗證集,15%為測試集。
誤差逆傳播算法,即BP算法作為學習算法訓練多層網絡,目標為真實值與預測值差值最小。

其中αj表示輸出層第j個神經元的閾值,whj表示隱藏層第h個神經元與輸出層第j個神經元之間的權值,bh表示隱藏層第h個神經元的輸出,為隱藏層第h個神經元接收到的輸入,為輸出層第j個神經元接收到的輸入,vih為輸入層第i個神經元與隱藏層第h個神經元之間的權值,以達到累積誤差的最小值。當輸入層神經元接收到輸入信號時,將信號依次傳遞給輸出層神經元并逐步產生結果,計算輸出層的誤差后將誤差反向傳播給隱藏層神經元,根據隱藏層神經元的誤差調整權值和閾值,在達到最優結果之前,一直迭代重復此過程[8]。
將表1數據輸入模型并進行訓練,其中787組作為訓練集,168組作為驗證集,168組作為測試集。
表1 人工神經網絡訓練向量

使用平均相對誤差評估模型預測準確度,平均相對誤差為

計算得到平均相對誤差為0.0119,所得預測結果如圖2所示。

圖2 預測值與真實值對比
實驗結果顯示,平均相對誤差較小,圖像中真實值和預測值擬合程度較好,可以認為此方法具有較高的準確性,此模型可以用來預測航班延誤時長和飛機準點率。若將預測結果顯示在航空公司的程序中,乘客可以在旅程開始前根據數據實時做出規劃,避免因航班延誤或取消影響乘客的旅程。并且可以大幅降低航空公司的成本,提高航空運行效率。
[1]中華人民共和國交通運輸部.航班正常管理規定[Z].北京:中華人民共和國交通運輸部,2016.
[2]Sina Khanmohammadi,Salih Tutun,Yunus Kucuk. A New Multilevel Input Layer Artificial Neural Network for Predicting Flight Delays at JFK Airport[J]. Procedia Computer Science,2016,95.
[3]Bin Yu,Zhen Guo,Sobhan Asian,Huaizhu Wang,Gang Chen. Flight delay prediction for commercial air transport: A deep learning approach[J]. Transportation Research Part E,2019,125.
[4]吳仁彪,李佳怡,屈景怡.融合氣象數據的并行化航班延誤預測模型[J].信號處理,2018,34(05):505-512.
[5]周潔敏,戴美澤,盧朝陽,周凱.基于彈性神經網絡的航班延誤時間預測[J].航空計算技術,2019,49(05):12-16.
[6]謝華,李雨吟,胡明華,陳海燕.基于BP神經網絡的機場離港延誤等級預測[J].航空計算技術,2019,49(03):71-74.
[7]吳薇薇,孟亭婷,張皓瑜.基于機場延誤預測的航班計劃優化研究[J].交通運輸系統工程與信息,2016,16(06):189-195.
[8]周志華.機器學習[M],北京:清華大學出版社,2016.