趙元棣,王中義
(中國民航大學(xué) 民航航班廣域監(jiān)視與安全管控技術(shù)重點(diǎn)實(shí)驗(yàn)室,天津 300300)
我國民航已成為世界第二大航空運(yùn)輸系統(tǒng),民航業(yè)的碳排放主要由飛機(jī)燃油燃燒產(chǎn)生。以2019年為例,航空公司航空燃油消耗3 689萬t,折算碳排放1.16億t,占行業(yè)排放總量97%。飛機(jī)燃油作為航空公司運(yùn)營成本的重要部分,對其準(zhǔn)確預(yù)測可為航空公司運(yùn)營提供建議。
目前,飛機(jī)燃油消耗問題大部分從3方面進(jìn)行研究:①飛機(jī)性能方面[1];②數(shù)理統(tǒng)計(jì)方面[2];③機(jī)器學(xué)習(xí)方面[3]。何運(yùn)成等[4]采用T-S模糊神經(jīng)網(wǎng)絡(luò)建立飛機(jī)燃油消耗估計(jì)模型,提取不同航段的不同影響因素實(shí)現(xiàn)航路分階段建模;N.HONG等[5]基于多層感知機(jī)(MLP)神經(jīng)網(wǎng)絡(luò)開發(fā)了一種油耗模型,當(dāng)終端空域設(shè)計(jì)給定時(shí),燃料消耗模型根據(jù)設(shè)計(jì)中指定的出發(fā)或到達(dá)剖面計(jì)算整個(gè)機(jī)隊(duì)的燃料消耗;魏志強(qiáng)等[6]以空客A320機(jī)型的航線簽派數(shù)據(jù)為基礎(chǔ),根據(jù)咨詢通告的方法計(jì)算不可預(yù)期燃油標(biāo)準(zhǔn),然后引入BP神經(jīng)網(wǎng)絡(luò)來預(yù)測航線燃油;谷潤平等[7]利用改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)建立了飛機(jī)落地剩油預(yù)測模型,引入遺傳算法優(yōu)化網(wǎng)絡(luò)初始權(quán)值和閾值,實(shí)現(xiàn)了更高精度的預(yù)測。
綜上,學(xué)者們對飛機(jī)燃油消耗問題的研究眾多,近年來越來越多的學(xué)者開始使用機(jī)器學(xué)習(xí)的方法來研究飛機(jī)油耗問題,其模型準(zhǔn)確度進(jìn)一步提高,但仍有提高空間。
筆者從航空公司的實(shí)際飛行計(jì)劃報(bào)中提取出月份、時(shí)間、起飛油、風(fēng)速等19個(gè)飛機(jī)油耗影響因素,分析各影響因素與實(shí)際油耗之間的關(guān)系,通過主成分分析法和灰色關(guān)聯(lián)度分析法將影響因素?cái)?shù)據(jù)降維,綜合得到影響油耗的關(guān)鍵因素;然后基于卷積神經(jīng)網(wǎng)絡(luò)(CNN),建立飛機(jī)燃油消耗預(yù)測模型,并將預(yù)測結(jié)果分別與現(xiàn)有的飛行計(jì)劃模型和MLP模型[5]進(jìn)行對比,驗(yàn)證CNN模型的準(zhǔn)確性;最后進(jìn)行10折交叉驗(yàn)證,驗(yàn)證CNN模型的魯棒性。
飛機(jī)燃油消耗影響因素眾多,呈現(xiàn)典型的非線性相關(guān)性。選取2020—2021年北京至上海的156個(gè)往返航班,機(jī)型為A330,實(shí)際油耗數(shù)據(jù)由航空公司提供。從航空公司的實(shí)際飛行計(jì)劃中提取出月份、時(shí)間、起飛油、風(fēng)速等19個(gè)飛機(jī)油耗影響因素,如表1。
表1 參數(shù)說明
總油由滑行油和起飛油組成,起飛油由必需油和額外油組成,必需油由航程油、不可預(yù)期燃油、備降油和標(biāo)準(zhǔn)等待油組成,如圖1。
圖1 各燃油間關(guān)系
由于機(jī)型、發(fā)動(dòng)機(jī)構(gòu)型、機(jī)動(dòng)油、不可預(yù)期油和標(biāo)準(zhǔn)等待油這5種影響因素的數(shù)值基本固定不變,因此不再分析這5種影響因素與飛機(jī)實(shí)際油耗之間的關(guān)系,只分析剩余14種影響因素與飛機(jī)實(shí)際油耗之間的關(guān)系。
將飛行計(jì)劃里提取的航路風(fēng)速數(shù)據(jù)與實(shí)際油耗對比分析,如圖2。當(dāng)風(fēng)速為正值時(shí),飛機(jī)順風(fēng)飛行;風(fēng)速為負(fù)值時(shí),飛機(jī)逆風(fēng)飛行。從圖2可以看出:在順風(fēng)飛行時(shí),隨著風(fēng)速增大,飛機(jī)燃油消耗出現(xiàn)減小的趨勢;風(fēng)速減小,飛機(jī)燃油消耗出現(xiàn)增大的趨勢;在逆風(fēng)飛行時(shí)亦然,說明風(fēng)速與飛機(jī)實(shí)際油耗成明顯的負(fù)相關(guān)關(guān)系。
圖2 風(fēng)速與實(shí)際油耗關(guān)系
將溫度數(shù)據(jù)與飛機(jī)的實(shí)際油耗對比分析,如圖3。從圖3可以看出溫度與飛機(jī)實(shí)際油耗的線性關(guān)系不強(qiáng),擬合程度不高,仍需進(jìn)一步分析。
圖3 溫度與實(shí)際油耗關(guān)系
將飛機(jī)高度層數(shù)據(jù)與實(shí)際油耗對比分析,如圖4。但由于數(shù)據(jù)限制,航班的航線為單一航線,在制作飛行計(jì)劃時(shí)高度層的選擇有限,大部分集中在331、301 hft這2個(gè)高度層。無法充分反映高度層與飛機(jī)實(shí)際油耗之間的關(guān)系,因此后續(xù)不再考慮。
圖4 高度層與實(shí)際油耗關(guān)系
其余影響因素也如以上方法分析,綜合得到:①高度層、月份(12月、1月)和滑行油(525、400 kg)這3個(gè)影響因素的取值大多只有2個(gè),無法充分反映與實(shí)際油耗的具體關(guān)系,因此不再考慮;②航路風(fēng)速、航路溫度、空中距離、飛行時(shí)間、起飛油、額外油、航程油、必需油、備降油、總油和起飛重量這11個(gè)影響因素與飛機(jī)實(shí)際油耗具有明顯相關(guān)關(guān)系,但具體關(guān)系需要進(jìn)一步分析。
主成分分析[8]是一種通過降維技術(shù)把多個(gè)變量轉(zhuǎn)化為少數(shù)幾個(gè)主成分的多元統(tǒng)計(jì)方法,可以消除影響因素之間的相關(guān)影響,但計(jì)算中損失了一部分變量的含義?;疑P(guān)聯(lián)度分析[9]可定量表述影響因素間的關(guān)聯(lián)程度,但其主觀性過強(qiáng)。綜合2種影響因素分析方法,篩選得到影響飛機(jī)油耗的關(guān)鍵因素。
1.2.1 數(shù)據(jù)規(guī)范化
將航路風(fēng)速、航路溫度、空中距離、飛行時(shí)間、起飛油、額外油、航程油、必須油、備降油、總油和起飛重量這11個(gè)影響因素?cái)?shù)據(jù)進(jìn)行歸一化處理,使各個(gè)數(shù)據(jù)在[0,1]之間,筆者選取最大-最小歸一化方法,如式(1):
(1)
式中:X′為參數(shù)歸一化后的值;X為參數(shù)原值;Xmin為參數(shù)中最小值;Xmax為參數(shù)中最大值。
1.2.2 主成分分析
運(yùn)用主成分分析將11個(gè)油耗影響因素降維處理,并按其貢獻(xiàn)大小排列,結(jié)果如表2。可以看出,大部分影響因素得分在0.3以上,前8個(gè)影響因素的累計(jì)貢獻(xiàn)率達(dá)到了99.99%。
表2 主成分貢獻(xiàn)
1.2.3 灰色關(guān)聯(lián)度分析
運(yùn)用灰色關(guān)聯(lián)度方法分析11個(gè)油耗影響因素,并按其灰色關(guān)聯(lián)度大小排列,結(jié)果如表3??梢钥闯?大部分影響因素灰色關(guān)聯(lián)度得分位于0.7~0.9,少部分得分位于0.7之下。
表3 灰色關(guān)聯(lián)度
1.2.4 綜合分析
綜合兩種分析結(jié)果,可準(zhǔn)確選取出影響燃油消耗的關(guān)鍵因素。定義綜合相關(guān)度為:
α=μ|β|+(1-μ)|γ|
(2)
式中:α為綜合相關(guān)度;β為主成分得分;γ為灰色關(guān)聯(lián)度;μ為相關(guān)系數(shù)。
由于兩種方法的研究角度不同,因此取μ=0.5。根據(jù)式(2)計(jì)算各個(gè)影響因素的綜合相關(guān)度,結(jié)果如表4。
表4 綜合相關(guān)度
由表4可以看出:綜合相關(guān)度大于0.5時(shí),影響因素之間綜合相關(guān)度相差較小;小于0.5時(shí),影響因素之間綜合相關(guān)度差值增大,因此選取綜合相關(guān)度大于0.5的影響因素作為關(guān)鍵影響因素。
最終影響油耗的關(guān)鍵因素為空中距離、總油、起飛油、飛行時(shí)間、航程油、必需油、起飛重量這7個(gè)影響因素,降低了各因素之間的共線性影響,并從飛行距離、飛行時(shí)間、飛機(jī)裝載等多個(gè)角度描述了飛機(jī)的飛行活動(dòng),并作為燃油消耗預(yù)測模型的輸入?yún)?shù)。
Tensor Flow是Google于2015年發(fā)布的深度學(xué)習(xí)框架,擁有多層級結(jié)構(gòu),被廣泛應(yīng)用于自然語言處理[10]、圖像識別[11]等各領(lǐng)域的算法編程實(shí)現(xiàn)。卷積神經(jīng)網(wǎng)絡(luò)[12]是一類前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)的代表算法之一。
將卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)為4層:卷積層1、卷積層2、池化層和輸出層。輸入關(guān)鍵影響因素,為便于計(jì)算,將其轉(zhuǎn)為4×4的向量,通過卷積層1將其原來的1個(gè)像素卷積運(yùn)算成32個(gè),通過卷積層2再將其1個(gè)像素卷積運(yùn)算成64個(gè),再通過池化層將其降維處理,最后通過兩層全連接神經(jīng)網(wǎng)絡(luò),輸出預(yù)測值,網(wǎng)絡(luò)結(jié)構(gòu)如圖5。
圖5 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意
卷積神經(jīng)網(wǎng)絡(luò)模型的輸入和輸出之間的對應(yīng)關(guān)系如式(3):
(3)
式中:xi為模型的輸入;y為模型的輸出;wi為權(quán)重值;bi為偏置值;f(·)為激活函數(shù),筆者選擇線性糾正函數(shù)(rectified linear unit,ReLU)作為激活函數(shù)。
將樣本劃分為3種不同規(guī)模的訓(xùn)練集和測試集,分析訓(xùn)練集和測試集的規(guī)模對模型的影響。樣本劃分方式為:①90%劃為訓(xùn)練集,10%劃為測試集;②80%劃為訓(xùn)練集,20%劃為測試集;③70%劃為訓(xùn)練集,30%劃為測試集。指定學(xué)習(xí)率為0.001,最大訓(xùn)練次數(shù)為2 000。模型預(yù)測結(jié)果評價(jià)指標(biāo)使用誤差率表示,計(jì)算方法如式(4):
(4)
式中:P為預(yù)測值;O為真實(shí)值;M為誤差率,計(jì)算結(jié)果如表5。
表5 不同大小測試集誤差率對比
從表5可以看出:在平均誤差率方面,訓(xùn)練集越小,測試集越大,模型的精度越好。雖然從20%到30%測試集兩者的最小誤差率相等,但最大誤差率反而增加。由此認(rèn)為20%測試集時(shí),模型的性能最優(yōu),選擇80%劃為訓(xùn)練集,20%劃為測試集,其余參數(shù)不變。
選取目前航空公司所用的燃油計(jì)算模型,以及較為流行且計(jì)算精度較高的MLP模型作為參照,將基于CNN模型的預(yù)測結(jié)果分別與現(xiàn)有飛行計(jì)劃模型、MLP模型對比分析,各方法測試集誤差率對比如表6。
表6 測試集誤差率對比
由表6可以看出:基于CNN模型的油耗預(yù)測模型平均誤差為5.26%,小于飛行計(jì)劃模型的17.67%及MLP模型的7.69%,且最大誤差率和最小誤差率也同樣優(yōu)于另外兩種模型,所以CNN模型預(yù)測性能優(yōu)于其他兩個(gè)模型的燃油計(jì)算。
各個(gè)方法測試集的預(yù)測結(jié)果分布如圖6。
圖6 預(yù)測結(jié)果分布
圖6顯示了3種模型的預(yù)測結(jié)果與實(shí)際油耗之間的分布圖。圖中虛線為函數(shù)y=x,預(yù)測結(jié)果越集中于虛線附近,說明預(yù)測結(jié)果越精準(zhǔn),效果越好??梢钥闯?現(xiàn)有的飛行計(jì)劃模型預(yù)測結(jié)果整體居于虛線左側(cè),說明現(xiàn)有的飛行計(jì)劃模型預(yù)測結(jié)果整體偏大;基于MLP模型的預(yù)測結(jié)果一部分在虛線附近,一部分距離虛線較遠(yuǎn),說明預(yù)測結(jié)果整體一般,模型的預(yù)測效果不穩(wěn)定;基于CNN模型的預(yù)測結(jié)果整體居于虛線附近,說明與另外兩種模型相比,CNN模型的整體預(yù)測效果好,預(yù)測精度較高。
各個(gè)方法測試集預(yù)測結(jié)果誤差率分布如圖7。
圖7 誤差率分布
圖7顯示了3種模型預(yù)測誤差率分布,可以看出,現(xiàn)有飛行計(jì)劃模型的預(yù)測誤差率都分布在0以上,說明飛行計(jì)劃都高估燃油消耗,多攜帶了一部分燃油,造成不必要的浪費(fèi);基于MLP模型的預(yù)測誤差率更多分布在0以下,這樣會(huì)造成航班少攜帶燃油,可能使航班發(fā)生不安全事件;基于CNN模型的預(yù)測誤差率更多分布在0附近,少部分結(jié)果在0以下,說明CNN模型的預(yù)測結(jié)果更加準(zhǔn)確。
各個(gè)方法測試集的預(yù)測結(jié)果誤差分布如圖8。
圖8 誤差分布
圖8顯示了3種模型的預(yù)測結(jié)果誤差與實(shí)際油耗之間的分布。可以看出,對于實(shí)際燃油消耗小于8 000 kg或者大于10 000 kg的航班,MLP模型的準(zhǔn)確率大大降低;現(xiàn)有飛行計(jì)劃模型預(yù)測誤差大部分在1 000 kg以上,說明現(xiàn)有的飛行計(jì)劃模型預(yù)測誤差大,精度不夠;CNN模型預(yù)測誤差整體較小,且偏差基本在1 000 kg以內(nèi),優(yōu)于其他兩種模型。
影響因素中飛行時(shí)間與空中距離、航程油之間可能存在一定的共線性,因此利用皮爾遜相關(guān)系數(shù)法對其做出相關(guān)性分析。結(jié)果表明飛行時(shí)間與空中距離相關(guān)系數(shù)為0.83、與航程油相關(guān)系數(shù)為0.81。
為驗(yàn)證其共線性是否對模型產(chǎn)生影響,所以在模型輸入的影響因素中分別剔除空中距離、飛行時(shí)間和航程油,結(jié)果如表7。
表7 實(shí)驗(yàn)結(jié)果
由表7可以看出:在不剔除的情況下,模型預(yù)測結(jié)果的誤差率稍小;若剔除某些因素,模型預(yù)測結(jié)果的誤差率稍大。因此飛行時(shí)間與飛行距離、航程油之間的共線性會(huì)使模型預(yù)測結(jié)果的準(zhǔn)確率發(fā)生改變,如果將其剔除實(shí)驗(yàn)結(jié)果誤差率就會(huì)增大,所以筆者將飛行距離、飛行時(shí)間以及航程油都選為關(guān)鍵因素以增加模型預(yù)測結(jié)果的準(zhǔn)確率。
進(jìn)行交叉驗(yàn)證[13]是一種統(tǒng)計(jì)學(xué)上將數(shù)據(jù)樣本切割成較小子集的實(shí)用方法,筆者選擇此方法驗(yàn)證CNN模型的魯棒性。選擇10折交叉驗(yàn)證法,將總數(shù)據(jù)分成10組,不重復(fù)地抽取1個(gè)子集作為一次驗(yàn)證集,將其余9組子集數(shù)據(jù)組合在一起作為訓(xùn)練集,原理如圖9。
圖9 10折交叉驗(yàn)證原理
數(shù)據(jù)有156個(gè)航班,因此10交叉驗(yàn)證的訓(xùn)練集為141,測試集為15,交叉驗(yàn)證結(jié)果如表8。
表8 10折交叉驗(yàn)證結(jié)果表
由表8可以看出:基于CNN燃油消耗模型交叉驗(yàn)證的誤差率平均值為4.36%,最大值均值為14.28%,最小值均值為0.50%,方差均值為0.16%,說明模型具有很好的魯棒性,模型準(zhǔn)確率優(yōu)于其他兩種模型。
綜上,基于CNN模型的預(yù)測性能優(yōu)于現(xiàn)有的飛行計(jì)劃燃油計(jì)算,能更準(zhǔn)確預(yù)測飛機(jī)燃油消耗且模型具有很好的魯棒性,可給航空公司提供更準(zhǔn)確的飛機(jī)攜帶燃油量建議,避免產(chǎn)生更大燃油消耗,可有效降低運(yùn)營成本,實(shí)現(xiàn)綠色民航的節(jié)能目標(biāo)。
通過從航空公司飛行計(jì)劃中提取飛機(jī)燃油消耗的影響因素,簡單分析各因素對油耗的影響關(guān)系,利用主成分分析法和灰色關(guān)聯(lián)度分析法綜合篩選出關(guān)鍵因素,實(shí)現(xiàn)數(shù)據(jù)降維;然后基于TensorFlow深度學(xué)習(xí)框架,使用卷積神經(jīng)網(wǎng)絡(luò),建立了飛機(jī)燃油消耗預(yù)測模型,實(shí)現(xiàn)對飛機(jī)燃油的更加精確預(yù)測,結(jié)果平均誤差率5.26%,優(yōu)于現(xiàn)有飛行計(jì)劃的17.67%,以及MLP模型的7.69%;最后進(jìn)行了10折交叉驗(yàn)證,驗(yàn)證了CNN模型的魯棒性。