李曉霞,吳薇薇,韓 東,石鈺婷
(南京航空航天大學(xué) 民航學(xué)院, 南京 211106)
隨著我國航空出行需求的持續(xù)增長,航班數(shù)量不斷增加,航班延誤現(xiàn)象也越來越嚴(yán)重.航班延誤的出現(xiàn)不僅影響乘客的出行,還對社會資源造成巨大的浪費(fèi)[1].由于到達(dá)延誤很大程度上是由起飛機(jī)場的離港延誤而產(chǎn)生,本文重點(diǎn)研究離港延誤的問題.如果在已知過站航班運(yùn)行的外部壓力(如天氣,飛機(jī)排隊(duì)架次等)的情況下,可對航班的離港延誤進(jìn)行預(yù)測.預(yù)測結(jié)果可以給相關(guān)部門預(yù)警,提前做好應(yīng)對措施,以提高旅客滿意度.
國內(nèi)外有許多學(xué)者對航班延誤的預(yù)測進(jìn)行過大量研究,針對該問題用到的方法也很多.如文獻(xiàn)[2-4]均為基于貝葉斯網(wǎng)絡(luò)對航班延誤進(jìn)行預(yù)測.文獻(xiàn)[5-6]均采用支持向量機(jī)回歸方法建立航班到港延誤預(yù)測模型.此外,還有使用決策樹,神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)算法進(jìn)行預(yù)測的.如程華[7]等對比了現(xiàn)有的貝葉斯網(wǎng)絡(luò)和樸素貝葉斯方法,結(jié)合航班數(shù)據(jù)特點(diǎn)構(gòu)建了基于C4.5決策樹的航班延誤模型.Sina Khanmohammadip等[8]對航班進(jìn)行二進(jìn)制編碼后再輸入神經(jīng)網(wǎng)絡(luò),并對肯尼迪機(jī)場的數(shù)據(jù)進(jìn)行了研究.Yao R等[9]設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)航班延誤智能預(yù)測的可視化平臺,將多種航班延誤智能預(yù)測算法封裝在Web服務(wù)中.羅鳳娥等[10]運(yùn)用層次分析法描述以不同指標(biāo)為評判標(biāo)準(zhǔn)下的航班延誤狀態(tài),構(gòu)建航班延誤的預(yù)警指標(biāo)體系.Bin Yu等[11]提出一種實(shí)用的航班延誤預(yù)測模型,采用深度信念網(wǎng)絡(luò)方法挖掘航班延誤的內(nèi)在模式,建立支持向量回歸嵌入模型.但是以上研究均沒有考慮機(jī)場的運(yùn)行環(huán)境對延誤的影響.Belcastro L[12]等研究了天氣條件導(dǎo)致的航班到港延遲,并進(jìn)行了預(yù)測,但是沒有對離港延誤進(jìn)行預(yù)測.吳仁彪等[13]提出了一種基于雙通道卷積神經(jīng)網(wǎng)絡(luò)的航班延誤預(yù)測模型,模型加入了天氣變量.
盡管在航班延誤研究方面已有大量的研究成果,但是仍然存在以下不足:1)已有研究較少考慮機(jī)場實(shí)際運(yùn)行環(huán)境; 2)傳統(tǒng)貝葉斯分類器采用等距劃分的方法對變量進(jìn)行劃分,不能較好反映出航班運(yùn)行的差異;3)對離港延誤預(yù)測的探究并不深入、徹底,研究比較少.
基于此,本文將研究重點(diǎn)放在離港延誤,考慮機(jī)場的實(shí)際運(yùn)行環(huán)境,包括天氣和計(jì)劃時(shí)刻排隊(duì)架次.利用K-means聚類方法對變量數(shù)據(jù)進(jìn)行劃分,并建立基于貝葉斯的離港延誤預(yù)測模型,預(yù)測航班離港延誤時(shí)間,并得到各個(gè)延誤的等級和概率,最后用測試數(shù)據(jù)對預(yù)測模型的準(zhǔn)確性進(jìn)行了對比分析.本文所用平臺為R平臺,版本為R-3.2.5,操作系統(tǒng)為Windows 10 professionalx64,處理器為Intel(R) Core(TM) i5-7300HQ CPU@2.50GHz,內(nèi)存8GB.
研究采用的數(shù)據(jù)是2017年5月份某航空公司在其基地機(jī)場的出港數(shù)據(jù),選取85%數(shù)據(jù)作為測試集,15%的數(shù)據(jù)作為訓(xùn)練集.為了能夠更加有效的找到影響航班離港延誤的變量,需要對原始數(shù)據(jù)進(jìn)行降維處理,刪除一些無關(guān)的變量.由于影響航班離港延誤的影響因素已經(jīng)有了大量研究,結(jié)合現(xiàn)有的航班數(shù)據(jù),直接選取相關(guān)變量進(jìn)行處理.所用到的變量及其定義如下:
1)“計(jì)劃時(shí)刻天氣狀態(tài)” (WEATHER):指航班運(yùn)行時(shí)刻的機(jī)場天氣狀態(tài),根據(jù)天氣報(bào)文和航空公司運(yùn)控中心的天氣分類標(biāo)準(zhǔn),將機(jī)場天氣分為四類:明顯天氣狀態(tài)(雷暴,大霧,暴雪等),一般天氣狀態(tài)(雨天,輕度霧天等),輕微天氣狀態(tài)(小雨,路面結(jié)冰等),無天氣狀態(tài)(晴天等).
2) “計(jì)劃時(shí)刻排隊(duì)架次” (PD_PLAN): 指航班申請推出時(shí)跑道上計(jì)劃的排隊(duì)架次數(shù).如果跑道上排隊(duì)架次較多,空管將會拒絕航班的推出請求.
3) “上站延誤時(shí)間” (SZ_DELAY):指前序航班實(shí)際到港時(shí)間與計(jì)劃到港時(shí)間的差值,不取負(fù)值,如果前序航班提前到港,“上站延誤時(shí)間”記為0.
4) “計(jì)劃過站時(shí)間” (GZ_PLAN): 指航空公司給每一個(gè)航班預(yù)留的過站時(shí)間.
5)“離港延誤時(shí)間” (DE_DELAY):實(shí)際離港時(shí)間與計(jì)劃離港時(shí)間之間的差值,不取負(fù)值,如果航班早于計(jì)劃離港時(shí)間離港,“離港延誤時(shí)間”記為0,即不延誤.
上述5個(gè)變量中前4個(gè)是自變量,其中,“計(jì)劃時(shí)刻天氣狀態(tài)” (WEATHER)和“計(jì)劃時(shí)刻排隊(duì)架次” (PD_PLAN)反映了機(jī)場的運(yùn)行環(huán)境,因變量為航班的離港延誤時(shí)間(DE_DELAY).根據(jù)民航航班正常統(tǒng)計(jì)辦法規(guī)定,在計(jì)算航班延誤時(shí)間時(shí)需要考慮是否超過15 min[14].所以在處理數(shù)據(jù)時(shí),離港延誤時(shí)間在15 min以內(nèi)的航班記為不延誤.預(yù)測目標(biāo)是離港延誤時(shí)間,為了提高預(yù)測的精度,需要把離港延誤時(shí)間劃分成5個(gè)不同的區(qū)間,如表1所示.
表1 離港航班延誤等級分類
研究僅選用了過站航班,不包括備降航班和取消航班.此外剔除存在空值的數(shù)據(jù),得到清洗過的數(shù)據(jù),構(gòu)成新的數(shù)據(jù)集,該數(shù)據(jù)集包含5個(gè)變量,4 495條記錄,其中“計(jì)劃時(shí)刻天氣狀態(tài)”和“離港延誤時(shí)間”這兩個(gè)變量已經(jīng)按照一定的標(biāo)準(zhǔn)進(jìn)行劃分,所以實(shí)驗(yàn)過程中對其余3個(gè)變量分別進(jìn)行K-means聚類.
聚類分析是一種數(shù)據(jù)簡化技術(shù),旨在揭露一個(gè)數(shù)據(jù)集相似程度較高的子集.它可以把大量的觀測值歸約為若干個(gè)類,即若干個(gè)觀測值組成的群組,群組內(nèi)觀測值的相似度比群間相似度高.常用的聚類方法有層次聚類和劃分聚類.由于劃分聚類能處理比層次聚類更大的數(shù)據(jù)集,本文利用劃分聚類中的K均值聚類.借助R語言Nbcluster包中的Nbcluster函數(shù)對數(shù)據(jù)集進(jìn)行聚類.流程如下:
Step 1 對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,避免量綱不同造成的誤差;
Step 2確定最佳聚類個(gè)數(shù);
Step 3 根據(jù)Step 2得到的最佳聚類個(gè)數(shù),對數(shù)據(jù)集進(jìn)行K-means聚類,系統(tǒng)嘗試多種初始配置并輸出最佳結(jié)果;
Step 4輸出原始數(shù)據(jù)中每一類的變量的均值.
采用K均值聚類方法按照以上步驟對航班實(shí)際運(yùn)行數(shù)據(jù)進(jìn)行聚類分析,結(jié)果如表2所示.
表2 聚類結(jié)果
表格中的數(shù)值表示的是每一類的中心值,聚類的結(jié)果作為數(shù)據(jù)離散的依據(jù),以每一類的中心作為劃分區(qū)間的邊界值,將每一個(gè)變量都分成6類.以“計(jì)劃時(shí)刻排隊(duì)架次” (PD_PLAN)為例,可以將該變量的數(shù)據(jù)劃分到6個(gè)區(qū)間,分別為(-∞,1],(1,9], (9,17], (17,36],(36,71],(71,+∞),分別給每一個(gè)區(qū)間加上標(biāo)簽,依次標(biāo)記為pd1,pd2,……,pd6 .依此類推將剩下的幾個(gè)變量也劃分不同區(qū)間,并進(jìn)行標(biāo)記.
貝葉斯網(wǎng)絡(luò)使用有向非環(huán)圖來表征屬性之間的依賴關(guān)系,并使用條件概率表來描述屬性的連接概率[15].一個(gè)貝葉斯網(wǎng)B由結(jié)構(gòu)S和參數(shù)X兩部分構(gòu)成,即B=.網(wǎng)絡(luò)結(jié)構(gòu)S是一個(gè)有向無環(huán)圖,圖中的每個(gè)結(jié)點(diǎn)對應(yīng)于一個(gè)屬性,用邊將兩個(gè)直接聯(lián)系的屬性連接起來.參數(shù)X定量描述這種連接關(guān)系,假設(shè)屬性xi在網(wǎng)絡(luò)結(jié)構(gòu)S中的父節(jié)點(diǎn)集合為πi,則X包含了每個(gè)屬性的條件概率表為Xxi|πi=PB(xi|πi).
已知網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),確定網(wǎng)絡(luò)參數(shù)的過程被稱為參數(shù)學(xué)習(xí).由于研究采用的數(shù)據(jù)進(jìn)行了預(yù)處理,沒有空缺值,因此不會出現(xiàn)數(shù)據(jù)缺失、遺漏的現(xiàn)象,而極大似然估計(jì)(Maximum Likelihood Estimation,MLE)法多應(yīng)用于完備數(shù)據(jù)集,因此采用MLE法對樣本進(jìn)行參數(shù)學(xué)習(xí).借助R語言中的“Bnlearn”包,完成對貝葉斯網(wǎng)絡(luò)建模和參數(shù)估計(jì).圖1為訓(xùn)練得到的貝葉斯網(wǎng)絡(luò)拓?fù)鋱D.
圖1 貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)圖
在R平臺上,實(shí)現(xiàn)貝葉斯網(wǎng)絡(luò)的搭建和參數(shù)學(xué)習(xí),然后使用訓(xùn)練完成的貝葉斯模型對真實(shí)數(shù)據(jù)進(jìn)行推斷.可以實(shí)現(xiàn)查詢某一類情景下航班離港延誤的時(shí)間區(qū)間的對應(yīng)概率,如:航班信息為["pd1","gz3","sz1","無天氣"],即該航班離港時(shí)的排隊(duì)架次數(shù)屬于第1區(qū)間,該航班的計(jì)劃過站時(shí)間處于第3區(qū)間,上站延誤時(shí)間處于第1區(qū)間,機(jī)場的天氣為“無天氣條件”.運(yùn)用訓(xùn)練好的模型對航班發(fā)生延誤的概率和等級進(jìn)行預(yù)測,得到該情景下航班的延誤區(qū)間和各個(gè)區(qū)間的概率(見表3).
表3 單條離港航班數(shù)據(jù)預(yù)測結(jié)果
表3中航班的延誤等級和概率的預(yù)測結(jié)果表明,處于第一個(gè)延誤區(qū)間“LG1”的概率是0.831,處于“LG2”的概率約0.164 ,延誤時(shí)間處于“LG1”的概率最大,所以該航班的預(yù)測延誤等級為“LG1”.根據(jù)前文對航班延誤時(shí)間的分級,“LG1”指延誤時(shí)間小于0,因此該條航班大概率不會發(fā)生延誤.而該航班的的實(shí)際情況為未發(fā)生延誤,所以該條數(shù)據(jù)預(yù)測準(zhǔn)確.應(yīng)用該方法,可以實(shí)現(xiàn)所有航班的延誤時(shí)間、等級和概率的計(jì)算和預(yù)測.
混淆矩陣(confusion matrix)是人工智能中的一種可視化工具,特別用于監(jiān)督學(xué)習(xí),可以形象化的展示評價(jià)分類模型的好壞.通過構(gòu)建混淆矩陣來計(jì)算準(zhǔn)確率.具體計(jì)算方法如下,前文將延誤等級分為5類,混淆矩陣如表4所示.
表4 混淆矩陣
nij:表示實(shí)際延誤等級為i,模型預(yù)測出的延誤等級為j的航班條數(shù).
TP(true positive):預(yù)測準(zhǔn)確的航班條數(shù),實(shí)際延誤等級為i,被預(yù)測成i的航班數(shù):
TPi=nii
(1)
FN(false negative):實(shí)際航班等級不是i被預(yù)測為i的航班條數(shù):
(2)
所以,以上指標(biāo)得出總正確率:
(3)
用測試集數(shù)據(jù)來對模型的準(zhǔn)確性進(jìn)行評估,根據(jù)測試集航班數(shù)據(jù)延誤的真實(shí)值與預(yù)測值的比較來評估模型的準(zhǔn)確性,通過構(gòu)建混淆矩陣來計(jì)算準(zhǔn)確率.
混淆矩陣結(jié)果如圖2.
如圖2所示,由式(3)計(jì)算得到準(zhǔn)確率為81.7%,從混淆矩陣的結(jié)果可以看出,預(yù)測結(jié)果沒有出現(xiàn)大的偏離,多集中在真實(shí)區(qū)間附近,模型的預(yù)測分類效果較好.
選擇同樣的原始數(shù)據(jù),預(yù)測目標(biāo)的延誤等級保持一致,不同的是原始的數(shù)據(jù)的離散規(guī)則不做特殊處理,直接采用等距離散,該步驟直接在R平臺上完成.完成數(shù)據(jù)離散之后,進(jìn)行結(jié)構(gòu)學(xué)習(xí)和參數(shù)學(xué)習(xí),選擇與上文比例相同的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),最后用混淆矩陣來計(jì)算等距離散的正確率.圖3是該方法下得到的混淆矩陣.
圖3 運(yùn)行結(jié)果(2)
如圖3所示,等距離散的準(zhǔn)確性為74.0%,對比兩種方法可以看出,當(dāng)離港延誤時(shí)間處于前兩個(gè)區(qū)間的時(shí)候,直接使用傳統(tǒng)的貝葉斯網(wǎng)絡(luò)預(yù)測偏差較大.對比說明了運(yùn)用聚類的結(jié)果來離散數(shù)據(jù),在此基礎(chǔ)上再建立貝葉斯網(wǎng)絡(luò)能夠提高貝葉斯網(wǎng)絡(luò)的預(yù)測準(zhǔn)確性.
本文提出了一種將聚類分析和貝葉斯網(wǎng)絡(luò)結(jié)
合的航班延誤預(yù)測模型,運(yùn)用K-means聚類把延誤變量劃分成若干區(qū)間,基于此建立了貝葉斯網(wǎng)絡(luò)預(yù)測模型.通過測試數(shù)據(jù)集得到模型的準(zhǔn)確性在81.7%左右,模型的穩(wěn)定性較高.相比于傳統(tǒng)的等距離散的方式,運(yùn)用K-means聚類的方法進(jìn)行離散,得到的預(yù)測模型準(zhǔn)確性更高,說明該模型能更好的對離港航班延誤做出預(yù)測.