樊 瑋,尚亞博,潘?,摚瑓庆`珊
(1.中國民航大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300;2.廈門航空公司數(shù)字委員會,福建 廈門 361006)
航班訂座預(yù)測歷經(jīng)近50 年的發(fā)展,早期重點(diǎn)關(guān)注預(yù)測結(jié)果在座位優(yōu)化中的應(yīng)用,回歸模型、乘法模型、增量模型、加法模型、指數(shù)平滑模型等是常用的經(jīng)典方法[1-2]。近年來,隨著航空公司競爭的不斷加劇,國內(nèi)外學(xué)者對航班訂座預(yù)測的研究不斷涌現(xiàn)。國外學(xué)者更關(guān)注預(yù)測精度的評估[3-4]以及對高艙低賣或低艙需求被擠兌行為的補(bǔ)償[5],國內(nèi)學(xué)者則不斷嘗試各種新的預(yù)測方法在航班訂座預(yù)測這一問題中的應(yīng)用,如神經(jīng)網(wǎng)絡(luò)模型[6-7]、多元回歸模型[8]、聚類模型[9]等方法。
航班旅客訂座量受淡旺季、航司競爭、節(jié)假日及重大事件等多種因素影響,需求變化較大,歷史數(shù)據(jù)呈現(xiàn)較強(qiáng)的非線性特征,且預(yù)測期越遠(yuǎn),可獲得數(shù)據(jù)質(zhì)量越差,各種模型適應(yīng)性存在較大差異。組合預(yù)測模型可以綜合各單項(xiàng)預(yù)測模型的優(yōu)點(diǎn),因此被廣泛應(yīng)用[10-11]。組合預(yù)測模型以單項(xiàng)預(yù)測模型的加權(quán)組合為主,如方差倒數(shù)模型[12]、均方誤差倒數(shù)模型[13]、二項(xiàng)式系數(shù)模型[14]、基于誘導(dǎo)有序加權(quán)平均(IOWA,induced ordered weighted averaging)算子的組合預(yù)測模型[15]等,這些預(yù)測模型對加權(quán)系數(shù)的確定基本以整體的誤差平方和或誤差絕對值之和最小為基準(zhǔn),但基于IOWA 算子的組合預(yù)測模型將預(yù)測精度作為單項(xiàng)預(yù)測模型的誘導(dǎo)值,傾向于在組合預(yù)測結(jié)果中增大各數(shù)據(jù)點(diǎn)預(yù)測精度較高的單項(xiàng)預(yù)測模型的權(quán)值,計(jì)算科學(xué)性明顯,在交通運(yùn)輸[16]、經(jīng)濟(jì)管理[17]、能源動力[18]等領(lǐng)域應(yīng)用廣泛,張蕾[19]將其應(yīng)用于民航客運(yùn)量的整體預(yù)測,目前鮮有將相關(guān)方法應(yīng)用于特定航班預(yù)測的文獻(xiàn)。本文結(jié)合在國內(nèi)外航空公司得到廣泛應(yīng)用的經(jīng)典預(yù)測模型,構(gòu)建了基于IOWA 的航班訂座組合模型,并結(jié)合航班旅客訂座數(shù)據(jù)的特點(diǎn),改進(jìn)了模型中IOWA 算子誘導(dǎo)值的計(jì)算方法,實(shí)驗(yàn)結(jié)果表明,該模型能獲得滿意的預(yù)測結(jié)果。
鑒于實(shí)際的應(yīng)用場景,航班訂座數(shù)據(jù)在不同數(shù)據(jù)采集點(diǎn)(DCP,data collection point)取得,一般遠(yuǎn)期數(shù)據(jù)采集間隔較大,近期數(shù)據(jù)采集間隔較小,本文選取采集間隔依次為航班離港前35、17、15、13、9、8、7、…、1、0 天。采集兩年內(nèi)某航班在所有DCP 的數(shù)據(jù),記t 為航班日期,第t 期航班的累計(jì)訂座量可記為ft=(DCPt,35,DCPt,17,DCPt,15,DCPt,13,DCPt,9,…,DCPt,1,DCPt,0),其中,t=1,2,…,n,n 為兩年內(nèi)該航班總數(shù)。
考慮到銷售異常及座位數(shù)對高需求的抑制,在預(yù)測之前需要進(jìn)行數(shù)據(jù)預(yù)處理,數(shù)據(jù)預(yù)處理在每個DCP單獨(dú)計(jì)算,首先統(tǒng)計(jì)2 年內(nèi)所有航班在該DCP 的均值及標(biāo)準(zhǔn)差,刪除偏離均值超過3 倍標(biāo)準(zhǔn)差的數(shù)據(jù),其次對客座率接近100%的航班,為了彌補(bǔ)固定座位數(shù)對高需求的溢出效應(yīng),對DCP0的數(shù)據(jù)擴(kuò)大10%。對預(yù)處理之后的數(shù)據(jù),比較各DCP 兩年同期數(shù)據(jù)后發(fā)現(xiàn),航班訂座量的變化隨機(jī)性較強(qiáng),但兩年對應(yīng)時間段的變化趨勢相關(guān)性明顯,且同一個DOW(day of week)的航班,訂座量相關(guān)性比較顯著。
航班預(yù)測的目標(biāo)是依據(jù)t 期航班當(dāng)前DCPt,i的訂座量預(yù)測未來DCPt,0的訂座量。增量模型、指數(shù)平滑模型、回歸模型是航班訂座預(yù)測廣為采用的經(jīng)典模型,這些算法的基本思想是將每個DCP 的訂座量獨(dú)立于當(dāng)前航班前期訂座量,算法參數(shù)學(xué)習(xí)都選取了同一航班同一DOW 的歷史數(shù)據(jù),如對周一航班提前3 天預(yù)測模型的參數(shù)學(xué)習(xí),就選取了同一航班倒推2 年的每個周一航班提前3 天的訂座量,且按時間順序自遠(yuǎn)至近排列,以此類推。
q 為訓(xùn)練集歷史航班總數(shù)(q 增量模型統(tǒng)計(jì)歷史航班DCPt,i到DCPt,0之間的訂座增量均值,對t 期航班處于第i 個DCP 的訂座量的預(yù)測結(jié)果為當(dāng)前訂座量加上訂座增量均值,即 指數(shù)平滑模型自訓(xùn)練集第1 條航班數(shù)據(jù)開始,逐條對訂座增量移動平均,t 期航班的預(yù)測結(jié)果同樣為該航班在第i 個DCP 的實(shí)際訂座值和t-1 期航班移動平均得到的值相加,即 式中,平滑指數(shù)?=0.65。 記X={x1,x2,…,xt,…,xq},Y={y1,y2,…,yt,…,yq},其中:xt=DCPt,i和yt=(DCP0,t-DCPi,t)分別表示第t 期歷史航班當(dāng)前DCP 訂座量和訂座增量,回歸模型表示如下 誘導(dǎo)有序加權(quán)平均算子IOWA 是Yager[20]早期提出的一種被廣泛應(yīng)用的信息融合算子,其具備單調(diào)性、冪等性、介值性等,已被國內(nèi)外學(xué)者廣泛應(yīng)用于建立各種組合預(yù)測模型[21-22]。 定義1設(shè)〈v1,α1〉,〈v2,α2〉,…,〈vm,αm〉是m 個二元組,令則稱函數(shù)fW是由v1,v2,…,vm所產(chǎn)生的m 維誘導(dǎo)有序加權(quán)平均算子,記為IOWA 算子,vi稱為αi的誘導(dǎo)值,其 中,v_index(i)是v1,v2,…,vm中按從大到小的順序排列的第i 個數(shù)的下標(biāo),W=(w1,w2,…,wm)T是算子的加權(quán)向量,滿足 該定義表明IOWA 算子是對誘導(dǎo)值v1,v2,…,vm按從大到小順序排序后所對應(yīng)的α1,α2,…,αm中的數(shù)進(jìn)行有序加權(quán)平均,wi與數(shù)αi的大小和位置無關(guān),而是與其誘導(dǎo)值所在位置v_index(i)有關(guān)。 定義2令 則αi,t表示第i 種預(yù)測方法在t 期的預(yù)測精度;xt為訓(xùn)練集第t 期實(shí)際值。將αi,t作為預(yù)測值的誘導(dǎo)值,這樣m 種單項(xiàng)預(yù)測方法在t 期的預(yù)測精度αi,t和其對應(yīng) 訓(xùn)練集的預(yù)測值就構(gòu)成了m 個二元組〈α1,t,。設(shè)W=(w1,w2,…,wm)T 是各種預(yù)測方法在組合預(yù)測模型中的加權(quán)向量,則由預(yù)測精度α1,t,α2,t,…,αm,t作為誘導(dǎo)值所產(chǎn)生的IOWA組合預(yù)測結(jié)果表示如下 令t 期第i 種預(yù)測方法的預(yù)測誤差eα_index(i),t=xt-,則q 期組合預(yù)測誤差的平方和為 以誤差平方和為最小建立基于IOWA 算子的組合預(yù)測模型 式中,wi和wj為欲求解的單項(xiàng)模型權(quán)重。 按照3.2 節(jié)的組合預(yù)測模型,算法1 步驟如下: (1)準(zhǔn)備訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集; (2)用m 種單項(xiàng)預(yù)測模型在訓(xùn)練集訓(xùn)練預(yù)測參數(shù),其中m=3,選第2 節(jié)3 種單項(xiàng)模型; (3)根據(jù)得到的預(yù)測參數(shù),分別用m 種單項(xiàng)模型繼續(xù)在訓(xùn)練集進(jìn)行預(yù)測,并根據(jù)式(5)得到各單項(xiàng)模型在各t 期的預(yù)測精度; (4)將各t 期的預(yù)測精度作為誘導(dǎo)值,將各單項(xiàng)模型預(yù)測結(jié)果作為預(yù)測值,代入式(6),可得到以權(quán)重W 為變量的線性規(guī)劃表達(dá)式,即式(7)的目標(biāo)函數(shù); (5)求解線性規(guī)劃表達(dá)式,得到賦予各單項(xiàng)模型的權(quán)重向量W; (6)在測試集上,將第(2)步中得到的預(yù)測參數(shù)代入各單項(xiàng)模型,得到單項(xiàng)模型預(yù)測結(jié)果,設(shè)定新的誘導(dǎo)值,結(jié)合W,代入式(6),得到預(yù)測結(jié)果; (7)預(yù)測結(jié)果評析。 需要注意的是,算法在學(xué)習(xí)階段的第(4)步,采用各期預(yù)測精度作為誘導(dǎo)值,在實(shí)際預(yù)測的第(6)步,無法得到預(yù)測精度,參考文獻(xiàn)[15],將最近TL期的可測量的各單項(xiàng)模型的預(yù)測精度的平均值(TL)作為誘導(dǎo)值,表示如下 式中,TL表示期末,即本期。 本文以某航司某條商務(wù)航線上午9 時較為繁忙的一個航班為例,該航班每日1 班,選取2018—2019年的歷史數(shù)據(jù),以2018 年1 月到2019 年10 月的數(shù)據(jù)作為訓(xùn)練集,以2019 年11 月到12 月最后2 個月的數(shù)據(jù)作為測試集,分別在不同的DCPi進(jìn)行預(yù)測,其中,i ∈{35,17,15,13,9,8,…,1}。本文不僅比較各算法在相同DCP 的預(yù)測效果,而且評估算法在航班離港不同提前期的預(yù)測效果。評價指標(biāo)選擇平均絕對百分比誤差(MAPE,mean absolution percent error)和均方根誤差(RMSE,root mean squared error)表示如下 嚴(yán)格按照算法1,在訓(xùn)練集上選取各t 期航班的預(yù)測精度作為W 估算誘導(dǎo)值,在測試集選取最近4 期(即按照DOW 選取歷史數(shù)據(jù)的最近1 個月的已離港航班)航班的預(yù)測精度平均值作為未來預(yù)測誘導(dǎo)值,即式(9)中TL=4,結(jié)果發(fā)現(xiàn),組合算法幾乎在所有DCP都傾向于得到W=(1,0,0)的組合權(quán)值,僅在DCP3得到W=(0.902 6,0.097 4,0)的不同結(jié)果。也就是說,算法傾向于在不同的預(yù)測周期t 都選擇3 種單項(xiàng)預(yù)測模型中誘導(dǎo)值最大的模型,而非3 種單項(xiàng)預(yù)測模型的加權(quán)組合,這和文獻(xiàn)[15,23]的結(jié)果不謀而合。分析發(fā)現(xiàn),以往期精度作為學(xué)習(xí)誘導(dǎo)值,該誘導(dǎo)值可以在每個周期t 準(zhǔn)確地選擇最佳單項(xiàng)預(yù)測模型,進(jìn)行權(quán)重參數(shù)學(xué)習(xí),但對未來的預(yù)測,因?yàn)闊o法得到類似訓(xùn)練集數(shù)據(jù)的精確預(yù)測精度,誘導(dǎo)值的設(shè)置不一定能符合實(shí)際的數(shù)據(jù)狀況。測試集組合預(yù)測結(jié)果也驗(yàn)證了這一分析,不管在遠(yuǎn)期DCP 還是近期DCP,都出現(xiàn)MAPE 及RMSE 高于其他模型的情況。 經(jīng)2018 年全年數(shù)據(jù)測試發(fā)現(xiàn),回歸模型、增量模型、指數(shù)平滑模型在所有航班上預(yù)測最好的情況分別占14.2%、18.5%、67.3%,但預(yù)測精度為0 的情況分別占5.90%、6.25%、13.19%,顯然,指數(shù)平滑模型整體預(yù)測較好,但個體預(yù)測精度最差,回歸模型反之。這表明數(shù)據(jù)隨機(jī)性變化對模型選擇的影響,即在訂座量突變情況下,回歸模型表現(xiàn)較好,增量模型適合比較平穩(wěn)的季節(jié),指數(shù)平滑模型對近期單調(diào)增減反應(yīng)較快。 分別選擇2019 年全年52 周DOW=1 和DOW=5的DCP35和DCP5的實(shí)際累計(jì)訂座量,以觀測預(yù)售遠(yuǎn)期、預(yù)售近期在不同DOW 的數(shù)據(jù)表現(xiàn),如圖1 和圖2所示。顯然,預(yù)售遠(yuǎn)期和預(yù)售近期數(shù)據(jù)在全年表現(xiàn)了基本一致的季節(jié)性趨勢,但數(shù)據(jù)的隨機(jī)性明顯。表1中2、3 列給出了各DCP 一年內(nèi)數(shù)據(jù)的均值μ 和標(biāo)準(zhǔn)差δ,可見數(shù)據(jù)波動幅度較大,且最終訂座量在10~172之間波動,因此,算法1 第(4)步和第(6)步將預(yù)測精度作為誘導(dǎo)值,在預(yù)測結(jié)果相差甚微的情況下,也會優(yōu)先選擇預(yù)測精度高的單項(xiàng)模型,這無法兼容隨機(jī)波動較大、數(shù)據(jù)變化幅度較大的航班訂座量數(shù)據(jù),特別是第(6)步的誘導(dǎo)值設(shè)定具備一定的主觀性,對下期較大的數(shù)據(jù)波動適應(yīng)性差。 表1 實(shí)際數(shù)據(jù)與預(yù)測偏差分析表Tab.1 Analysis of deviation between actual data and prediction 圖1 2019 全年周一遠(yuǎn)期近期訂座對比圖Fig.1 Comparison of long-term and short-term reservations on Mondays in 2019 圖2 2019 全年周五遠(yuǎn)期近期訂座對比圖Fig.2 Comparison of long-term and short-term reservations on Fridays in 2019 為了解決算法1 對隨機(jī)波動較大數(shù)據(jù)的適應(yīng)性,分別對算法1 第(4)步和第(6)步的誘導(dǎo)值進(jìn)行改進(jìn)。在第(4)步,由于歷史數(shù)據(jù)預(yù)測精度已知,但訂座量數(shù)據(jù)離差較大,為了平抑?jǐn)?shù)據(jù)差異,采用tanh 函數(shù)對預(yù)測精度進(jìn)行平滑處理,截?cái)嘈?shù)點(diǎn)后2 位,并將其結(jié)果作為新的誘導(dǎo)值,即 式中,α′i,t如式(5)定義。 圖3 給出2018 年全年DCP35采用回歸預(yù)測的預(yù)測精度α35,t和誘導(dǎo)值之間的關(guān)系。式(12)可強(qiáng)制不同單項(xiàng)預(yù)測模型的預(yù)測精度相差較小時獲得相同的誘導(dǎo)值。但當(dāng)2 個或3 個單項(xiàng)模型誘導(dǎo)值相同時,可修改預(yù)測值為其相應(yīng)的平均值,用于算法1 第(4)步。 圖3 經(jīng)tanh 函數(shù)變化后的預(yù)測精度曲線Fig.3 Prediction accuracy curve after function changing of tanh 不同于第(4)步,算法第(6)步的誘導(dǎo)值在輸入之時是預(yù)估的,鑒于航班訂座量較大的波動,且航班本期DCP 的訂座值和前期DCP 的訂座值相關(guān)性較大,同時受前3 日航班影響較大,為此,將算法第(6)步的誘導(dǎo)值設(shè)置如下,可在未來誘導(dǎo)值設(shè)定時考慮航班當(dāng)前各方面的情況。 式中:t=1,2,3,代表前3 期航班;i=1,2,3,代表第i種預(yù)測模型;k 為DCP 下標(biāo)表示第i 種預(yù)測方法對當(dāng)期航班TL在DCPk預(yù)測時的誘導(dǎo)值和表示當(dāng)期航班在前1 個及前2 個DCP 的訂座量除以總座位數(shù),即客座率表示t 期航班預(yù)測值減去實(shí)際最終訂座值再除以總座位數(shù);βt代表前3 期 航班影響權(quán)重,取為式(9)結(jié)果。 進(jìn)一步在測試集得到表1 所示結(jié)果。記算法1 為IOWA,4.2 節(jié)改進(jìn)后的算法為IOWAn。不同于IOWA 在幾乎所有DCP 都得到W=(1,0,0)的結(jié)果,IOWAn在DCP1得到W=(0,0,1),在DCP2得到W=(0.54,0,0.46),在DCP3得到W=(0.944,0,0.056),在DCP15之前得到W=(1,0,0),其余DCP 都得到W=(0,1,0)的結(jié)果。顯然,IOWAn傾向在遠(yuǎn)期選擇期望最佳的單項(xiàng)預(yù)測模型,在中期選擇表現(xiàn)中庸的模型,在近期更希望進(jìn)行單項(xiàng)模型的加權(quán)組合,這和式(12)的設(shè)計(jì)初衷吻合。 從表1 可見,在DCP15之前,IOWAn和IOWA 傾向于選擇單項(xiàng)預(yù)測模型中最優(yōu)模型,和指數(shù)平滑法結(jié)果接近,這驗(yàn)證了遠(yuǎn)期改進(jìn)的誘導(dǎo)值對結(jié)果影響不大。在DCP1到DCP3,IOWAn綜合發(fā)揮了權(quán)值調(diào)節(jié)和近期航班擾動調(diào)節(jié)的優(yōu)勢,在所有算法上是表現(xiàn)最好的,其余DCP 代表的中期預(yù)測方面,IOWAn整體表現(xiàn)優(yōu)良,在DCP11稍遜于指數(shù)平滑法。整體上,IOWAn在航班訂座預(yù)測量問題上,優(yōu)于IOWA 及其他單項(xiàng)預(yù)測模型,驗(yàn)證了誘導(dǎo)值的合理設(shè)定對基于IOWA 組合預(yù)測模型的重要性。 航空公司實(shí)踐中很難保證數(shù)據(jù)的完整性,某航空公司實(shí)測數(shù)據(jù)集大約包含15%的不完整數(shù)據(jù),上述回歸模型、增量模型、指數(shù)平滑模型的預(yù)測成功率分別約為93.4%、96.1%、67.9%。對于組合模型而言,當(dāng)某一單項(xiàng)預(yù)測模型失效時,可將其權(quán)值均分給其他有效單項(xiàng)預(yù)測模型,其預(yù)測成功率接近100%,因此,組合模型在提高預(yù)測精度的同時,更能大幅度提高預(yù)測算法的健壯性。 航班訂座量預(yù)測在航空公司有多方面的應(yīng)用需求,也是航空公司業(yè)務(wù)建模的難點(diǎn)之一,本文以航空公司常用的回歸模型、增量模型、指數(shù)平滑模型為基礎(chǔ),首先構(gòu)建了一種廣泛應(yīng)用的基于IOWA 的航班訂座組合預(yù)測模型,在此基礎(chǔ)上,結(jié)合IOWA 模型原理,深入分析航班訂座量數(shù)據(jù)獨(dú)有的季節(jié)性及非線性特點(diǎn),改進(jìn)了適合航班訂座特點(diǎn)的誘導(dǎo)值計(jì)算方法,不僅提高了預(yù)測的準(zhǔn)確度,而且大幅度改進(jìn)了預(yù)測算法的健壯性。本文提出的航班訂座量預(yù)測算法,已應(yīng)用于航空公司的業(yè)務(wù)實(shí)踐,取得滿意的效果。3 基于IOWA 算子的組合預(yù)測模型
3.1 IOWA 算子定義
3.2 基于IOWA 算子的組合預(yù)測模型
3.3 組合模型的預(yù)測算法
4 實(shí)例分析與算法改進(jìn)
4.1 算法1 實(shí)例分析
4.2 算法改進(jìn)
4.3 算法比較
5 結(jié)語