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