崔瑾
[摘 要] 近年來由于航空運輸需求的急增,航空管制或一些天氣因素導(dǎo)致航班延誤的狀況頻發(fā),給人們的生產(chǎn)生活帶來了一定程度的影響。文章運用多元線性回歸模型來做航班延誤時間的預(yù)測,抽取樣本數(shù)據(jù)并進行了檢驗符合線性相關(guān),并通過Matlab實現(xiàn)了樣本抽取及計算回歸系數(shù)、統(tǒng)計量的過程。
[關(guān)鍵詞] Matlab;航班延誤預(yù)測;多元線性回歸模型
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 21. 068
[中圖分類號] F562 [文獻標(biāo)識碼] A [文章編號] 1673 - 0194(2018)21- 0162- 02
1 引 言
中國的快速發(fā)展得益于公共交通的建設(shè)與發(fā)展,由于航空運輸需求的急增,交通的發(fā)展特別是航空交通的發(fā)展,同時也突顯出諸多問題,而空域有限,又因航空管制、天氣等原因?qū)е潞桨嘌诱`的狀況頻發(fā)。據(jù)2016年5 月民航局公布的《2015年民航行業(yè)發(fā)展統(tǒng)計公報》顯示,2015年全國客運航空公司共執(zhí)行航班 337.3萬班次,平均航班正常率為68.33%[1],對人們的生產(chǎn)生活造成了一定程度上的影響。因而如何進行科學(xué)的預(yù)測航班延誤成了航空公司、乘客的迫切需求學(xué)術(shù)上的一個研究方向。
2 建立預(yù)測模型
2.1 多元線性回歸模型
設(shè)y為因變量,x1,x2,…,xk為自變量,并且自變量與因變量之間為線性關(guān)系時,則多元線性回歸模型為:
y=b0+b1x1+b2x2+…+bkxk+e
其中,b0為常數(shù)項稱為截距,b1,b2,…,bk為回歸系數(shù),e稱為誤差[2]。
2.2 確定因變量
造成航班延誤的因素,主要包括天氣、航空管制,當(dāng)然也還有些人為的因素,如航空公司的內(nèi)部原因。為了進行計算,需要根據(jù)天氣對航班延誤的影響,對各種天氣情況進行數(shù)值化如下表1所示。在很多網(wǎng)站上都可以獲取未來3~5天的氣象數(shù)據(jù),有些網(wǎng)站提供了API接口以獲取相應(yīng)的天氣情況,對于沒有提供接口的,可以通過編寫爬蟲程序請求并解析返回的數(shù)據(jù)而獲得。
在這確定回歸方程中,y為航班延誤時間,自變量x1、x2分別為天氣因素對航班的影響,自變量x3為人為因素造成的航班延誤時間,如航空管制的時長,上一班飛機延誤的時長,因此回歸方程如下:
y=b0+b1x1+b2x2
2.3 預(yù)測模型校驗
確定了回歸方程,還需要進行校驗,校驗大致分兩類,一個是基線數(shù)據(jù)檢驗,一個是直接通過散點圖進行判斷。
基線數(shù)據(jù)檢驗包括t-檢驗、F檢驗及相關(guān)系數(shù)檢驗。
(1)t-檢驗
t-檢驗又稱回歸系數(shù)顯著性檢驗。t檢驗是分別檢驗回歸模型各回歸系數(shù)是否具有顯著性。統(tǒng)計量t的計算公式為:
ti= =
其中,Cij是多元線性回歸方程中求解回歸系數(shù)矩陣的逆矩陣(x′x)-1的主對角線上的第j個元素[2]。
(2)判定系數(shù)檢驗
判定系數(shù)R2越大即越接近1,回歸方程對樣本數(shù)據(jù)擬合程度越強,自變量與因變量關(guān)系越密切,R2統(tǒng)計量計算公式為:
R2 =SSR / SSE
其中SSR表示回歸平方和,SSE表示殘差平方和。
(3)F檢驗
F檢驗又稱回歸方程的顯著性檢驗,用于評價所有自變量與因變量的線性關(guān)系是否密切。能常采用F檢驗,F(xiàn)統(tǒng)計量的計算公式為:
F= =
根據(jù)給定的顯著水平a,自由度(k,n-k-1)查F分布表,得到相應(yīng)的臨界值Fa,若F>Fa,則回歸方程具有顯著意義,回歸效果顯著;F (4)散點圖 很多時候通過散點圖來進行判斷更直接,而且Matlab可以直接生成散點圖,如圖1所示為殘差散點圖,在抽樣的2 000個樣本數(shù)據(jù)中,僅有少量紅色標(biāo)出的異常數(shù)據(jù),絕大多數(shù)綠色標(biāo)注的都符合線性回歸方程。 3 預(yù)測的 3.1 在Matlab中讀取數(shù)據(jù) Matlab可以直接讀取數(shù)據(jù)庫、Excel、文件中的數(shù)據(jù),在這本文采用的Oracle數(shù)據(jù)庫,通過查詢語句查詢回歸分析樣本庫中的10 000條數(shù)據(jù),但從數(shù)據(jù)庫讀取的數(shù)據(jù)為了方便后續(xù)的計算需要轉(zhuǎn)換為矩陣。具體實現(xiàn)如表2所示。 3.2 建立回歸方程 如表3所示調(diào)用regress函數(shù)可以得到回歸系數(shù)b,b為b0、b1、b2的行列式,及統(tǒng)計量stats,其中stats(1)為R2,stats(2)為f。有了這些信息就可以檢驗并構(gòu)建回歸方程。 3.3 計算延誤時間 計算延誤時間可以有兩種方式,一是將regress的計算結(jié)果保存到數(shù)據(jù),Matlab可以進行數(shù)據(jù)庫的添加修改操作,代入方程y=b0+b1x1+b2x2計算即可。 另一種,即時作回歸計算,這種方式比較好的是可以即時讀取最近及上一年同期數(shù)據(jù)作為樣本作加回歸計算,Matlab可以將自定義的函數(shù)生成為jar包或dll庫??晒㎎ava、.net程序進行調(diào)用。 4 結(jié) 語 本文基于Matlab實現(xiàn)了基本的航班延誤的預(yù)測功能,往往有很多情況并不滿足線性回歸的情況,就需要通過非線性回歸模型像神經(jīng)網(wǎng)絡(luò)來進行分析預(yù)測。另外,目前對于天氣值確定也還不夠細致,還需要進一步綜合分析計算各種天氣對飛行的影響來確定。 主要參考文獻 [1]胡皓月. 航班延誤預(yù)測的大數(shù)據(jù)方法研究[D].南京:南京航空航天大學(xué),2017. [2]龔曙明.市場調(diào)查與預(yù)測[M].北京:清華大學(xué)出版社, 2005.