鄭玉帆ZHENG Yu-fan;徐海文XU Hai-wen
(中國民用航空飛行學(xué)院,廣漢 618307)
隨著我國經(jīng)濟快速發(fā)展,空中交通運輸需求逐年增加,航班延誤問題越發(fā)突出。不準(zhǔn)確的航班延誤時間不僅會影響旅客出行體驗,還會給機場和管制部門運行造成不便。因此對航班延誤進(jìn)行有效預(yù)測,以提前制定應(yīng)對措施,減少航班延誤帶來的負(fù)面影響有著重要的研究意義和實際價值。
目前,國內(nèi)外學(xué)者已從不同角度對航班延誤進(jìn)行研究。李頻[1]為解決機場運行管理中航班延誤問題,建立了基于灰色理論的動態(tài)馬爾科夫預(yù)測模型對航班延誤進(jìn)行預(yù)測。吳仁彪等[2]對傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),提出雙通道卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)航班延誤預(yù)測。王語桐等[3]采用支持向量回歸和多元線性回歸相結(jié)合的方法建立組合預(yù)測模型,對機場的進(jìn)離港航班延誤架次和平均延誤時長進(jìn)行研究。李娟等[4]通過考慮延誤在空間和時間上的相關(guān)性,提出了一種基于時空長短期記憶神經(jīng)網(wǎng)絡(luò)的航班延誤預(yù)測模型。諶婧嬌[5]利用Spark 計算框架采用決策樹建立了模型,用于航班延誤預(yù)測分析。羅軍等[6]將ARIMA 模型與BP 神經(jīng)網(wǎng)絡(luò)結(jié)合,分別從最優(yōu)權(quán)重和殘差優(yōu)化角度對航班延誤進(jìn)行組合預(yù)測。這些方法均能較好地實現(xiàn)航班延誤預(yù)測。
但是,經(jīng)研究發(fā)現(xiàn)在航班延誤數(shù)據(jù)集中發(fā)生航班延誤數(shù)據(jù)占比較少,表明航班延誤數(shù)據(jù)本質(zhì)上為不平衡數(shù)據(jù)集。而數(shù)據(jù)集的不平衡性使得模型訓(xùn)練失衡,預(yù)測結(jié)果更傾向于數(shù)據(jù)占比較多的分類,導(dǎo)致預(yù)測效果不佳。因此,本文將針對航班延誤數(shù)據(jù)不平衡問題,利用SMOTE 算法緩解數(shù)據(jù)失衡造成的問題,提高分類器對不同類別的預(yù)測精度。繼而,基于平衡后的數(shù)據(jù)集采用深度神經(jīng)網(wǎng)絡(luò)構(gòu)建航班延誤預(yù)測模型,對航班延誤等級進(jìn)行預(yù)測和分析。
本文使用航班實際離開機場場面的時間作為衡量航班延誤的標(biāo)準(zhǔn)。給出航班延誤定義為航班實際離場時間Ts 晚于計劃離港時間Tp 與機場規(guī)定標(biāo)準(zhǔn)滑行時間Th 之和超過15 分鐘,即Ts-(Tp+Th)≥15,其中標(biāo)準(zhǔn)滑行時間Th 為30 分鐘[7]。為了進(jìn)一步詳細(xì)了解航班延誤程度,根據(jù)航班延誤的時間長短對航班延誤進(jìn)行等級劃分,如表1 所示。
表1 航班延誤等級劃分標(biāo)準(zhǔn)
其中,Td=Ts-(Tp+Th)。因此,本文處理的航班延誤數(shù)據(jù)為多分類數(shù)據(jù)類型。
為降低航班延誤預(yù)測數(shù)據(jù)不平衡性對模型精度的影響,本文利用過采樣技術(shù)平衡數(shù)據(jù),構(gòu)建基于SMOTE 算法的深度神經(jīng)網(wǎng)絡(luò)航班延誤預(yù)測模型(SMOTE-DNN)。該模型的計算流程如圖1 所示:首先對航班延誤等級中少數(shù)類樣本即一般延誤、中度延誤和重度延誤的樣本,利用SMOTE 算法合成新樣本,使得每個類別樣本數(shù)一致;接著劃分平衡后的數(shù)據(jù)集,將訓(xùn)練集帶入深度神經(jīng)網(wǎng)絡(luò)實現(xiàn)航班延誤等級預(yù)測模型的學(xué)習(xí);最后將測試集輸入深度神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測,并對預(yù)測結(jié)果進(jìn)行分析。
圖1 SMOTE-DNN 航班延誤預(yù)測流程圖
SMOTE-DNN 通過SMOTE 算法平衡數(shù)據(jù),以緩解失衡數(shù)據(jù)對模型的影響,提高后續(xù)分類器的精度。同時,模型采用深度神經(jīng)網(wǎng)絡(luò)作為分類器,使得模型保留了神經(jīng)網(wǎng)絡(luò)強大的學(xué)習(xí)能力可以挖掘出數(shù)據(jù)的內(nèi)在規(guī)律,進(jìn)一步保證航班延誤預(yù)測的預(yù)測精度。下面對模型中采用的SMOTE算法和深度神經(jīng)網(wǎng)絡(luò)進(jìn)行詳細(xì)說明。
SMOTE 算法是一種合成少數(shù)類樣本的過采樣方法,其基本思想是對少數(shù)類樣本分析并根據(jù)少數(shù)類樣本合成新的樣本添加到數(shù)據(jù)集中,從而有效緩解不平衡數(shù)據(jù)造成的問題。合成新樣本的步驟[8]為:首先,對于少數(shù)類樣本中的每個樣本xi,計算該點到其他樣本點的歐氏距離,得到k個近鄰樣本;接著,根據(jù)不平衡比例確定采樣倍率N,對每個少數(shù)類樣本xi的k 個近鄰樣本中隨機選擇N 個樣本,假設(shè)每次選擇的近鄰樣本為xold;最后,在原樣本xi和隨機選擇的樣本xold之間進(jìn)行隨機線性插值以合成新樣本,插值公式為:
其中,γ 表示在區(qū)間(0,1)內(nèi)的隨機數(shù)。
算法具體流程如表2。
表2 算法具體流程
深度神經(jīng)網(wǎng)絡(luò)又稱為多層感知機,深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖如圖2 所示,從圖中看出其網(wǎng)絡(luò)結(jié)構(gòu)由輸入層、隱藏層、輸出層組成。每層的神經(jīng)元之間通過全連接的方式連接,同層之間的神經(jīng)元不相連。神經(jīng)元的傳遞過程為[9]:將每個神經(jīng)元的輸出值dl-1與相對應(yīng)的權(quán)重Wl相乘后累加求和,并加上偏置bl傳遞至下一層與之相連的神經(jīng)元,然后經(jīng)過激活函數(shù)映射作為下一層神經(jīng)元的輸入值。此過程可由公式表示為:
圖2 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
本文采用的數(shù)據(jù)為2018 年1-8 月成都雙流機場的離港航班信息數(shù)據(jù)和氣象數(shù)據(jù),數(shù)據(jù)集共包含114496 條數(shù)據(jù),31 個特征項,其中包括航空公司、機型、航線類型、降落機場、溫度、濕度、風(fēng)向等。數(shù)據(jù)集中各類別所占比如圖3 所示,航班未發(fā)生延誤的數(shù)量占比最大,大約占全部數(shù)據(jù)的4/5。顯然該類數(shù)據(jù)為不平衡數(shù)據(jù)類型。
圖3 原始數(shù)據(jù)集中各延誤等級占比圖
為解決原始數(shù)據(jù)中的缺失項、異常項對預(yù)測精度的影響,進(jìn)行如下預(yù)處理[10]:①保留原始數(shù)據(jù)中所需航班信息項和氣象數(shù)據(jù)項,刪除其他無用數(shù)據(jù)項。②剔除航班取消的數(shù)據(jù)項。③將原始?xì)庀髷?shù)據(jù)中字符型數(shù)據(jù)進(jìn)行轉(zhuǎn)換,即存在此天氣現(xiàn)象置為1,否則置為0。④對航班信息數(shù)據(jù)中的離散數(shù)據(jù)進(jìn)行one-hot 編碼,轉(zhuǎn)換為二進(jìn)制字符型數(shù)據(jù)。⑤對原始數(shù)據(jù)中的數(shù)值型數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,即:,其中m、s 分別為數(shù)據(jù)的均值和標(biāo)準(zhǔn)差。
利用SMOTE 算法對原始數(shù)據(jù)進(jìn)行平衡處理,將少數(shù)類樣本合成新的樣本,使得各延誤等級數(shù)據(jù)量達(dá)到均衡,占比約為1∶1∶1∶1。經(jīng)平衡處理后的數(shù)據(jù)集共有383148 條數(shù)據(jù)。最后,將平衡后的數(shù)據(jù)帶入深度神經(jīng)網(wǎng)絡(luò)進(jìn)行航班延誤預(yù)測。
本文利用Keras 框架搭建深度神經(jīng)網(wǎng)絡(luò)實現(xiàn)航班延誤預(yù)測,其網(wǎng)絡(luò)結(jié)構(gòu)包含4 個全連接層即3 個隱藏層,在每一層后加入批標(biāo)準(zhǔn)化層和Dropout 層以防止過擬合。激活函數(shù)可以將神經(jīng)元經(jīng)非線性運算后傳遞至下一層,是深度神經(jīng)網(wǎng)絡(luò)中重要的組成部分之一,因此隱藏層的激活函數(shù)選擇Relu 函數(shù)。由于航班延誤等級預(yù)測本質(zhì)上是多分類問題,故選擇Softmax 函數(shù)作為輸出層激活函數(shù),損失函數(shù)選擇交叉熵信息函數(shù)。并將網(wǎng)絡(luò)迭代次數(shù)設(shè)為400 次。
本文選用精度、混淆矩陣作為評價航班延誤預(yù)測的指標(biāo),其中精度指的是航班延誤預(yù)測正確的數(shù)量與總航班量的比值;混淆矩陣可以直觀看出模型對各個類別的預(yù)測效果。將訓(xùn)練集中30%數(shù)據(jù)劃分為驗證集以監(jiān)測模型訓(xùn)練中是否發(fā)生過擬合,使模型擬合效果更好。
如圖4 所示為模型精度在訓(xùn)練集和驗證集中的變化曲線,隨著迭代次數(shù)增加,精度不斷提高最終穩(wěn)定至89%附近。最終在測試集中模型精度達(dá)到88.79%。
圖4 精度隨迭代次數(shù)變化圖
將深度神經(jīng)網(wǎng)絡(luò)(DNN)與基于SMOTE 算法的深度神經(jīng)網(wǎng)絡(luò)(SMOTE-DNN)航班延誤預(yù)測結(jié)果進(jìn)行可視化對比,如圖5 所示可以看出,深度神經(jīng)網(wǎng)絡(luò)僅在航班正常時即多數(shù)類樣本的預(yù)測精度較好。而結(jié)合SMOTE 算法后的深度神經(jīng)網(wǎng)絡(luò)模型各類別的預(yù)測精度更高,預(yù)測效果更好。表明對不平衡數(shù)據(jù)進(jìn)行平衡處理可以提高航班延誤預(yù)測效果。
圖5 混淆矩陣對比圖
為了提高航空延誤預(yù)測模型精度,本文針對航班延誤數(shù)據(jù)不平衡性的特點,提出了基于SMOTE 算法的深度神經(jīng)網(wǎng)絡(luò)航班延誤預(yù)測模型。該模型利用SMOTE 算法使得航班延誤各等級數(shù)據(jù)達(dá)到平衡,以減小不平衡數(shù)據(jù)對模型的影響,利用深度神經(jīng)網(wǎng)絡(luò)建立航班延誤預(yù)測模型,該方法能有效預(yù)測航班延誤。同時,本文依據(jù)真實的航班信息數(shù)據(jù)和氣象數(shù)據(jù)驗證了所提模型的有效性,并對訓(xùn)練過程和預(yù)測結(jié)果進(jìn)行分析。通過實驗結(jié)果表明,對失衡數(shù)據(jù)進(jìn)行平衡處理可以提高模型預(yù)測效果,本文模型在測試集中的預(yù)測精度達(dá)到88.79%,在各航班延誤等級的預(yù)測效果良好。