邢志偉, 何川, 羅謙, 蔣祥楓, 劉暢, 叢婉
(1. 中國民航大學 電子信息與自動化學院, 天津 300300; 2. 中國民用航空局第二研究所, 成都 610041;3. 民航成都信息技術有限責任公司, 成都 611430)
近年來中國民航業高速發展,民航旅客運輸量逐年遞增,2016年全國旅客吞吐量首次突破10億人次,比2015年增長11.1%。航站樓傳統的資源配置方式已不能滿足機場客流量增長的需求。全國各大機場不同程度地出現了旅客排隊時間長、旅客服務質量下降等現象。國內外學者力圖通過研究航站樓旅客服務流程優化與航站樓資源配置優化問題來提高旅客服務效率與質量。其中,航站樓客流量預測是航站樓旅客服務流程優化的關鍵核心問題,其預測精度的高低直接影響了上述難題的破解效果。
Grosche等[1]采用重力學模型方法,將經濟增長趨勢與機場吞吐量相結合,建立了相關聯的機場吞吐量重力學模型,該模型能對新建機場及已建機場的吞吐量做出較為準確的預測。Letavkova等[2]結合小波變換和時間序列模型提出了一個機場吞吐量預測新方法,很好地預測了奧斯特拉瓦和蒙特利爾機場的旅客流量。黃飛虎等[3]利用民航旅客訂座數據分析了航空旅客群體移動的特性,發現吞吐量具有一定的周期性, 易受節假日的影響,且與其相互通航的城市數量有很大關系。上述研究都屬于機場宏觀客流量的預測范疇,其顆粒度較大,無法指導機場每天甚至每小時資源精細化的配置。在微觀客流量預測方面,Ashford和Ndoh[4]提出了一種基于概率密度函數的航站樓短時客流量預測方法,證明離港旅客從出發到抵達航站樓的行程時間是隨機變量,該方法需建立概率密度函數,花費大量時間確定與調節參數。Kim等[5]將離港旅客到達航站樓的行程時間按長短分為12個組,12個概率密度函數分別屬于正態或Pearson Type Ⅲ分布,從而計算出不同目標時刻航站樓離港旅客數量,該方法在旅客到達人數少的情況下預測精度不高。邢志偉等[6-7]從人類行為動力學出發,以單航班離港旅客為研究對象,證明了單航班離港旅客抵達航站樓受航班離港時刻驅動對泊松特性的偏離且服從重尾分布,但僅以單航班作為研究對象,若將單航班客流量疊加預測多航班客流量,則會造成較大誤差,對誤差修正需花費大量時間。針對非線性時間序列的預測,田中大、李樹江等[8-12]采用組合預測法,成功對混沌時間序列[8]、風速[9]、網絡流量[10-12]進行預測,并取得了良好的預測效果。受此啟發,本文擬借鑒組合預測思想研究航站樓短時客流量預測問題。由于航站樓短時客流量受如航班計劃、天氣等多種因素的影響呈現出復雜的非線性特點,基于確定數學模型的預測方法在模型構建和求解上都存在困難,同時,這類方法參數調整上需花費大量時間,難以滿足航站樓資源配置優化實時性的需要。K近鄰算法(K-Nearest Neighbor,KNN)[13-14]是另一類無數學模型的預測算法,不需要任何的先驗知識,其具備良好的移植與數據挖掘性能,新的數據可以方便地加入到模型中,符合航站樓短時客流量復雜的非線性特點。
但傳統K近鄰算法在預測場景中的精度并不高,多數學者針對不同預測場景做了相應的算法改進[15-20],并取得了良好的預測效果。受文獻[3,7,21]研究啟發,具有相似航班計劃的運營日,同一個目標時刻上的客流量變化波動具有相似的特征,以相似特征日作為基準向量用K近鄰算法進行預測,模型精度將會提高。
綜上,為了有效應對航站樓短時客流量準確預測,本文在傳統K近鄰算法基礎上增加了航班計劃狀態模式匹配步驟,選取具有航班計劃特征的相似歷史運營日作為預測基準向量,建立基于航站樓短時客流量預測的雙層K近鄰模型。通過實例分析,與ARIMA算法[12]和傳統K近鄰算法等進行比較,證明雙層K近鄰模型預測誤差更小,精度更高,模型擬合度相對傳統K近鄰模型提高了8%~10%,平均擬合度高達90%,為機場資源的動態分配提供了指導性的意見。
本文選取某航空公司離港旅客自助值機數據作為歷史數據庫。旅客進入航站樓后在完成值機、安檢業務之前往往帶有一定的焦慮心理,因此極少旅客會在值機之前在機場逗留。而自助值機時間通常在1 min之內完成,且排隊時間較短,因此可將自助值機時間近似看作旅客到達時間。
航站樓客流量預測分為短期、中期、長期,認為預測單位小于1天為短期預測,以天和周為預測單位為中期預測,以季度和年為預測單位為長期預測。根據實際業務情況,飛機起飛前1 h對航站樓值機柜臺、安檢口、登機口等資源的需求幾乎已經確定,不能再更改,因此以1 h為預測時間間隔更具有實際意義,但為了進一步驗證算法的魯棒性,綜合考慮,選擇更小的30 min為時間間隔。
選取2016-03-26—2016-10-26期間旅客自助值機數據,將測試數據與預測數據之前的數據作為歷史數據庫,以30 min為間隔,一天分為48個時段。建立異常數據識別標準,對必要冗余數據剔除,這樣便完成了歷史數據庫的建立。
構建大容量且包含了客流量變化趨勢和典型規律歷史數據庫后,再設定K近鄰非參數回歸模型中狀態向量、距離度量準則、近鄰K值的取值及預測算法等相關要素,從歷史數據庫中找到與預測日相匹配的近鄰。
通過上述相關要素近鄰匹配,假設在歷史數據庫中找到K個近鄰,實際數據和這K個近鄰的距離為di(i=1,2,…,K),設p為客流量,則p(t)為第t時刻客流量,p(t+1)為第t+1時刻客流量,這些近鄰所對應的歷史時刻航站樓旅客到達客流量為phi(t)(i=1,2,…,K)。再利用預測算法,便可得到預測日各個時段的客流量。
等權重的預測算法采用如下形式:
(1)
帶權重的預測算法采用如下形式:
(2)
采用帶權重的預測算法認為距離小的近鄰在預測值中占有更大的權重,該算法符合人們的一般認知,更能體現出航站樓旅客到達狀況變化趨勢,因此本文采取帶權重的預測算法。該算法流程可以簡要表述為圖1。
在對K近鄰模型的相關要素定義完成后,通過K近鄰算法對預測日各個時段的客流量進行預測。隨機抽取連續5天(2016-09-09—2016-09-13)作為預測日,選擇預測日的前一天作為預測基準向量,并選擇相應基準向量前半部分運營日作為歷史數據庫,其中K=7;選擇3個評價指標:平均絕對誤差MAE、均方誤差MSE、擬合優度R2來評價本文所有實驗的預測精度,MAE、MSE與R2的定義式分別為
(3)
(4)
(5)

預測精度評價指標如表1所示,其預測結果如圖2所示。
從表1與圖2可以看出,傳統K近鄰模型在機場場景中直接使用的缺點明顯,預測精度變化波動較大,其中2016-09-11—2016-09-13這3日的預測精度相差了近10%,說明其不具備良好的魯棒性。這是因為傳統K近鄰模型單純選擇預測日的前一天作為預測基準向量,并沒有考慮到影響旅客到達航站樓規律的因素。在機場項目中,影響旅客流量的主要因素有天氣、航班計劃、節假日、突發事件和機場周圍交通狀況。對于不同的兩日,若其特征因子差異過大,則兩日中目標時刻上航站樓客流量大小也會有較大差異,從歷史數據庫中選取K個近鄰日,利用加權平均得出短時客流量的預測值則會與預測日有較大的誤差。綜上,傳統K近鄰模型不適合在機場短時客流量預測場景中直接使用。

圖1 K近鄰算法流程Fig.1 Flowchart of KNN algorithm

日期MSEMAER2/%2016-09-09351.893011.451183.652016-09-10386.675212.254982.332016-09-11345.365110.931589.312016-09-12342.478310.547289.542016-09-13411.579213.367379.14

圖2 K近鄰模型預測值與真實值對比Fig.2 Comparison of predictive value of KNN model with true value
基于相似日的預測算法[21]起源于電力系統短期負荷預測,是電力負荷預測的基本方法之一。在電力系統短期負荷預測中,通常認為在氣象狀況、日類型等影響因素相似的2天,負荷也比較接近。若以歷史上相似日為預測基準向量進行預測,再根據相似日的負荷加以修正,則可以很好地預測結果。
借鑒電力系統的預測方法,考慮各個運營日的特征屬性,將歷史運營日的特征與預測日的特征進行匹配,選取相似歷史運營日內各個時刻客流量的測定序列作為訓練序列來對預測日目標時刻的客流量進行預測有望解決此難題。然而,如何確定一個運營日的特征屬性及如何選取與預測日相似的歷史運營日是一個關鍵的問題。
根據文獻[7]可知,旅客出行受到航班離港時刻的強制約束,會在航班起飛前一段時間密集到達航站樓,旅客到達航站樓的絕大多數情況為早于航班起飛1~2.5 h,離港航班量直接決定了航站樓旅客的聚集量。整個航站樓旅客的聚集可以看做是多個航班離港時刻約束條件下的結果,旅客聚集趨勢與航班離港時刻直接相關。
綜上分析,旅客行為從本質上講是由截止時間約束的群體行為,因此每個時段的航班計劃是影響旅客航站樓聚集的重要因素。如圖3所示,t時段的旅客聚集人數是由后期時段的航班計劃m4、m5、m6影響。所以確定航班計劃為一個運營日的特征屬性,并通過航班計劃特征屬性來選取與預測日相似的歷史運營日。

圖3 航班計劃對旅客聚集量的影響Fig.3 Influence of flight schedule on arrived passenger number
通過第1節的分析,離港旅客的聚集行為由航班離港時刻即航班計劃驅動。本節將選取航班計劃為一個運營日的特征屬性,在傳統K近鄰算法基礎上增加航班計劃狀態模式匹配步驟,采取K最近鄰法(K=1)選取與預測日相似的歷史運營日,并將選取相似歷史運營日內各個時刻客流量的測定序列作為訓練序列對預測日目標時刻的客流量進行預測。
定義1設在機場場景中,不同運營日一天中各個時段在相似的航班計劃條件下為相似特征運營日。
定義2設X(t)表示當前時段的狀態向量,同時有相鄰航班計劃v(t)和相鄰時段旅客流量p(t)兩個指標,以此來表示數據特征。Xh(t)表示歷史同一時段的狀態向量,且近鄰產生于歷史同一時段。則狀態向量可表示為
X(t)=[v(t),v(t+1),p(t),p(t+1)]
Xh(t)=[vh(t),vh(t+1),ph(t),ph(t+1)]
定義3設K為近鄰個數;R為歷史數據狀態向量的維數;P(t)為第t時段的客流量狀態向量;V(t)為第t時段的航班計劃狀態向量;d為兩向量之間的歐氏距離。
歷史客流量狀態向量為
Phi(t)=[phi(t),phi(t+1),…,phi(t+n)]
i=1,2,…,R
歷史航班計劃狀態向量為
Vhi(t)=[vhi(t),vhi(t+1),…,vhi(t+n)]
i=1,2,…,R
為了更方便、直觀地分析各時段客流量與航班計劃,分別給出客流量狀態矩陣及航班計劃狀態矩陣。
客流量狀態矩陣為
歷史數據庫中一共有R天的客流量數據,p1(t)表示第一天t時刻的客流量,則pR(t)代表第R天t時刻的客流量。
航班計劃狀態矩陣為
歷史數據庫中一共有R天的航班計劃數據,v1(t)表示第一天t時刻的航班計劃,則vR(t)代表第R天t時刻的航班計劃。
在雙層K近鄰(T-KNN)客流量預測模型中,先計算當前航班計劃狀態向量V(t)與歷史狀態向量Vhi(t)之間的度量距離,即歐氏距離d1為
i=1,2,…,R
(6)
選擇與預測日航班計劃狀態向量距離最小的一天,設其航班計劃狀態向量為Vm(t)=[vm(t),vm(t+1),…,vm(t+n)],則其對應的客流量狀態向量為Pm(t)=[pm(t),pm(t+1),…,pm(t+n)],并在歷史航班計劃狀態矩陣及客流量狀態矩陣中除去對應向量。再計算Pm(t)與歷史客流量狀態向量Phi(t)之間的度量距離,即歐氏距離di為
i=1,2,…,R
(7)
按照距離從小到大排序,并選擇出K個最近歷史客流量狀態向量Phi(t)=[phi(t),phi(t+1),…,phi(t+n)](i=1,2,…,K)。再計算當前t時刻的客流量pi(t),并作為預測值,表達式為
建立針對航站樓短時客流量預測的雙層K近鄰模型,該模型具體步驟如下:
步驟1將旅客自助值機數據進行預處理,通過建立異常數據識別標準,對必要冗余數據剔除,完成歷史數據庫的建立,并將測試數據做同樣的處理。
步驟2根據已有數據的實際情況、算法效率、工程限制及數據獲取的限制,提取數據中航班計劃與相鄰時段旅客流量2個特征作為狀態向量。設X(t)=[v(t),v(t+1),p(t),p(t+1)]表示當前時段的狀態向量,v(t)表示當前時段航班計劃,p(t)表示當前時段旅客流量。
步驟3根據測試數據第N天的航班計劃及K最近鄰法(K=1),利用式(6),計算當前航班計劃狀態向量V(t)=[v(t),v(t+1),…,v(t+n)]與歷史航班計劃狀態向量Vhi(t)=[vhi(t),vhi(t+1),…,vhi(t+n)]之間的歐氏距離,根據距離從小到大進行排序,再根據距離從歷史數據庫中找尋與其最接近的基準向量第M天(M 步驟4以第M天基準向量的一天中間隔30 min的旅客到達人數作為基礎,在歷史數據庫中除去第M天,利用式(7),計算第M天的客流量Pm(t)=[pm(t),pm(t+1),…,pm(t+n)]與歷史客流量Phi(t)=[phi(t),phi(t+1),…,phi(t+n)]之間的歐氏距離,根據距離從小到大排序,找到K個與M天最相近的天數,并利用加權平均預測算法(即式(2))得到預測值。 步驟5計算3個評價指標:平均絕對誤差MAE、均方誤差MSE、擬合優度R2值,并進行誤差分析。 雙層K近鄰算法流程如圖4所示。 圖4 雙層K近鄰算法流程Fig.4 Flowchart of T-KNN algorithm 為了深入探究2.1節建立的雙層K近鄰模型在航站樓短時客流量預測的適用性,本文從方法與時間2個維度驗證分析。選擇2016-09-09—2016-09-13這5日作為預測日,預測日之前的航班數據作為測試日,并與傳統K近鄰模型、文獻[7]的航班離港時刻主導的單航班離港旅客聚集(Arrived Passenger Model in Single Flight based on the Time of Departure,TD-SFAPM)模型、文獻[12]的自回歸求和滑動平均(Autoregressive Integrated Moving Average,ARIMA)模型、文獻[22]的支持向量機(Support Vector Machine,SVM)模型作預測精度對比。 在對雙層K近鄰模型的相關要素定義完成后,先進行航班計劃狀態模式匹配步驟,根據2.1節中步驟3、式(6),利用K最近鄰法(K=1)在2016-03-26—2016-09-08數據中找出與2016-09-09—2016-09-13航班計劃最接近的一天,即相似歷史運營日。根據實驗,最近的一天依次為2016-06-10、2016-04-11、2016-04-18、2016-05-09和2016-08-10。 根據2.1節中步驟4,以相似歷史運營日作為對應預測日的基準向量,選取K=7,利用式(7)對2016-09-09—2016-09-13每天中48個時段客流量進行預測。同時,預測結果與傳統K近鄰模型、TD-SFAPM模型[7]、ARIMA模型[12]、SVM模型[22]對比。 由于文章篇幅限制,預測仿真對比圖只展示2016-09-09這一天,如圖5所示。各預測日精度評價指標平均絕對誤差MAE、均方誤差MSE、擬合優度R2結果如表2所示。 從預測方法維度對比分析,根據2016-09-09—2016-09-13實驗結果表明,傳統K近鄰模型的評價指標MSE與MAE均小于其相對應的ARIMA模型,擬合優度R2均大于ARIMA模型,表明傳統K近鄰模型預測效果優于ARIMA 模型。這是由于ARIMA模型僅對平穩的時間序列有較好的預測效果,對具有復雜性、不確定性和非線性特點的航站樓短時客流量來講,數據并不是十分平穩。TD-SFAPM模型僅針對單航班預測,若將其直接疊加預測多航班客流量則會造成更大的誤差,且誤差修正需花費大量時間,不滿足短時預測的實時性要求。SVM模型雖然針對非線性時間序列有較好的效果,但其參數難以確定,預測精度受核函數影響很大,參數調整費時,也很難滿足機場資源配置實時性的需求。 傳統K近鄰模型單純選擇預測日的前一日作為預測基準向量,忽略了航站樓客流量在短時期內體現準周期的規律性變化,且受航班計劃、天氣等多種因素的影響。若預測日與其前一日在目標時刻客流量波動較大,則選擇預測日的前一日作為基準向量會帶來較大的誤差。 圖5 不同模型預測值與真實值對比Fig.5 Comparison of predictive value of different models with true value 日期模型MSEMAER2/%2016-09-09ARIMA393.735713.195380.27KNN351.893011.451183.65TD-SFAPM411.358613.258979.11SVM343.256812.158983.35T-KNN273.253510.332590.312016-09-10ARIMA423.658114.652878.13KNN386.675212.254982.33TD-SFAPM422.598714.857077.28SVM379.876312.268983.22T-KNN289.326510.659990.212016-09-11ARIMA387.365713.986381.55KNN345.365110.931589.31TD-SFAPM404.58613.896779.58SVM385.89711.857081.80T-KNN271.32599.587991.132016-09-12ARIMA435.578914.587377.97KNN342.478310.547289.54TD-SFAPM412.583014.058078.20SVM378.368711.235882.58T-KNN286.687210.253190.632016-09-13ARIMA426.875313.087578.96KNN411.579213.367379.14TD-SFAPM385.35013.589780.25SVM365.25711.587082.58T-KNN268.65789.324691.35 相對傳統K近鄰模型,雙層K近鄰模型借鑒電力系統的預測方法,選取航班計劃為一個運營日的特征屬性,將歷史運營日的航班計劃特征與預測日的航班計劃特征進行匹配,選取相似歷史運營日內各個時刻客流量的測定序列作為訓練序列來對預測日目標時刻的客流量進行預測。該方法合理避免了因天氣、節假日等隨機因素對航站樓客流量造成的影響,選擇的相似歷史運營日與預測日客流量波動不大,使得雙層K近鄰模型擁有更高的精度。 從雙層K近鄰模型評價指標來看,其擬合優度R2穩定在90%左右,相對傳統K近鄰模型平均提高了8%~10%。雙層K近鄰模型良好的預測效果也證明了具有相似航班計劃的不同兩日為相似特征運營日,其客流量大小及波動具有一定相似性,且以相似特征運營日作為基準向量預測預測日短時客流量的精度更高,具體表現為:雙層K近鄰模型相對傳統K近鄰模型平均絕對誤差MSE與均方誤差MAE減小,擬合優度R2增大。 為了排除隨機性對雙層K近鄰模型的影響,本文再從時間維度出發,隨機抽取5日驗證分析,并且每個預測日都分布在不同的月份。實驗結果如表3所示。 實驗結果表明,雙層K近鄰模型在時間維度上有很好的契合效果,并無較大波動,與真實數據的平均擬合度達到90%以上,相對于傳統K近鄰模型提高了8%~10%,顯示了雙層K近鄰模型良好的魯棒性。 表3 不同模型時間維度預測精度分析Table 3 Time dimension prediction accuracy analysis of different models 本文通過分析某航空公司旅客自助值機數據,展開對航站樓短時客流量變化規律的探究,研究表明: 1) 傳統K近鄰算法適用于短時交通流的預測,但針對航站樓短時客流量預測場景時需要對算法進行改進。 2) 旅客到達航站樓受到航班離港時刻的強制約束,具有相似航班計劃特征的運營日同一個目標時刻上的客流量變化波動具有相似特征。 3) 增加航班計劃狀態模式匹配步驟選取相似歷史運營日的各個時刻客流量的測定序列作為訓練序列來對預測日目標時刻的客流量進行預測時,即利用雙層K近鄰模型時預測誤差更小,精度更高,模型擬合度相對傳統K近鄰模型提高了8%~10%。 人類行為是高度復雜的,影響旅客到達航站樓的規律因素也錯綜復雜。本文模型在構建時只將航班計劃作為旅客到達航站樓驅動力來尋找相似特征運營日,因此尚存在一定不足。未來將借助機場運行控制中心大數據平臺,進一步挖掘運營日的特征屬性(如天氣狀況,淡、旺季類型)來確定與預測日相似的歷史運營日,完善理論模型,提高模型的普適性。
2.2 結果分析



3 結 論