諶婧嬌



摘要:在大數(shù)據(jù)環(huán)境下,為了提高航班延誤預(yù)測(cè)精確度和數(shù)據(jù)處理速度,提出基于Spark框架下處理海量數(shù)據(jù)方法。本文使用決策樹(shù)算法對(duì)航班數(shù)據(jù)進(jìn)行分析,預(yù)測(cè)航班的延誤情況,并與使用支持向量機(jī),Logistic回歸分類算法的預(yù)測(cè)結(jié)果進(jìn)行比較。結(jié)果證明決策樹(shù)算法具有較高的準(zhǔn)確率和靈敏度,表明決策樹(shù)算法可以應(yīng)用到航班延誤預(yù)測(cè)中,給航空機(jī)構(gòu)提供數(shù)據(jù)支持。
關(guān)鍵詞:Spark;航班延誤預(yù)測(cè);決策樹(shù)算法
中圖分類號(hào):TP391? ? ?文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào):1009-3044(2021)04-0217-03
Abstract: In the big data environment, in order to improve the accuracy of flight delay prediction and data processing speed, the method of processing massive data based on Spark framework was first proposed to improve the speed of big data processing.The decisiodtree algorithm is used to predict the flight delay, and the results are compared with those of SVM and logistic regression. The results show that the decision tree algorithm has high accuracy and sensitivity, which shows that the decision tree algorithm can be applied to flight delay prediction and provide data support for aviation agencies.
Key words: Spark;Flight delay prediction; Decision tree algorithm
隨著國(guó)家經(jīng)濟(jì)的飛速發(fā)展,居民出行量的日益增大,出行方式也有了很大的改變,航空出行逐漸成為居民出行方式的首選之一。隨著民航旅客需求快速增長(zhǎng),截止到2019年,選擇航空出行方式的旅客量達(dá)到6.1億人次。隨著航班量的增加,航班延誤作為一個(gè)熱點(diǎn)問(wèn)題一直困擾著國(guó)內(nèi)外民航業(yè)。
據(jù)統(tǒng)計(jì),我國(guó)2017年民航的準(zhǔn)點(diǎn)率只有71%,即29%的航班存在延誤。航班延誤會(huì)影響乘客正常行程,使航空公司付出額外運(yùn)營(yíng)成本,對(duì)航空公司聲譽(yù)也存在負(fù)面影響。因此,對(duì)航班延誤進(jìn)行預(yù)測(cè)迫在眉睫。
航班延誤預(yù)測(cè)是指對(duì)航班是否晚點(diǎn)進(jìn)行預(yù)警,可以將預(yù)測(cè)結(jié)果反饋到機(jī)場(chǎng),以便提前采取措施,將航班延誤經(jīng)濟(jì)損失降到最低;也可以將預(yù)測(cè)結(jié)果反饋給旅客,以便其提前做好行程安排[1] [6]。因此航班延誤預(yù)測(cè),對(duì)于航空業(yè)來(lái)說(shuō),具有重要的實(shí)際意義和研究?jī)r(jià)值。
本文結(jié)合航空數(shù)據(jù)的特點(diǎn)以及大數(shù)據(jù)技術(shù)的發(fā)展,采用Spark集群作為內(nèi)存計(jì)算框架,使用決策樹(shù)來(lái)建立模型,對(duì)航空數(shù)據(jù)進(jìn)行預(yù)測(cè)分析,實(shí)驗(yàn)結(jié)果可以為航空機(jī)構(gòu)提供數(shù)據(jù)支持。
1 Spark平臺(tái)
1.1 Spark簡(jiǎn)介
Spark是由美國(guó)加州大學(xué)伯克利分校于2010年開(kāi)發(fā),基于內(nèi)存計(jì)算的大數(shù)據(jù)并行計(jì)算框架。目前已經(jīng)形成了完整的生態(tài)圈,它以Spark Core為核心,可以使用不同的組件,如:SparkStreaming,SparkMLlib,GraphX等。主要力圖在算法,機(jī)器和人之間通過(guò)大規(guī)模集成來(lái)實(shí)現(xiàn)大數(shù)據(jù)應(yīng)用的平臺(tái)。
1.2環(huán)境說(shuō)明
在環(huán)境安裝中,首先配置3臺(tái)安裝Centos7 Linux系統(tǒng)的虛機(jī),配置虛機(jī)間的SSH免密鑰登陸和系統(tǒng)時(shí)間同步,安裝Java環(huán)境和Hadoop環(huán)境。在Hadoop集群配置成功后,以Spark on Yarn模式安裝Spark集群。
2航班數(shù)據(jù)介紹
2.1 數(shù)據(jù)來(lái)源
本次課題研究主要分析從Data Expo 上提供的飛行準(zhǔn)點(diǎn)率統(tǒng)計(jì)數(shù)據(jù),數(shù)據(jù)集大小為657M,共29列數(shù)據(jù),包括年,月,日,航空公司,飛機(jī)編號(hào),起點(diǎn)機(jī)場(chǎng)編號(hào),到達(dá)時(shí)間,起飛時(shí)間,飛行距離等相關(guān)信息。
2.2數(shù)據(jù)清洗
航班數(shù)據(jù)在采集過(guò)程中,可能會(huì)受到各種影響,比如噪聲,通信故障等等,所以數(shù)據(jù)可能存在不準(zhǔn)確的情況,比如數(shù)據(jù)出現(xiàn)空值,部分?jǐn)?shù)據(jù)存在特殊字符等問(wèn)題。為了避免對(duì)后期數(shù)據(jù)分析的結(jié)果產(chǎn)生影響,需要對(duì)數(shù)據(jù)進(jìn)行清洗。
對(duì)航班數(shù)據(jù)進(jìn)行清洗,包括過(guò)濾空值條目和重復(fù)數(shù)據(jù),過(guò)濾存在特殊字符的數(shù)據(jù),以及判斷航班是否晚點(diǎn)。對(duì)于如何判斷飛機(jī)是否延誤,由于各國(guó)航空運(yùn)輸系統(tǒng)存在差異,所以各個(gè)國(guó)家對(duì)于航班延誤的定義也有區(qū)別。一般來(lái)說(shuō),航班實(shí)際離場(chǎng)時(shí)間比計(jì)劃離場(chǎng)時(shí)間遲15min及以上,或者航班實(shí)際起飛時(shí)間比計(jì)劃起飛時(shí)間遲15min及以上,或者航班取消均可視為航班延誤。
對(duì)數(shù)據(jù)集進(jìn)行處理過(guò)后,最終得到數(shù)據(jù)集類別如下:
3 基于Spark的預(yù)測(cè)算法實(shí)現(xiàn)
3.1 CART分類樹(shù)
CART是在給定輸入隨機(jī)變量X條件下輸出隨機(jī)變量Y的條件概率分布,CART算法生成的是二叉樹(shù),只有“是,否”兩個(gè)類別。
CART分類樹(shù)通過(guò)GINI指數(shù)選擇最優(yōu)特征。GINI系數(shù)表示模型的不純度,GINI系數(shù)越小,則不純度越低,特征越好。因此可以通過(guò)選擇較小的GINI系數(shù)來(lái)得到分類條件,以此作為切分點(diǎn)依次分配。
在分類問(wèn)題中,假設(shè)有k個(gè)類別,第k個(gè)類別的概率為
對(duì)于給定的樣本D,假設(shè)有K個(gè)類別,第K個(gè)類別的數(shù)量為
對(duì)于樣本D,如果根據(jù)特征A的某個(gè)值a,把D分成D1和D2兩部分,在特征A的條件下,D的GINI系數(shù)表達(dá)式為:
GINI系數(shù)越大,樣本集合不確定性越大。
3.2評(píng)價(jià)指標(biāo)
在分類模型中,評(píng)價(jià)分類器的優(yōu)劣主要基于混淆矩陣,ROC和AUC來(lái)進(jìn)行判斷。
混淆矩陣是用來(lái)表示精度評(píng)價(jià),主要用來(lái)判別分類好壞的指標(biāo),以二分類為例,0和1代表兩類樣本,其中TP:真陽(yáng)性,預(yù)測(cè)是1,實(shí)際也是1; FP:假陽(yáng)性,預(yù)測(cè)是1,實(shí)際也是0;TN:真陰性,預(yù)測(cè)是0,實(shí)際也是0; FN:假陰性,預(yù)測(cè)是0,實(shí)際也是1。
準(zhǔn)確率:分類正確的樣本占總樣本數(shù)的比例,表示評(píng)估的準(zhǔn)確率。
精確率:表示被分為正樣本中實(shí)際為正例的比例。
靈敏度:實(shí)際為正樣本且被劃分為正樣本在正樣本中所占的比例,表示所有正樣本中被分對(duì)的比例,目的是衡量分類器對(duì)正例的識(shí)別能力。
ROC是一條曲線,由FPR和TPR的點(diǎn)連成。橫軸是FPR,縱軸是TPR。
AUC:ROC的曲線面積就是AUC值,AUC主要用于衡量二分類問(wèn)題中機(jī)器學(xué)習(xí)算法性能或者泛化能力。ROC曲線越靠左上角效果越好,AUC的值越大,效果越好。
4實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)中使用交叉驗(yàn)證,隨機(jī)劃分測(cè)試集與訓(xùn)練集,其中訓(xùn)練集占數(shù)據(jù)量70%,測(cè)試集占30%。使用Spark編程實(shí)現(xiàn)決策樹(shù)算法,并分析算法的性能。同時(shí),與其他兩種算法進(jìn)行比較,結(jié)果如下表所示:
由上表中結(jié)果可知,使用決策樹(shù)算法對(duì)航班數(shù)據(jù)進(jìn)行預(yù)測(cè)其分類準(zhǔn)確率,靈敏度都比較高。分類準(zhǔn)確率高表明該模型對(duì)航班是否延誤能做出準(zhǔn)確的判斷,靈敏度高表明該模型的誤測(cè)率較低。因此可以得出結(jié)論,決策樹(shù)算法在航班預(yù)測(cè)判斷過(guò)程中更加有效。
5結(jié)語(yǔ)
本文介紹了決策樹(shù)算法原理,并將其應(yīng)用于航班數(shù)據(jù)的預(yù)測(cè)分析中,實(shí)驗(yàn)得到的預(yù)測(cè)準(zhǔn)確率,靈敏度,召回率等指標(biāo)都達(dá)到了較高的水平。因此該方法可以為航班延誤的預(yù)測(cè)提供有效的數(shù)據(jù)支持,能夠提高航班晚點(diǎn)預(yù)測(cè)效率,具有廣泛的應(yīng)用前景。
參考文獻(xiàn):
[1] 徐海文,韓松臣,劉曉東.基于旅客角度的航班延誤影響因素分析[J].中國(guó)市場(chǎng),2015(52):221-224.
[2] 高彥杰.Spark大數(shù)據(jù)處理技術(shù).應(yīng)用與性能優(yōu)化[M].北京:機(jī)械工業(yè)出版社,2015.
[3] 梁彥.基于分布式平臺(tái)Spark和YARN的數(shù)據(jù)挖掘算法的并行化研究[D].廣州:中山大學(xué),2014.
[4] 何洋,朱金福,周秦炎.基于支持向量機(jī)回歸的機(jī)場(chǎng)航班延誤預(yù)測(cè)[J].中國(guó)民航大學(xué)學(xué)報(bào),2018,36(1):30-36,41.
[5] 羅赟騫,陳志杰,湯錦輝,等.采用支持向量機(jī)回歸的航班延誤預(yù)測(cè)研究[J].交通運(yùn)輸系統(tǒng)工程與信息,2015,15(1):143-149,172.
[6] 劉小平.航班延誤情境下旅客群體性突發(fā)事件致因機(jī)理及預(yù)警機(jī)制研究[D].武漢:武漢理工大學(xué),2013.
[7] 莊榮,李玲娟.基于Spark的CVFDT分類算法并行化研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2018,28(6):35-38.
【通聯(lián)編輯:梁書(shū)】