付茂洺,陳紀宗
(中國民用航空飛行學院,廣漢 618307)
互聯網的高速發(fā)展,也對民航空中交通管理系統(tǒng)的智能化提出的新要求。歐洲和美國的SERSAR和NextGen均采用了基于航跡(trajectory based operation,TBO)的運行理念。該模式下通過飛機飛行時間和軌跡的準確預測,有效降低飛行航路的不確定性,同時提高航空運行的安全,以及在飛機出現故障時計算有效的故障發(fā)生時間和可能進行迫降的地點,對后續(xù)救援工作提供有力的幫助。
國內外學者對航跡預測的研究方法主要有:
基于參數估計的方法,該類方法需要獲取飛機在飛行過程中的各類數據。文獻[1]通過仿真實驗模型對飛行階段的軌跡特征生成4D飛行軌跡。文獻[2]提出基于飛行時間、耗油量等指標構建預測模型,實驗結果表明可以提升TBO的魯棒性。雖然對航跡預測做出了重要貢獻,但大多數研究都是在理想情況下實現,很少考慮現實環(huán)境對飛行軌跡的影響。此外,大量參數數據也都大多涉及商業(yè)隱私性,不易獲取,一旦數據出現不完整,預測精度將大打折扣。
為了解決上述問題,基于無參數估計方法應運而生,該類方法是建立在假設情況下的預測方法。文獻[3]提出直接根據目標機的歷史位置預測未來位置。文獻[4]提出MIEKF有效減少預測模型的誤差,提高預測系統(tǒng)的魯棒性,以及穩(wěn)定性和實時性。文獻[5]提出基于混合方法的軌跡預測,對歷史軌跡數據分析建模,在保證準確性的基礎上保持長期穩(wěn)定性。無參數模型需要大量的建模分析,但內部網絡結構相對簡單,因此可能導致模型的魯棒性不足,如果數據中存在冗雜數據可能會對預測結果影響較大。
本文在現有的經緯軌跡數據基礎上,以LSTM模型為主體,通過學習歷史軌跡與下個位置之間的關系,建立深度學習模型,從而預測將來可能出現的位置。可用于解決空域沖突、緊急救援等,本文使用的數據是來自某機場交通管理系統(tǒng)中某航班從國內機場A到國內機場B的歷史飛行數據。
LSTM是循環(huán)神經網絡(recurrent neural Network,RNN)的變體,能解決普通RNN梯度爆炸或梯度消失的問題,適用于時間序列數據,它的下個時間周期輸入是上個時間周期的輸出。LSTM模型具有獨特的記憶模塊,可以減緩數據信息的丟失速度,LSTM單元包括輸入門、輸出門、遺忘門以及輸入節(jié)點等,內部結構如圖1所示。
圖1 LSTM內部網絡圖
在當前時刻從輸入層輸入的信息會首先經過輸入門,輸入門的開關決定當前時刻的信息是否輸入到記憶細胞中,計算公式為:
式(1)中,w是輸入門的權重矩陣,b是輸入門的偏置項。
用于決定當前時刻是否有信息從記憶細胞輸出。
當前時刻的記憶細胞中的值都會經歷一個是否被遺忘的決策,這些決策都由遺忘門決定。
W是遺忘門的權重矩陣,[,x]表示把兩個向量連接成一個更長的向量,b是遺忘門的偏置項,是sigmoid函數,如果輸入的維度是d,隱藏層的維度是d,單元狀態(tài)的維度是d(通常d=d),則遺忘門的權重矩陣W維度是d*(d+d)。事實上,權重矩陣W是由兩個矩陣拼接而來的:一個是W,它對應的輸入項,其維度為d*d;另一個是W,它對應的輸入項X,其維度為d*d。W可以寫為:
信息傳遞的順序是先進入輸入門,觀察是否有信息輸入;再由遺忘門判斷是否遺忘記憶細胞里的內容;最后經過輸出門,判斷是否將當前時刻的數據進行輸出。流程如圖2所示。
圖2 LSTM單元結構
通過三道門之后,使得LSTM可以保留有用的特征,而拋棄作用較小的特征,從而增大記憶長度,提高長時間序列問題的處理能力。
分析目標航班的數據后,使用LSTM神經網絡建立預測模型,預測過程主要分為:數據預處理、模型訓練、預測與真實值對比分析。
首先對航班軌跡數據進行篩選,以前四個經緯度判斷第五個經緯度是否發(fā)生較大偏差,對數據中的冗雜和缺失進行平滑處理,以保證整個航線的準確度。數據處理判斷公式如下所示:
2.1.1 配置訓練集與測試集
模型數據集由訓練集與測試集組成,訓練集用于訓練模型;測試集用于檢測驗證模型的準確度。本文設定用前九個位置數據預測下個位置,則輸入后劃分訓練集和測試集數據如表1所示。
表1 示例數據集
2.1.2 數據歸一化
為了降低數據取值范圍對網絡最終準度的影響,需要把輸入數據歸一化到[0,1]區(qū)間內。本文采用min-max進行歸一化,公式如下所示:
其中為各個維度的最大值,為各個維度的最小值,x為歸一化后的數據,歸一化可以盡可能消除數量級對最終預測的影響,且不會破壞數據集原本的內在聯系。使用歸一化后的數據作為輸入數據則預處理基本完善。
LSTM預測模型主要分為三層,分別是輸入層、隱藏層、輸出層。預測模型如圖3所示。
圖3 LSTM預測模型
對經過上一節(jié)處理后的數據按照10∶1劃分,采用大小為的窗口進行分割數據,以X的,二維坐標位置信息做數據標簽。隱藏層的和分別作為LSTM細胞的狀態(tài)與輸出。故模型的預測輸出Y 可用如下公式表達:
經過訓練模型迭代訓練,直到損失函數值收斂,即可得到最終的LSTM預測模型。再將模型的輸出經過反歸一化處理,得到真實的經緯度坐標值,即可得到具有參考意義的二維坐標。
時間窗口的選擇:LSTM模型最終的性能會受到輸入時序長度的影響,過長或過短的序列意味著記憶單元會記憶多余冗雜特征或無法記憶關鍵特征。經多次反復實驗后,本文在實驗中選擇十個時刻的軌跡特征來預測下一時刻,也就是說時間窗口等于十時為模型的最佳大小。
拋開時間窗口,合適的超參數同樣對模型的性能有巨大的影響,本文模型超參數主要包括:學習率alpha(簡寫為α),模型LSTM隱藏層的層數,隱藏層中神經元個數,訓練集單次輸入個數Batch_Size(簡寫為B),防止過擬合Droput,模型總迭代次數epoch(簡寫為E),損失函數均方誤差計算(簡寫為MSE,并設置起始值為0.0075,最小值為0.0001),優(yōu)化器Adam,輸入序列長度μX10的一維矩陣。參數設置如表2所示,網絡模型訓練結果如表3所示。
表2 參數設置
表3 網絡模型訓練結果
本實驗的航班軌跡是來自某機場交通管理系統(tǒng)中某航班從國內機場A到國內機場B的歷史飛行數據。數據時間間隔為1~10 s不等,經過上一節(jié)數據清理以及歸一化后,總計10000條位置數據。將該航班軌跡按10∶1劃分后分別作為訓練集和測試集,經過反復實驗并調優(yōu)后,隨機選取該機場另外10個航班用于測試模型的精度與誤差分析。本文的實驗設備如表4所示。
表4 實驗設備
通過模型預測當前飛機位置為(,),實際飛機位置為(,)。使用均方誤差(MSE)來評估預測精度,將經緯度轉換為弧度后,用Haversine公式計算球面兩點間的距離,MSE以及Haversine公式如下所示:
變形轉化為可以計算的公式,則有:
MSE公式中,y是真實值,y是預測值,為樣本個數,為當前系數。
Haversine公式中,是任意兩點之間的中心角,是球面兩點直接的球面距離,是球體的半徑,和表示兩點的維度;和表示兩點的經度。預測過程如圖4所示。
圖4 LSTM模型預測過程
為了驗證當前模型對不同航班的預測效果,取同一機場的9個航班數據,對數據集按照10∶1劃分為訓練集和測試集,按照上節(jié)所述步驟進行訓練,并預測飛行軌跡,計算預測軌跡和真實軌跡之間的誤差,結果如表5所示,9個航班軌跡以及預測軌跡如圖5所示。
表5 預測誤差
圖5 航班預測
本文通過對航班航跡飛行數據研究,在航跡數據的基礎上,結合時間序列方法,提出了基于LSTM模型的短期航班航跡預測方法。在真實數據的基礎上,使用LSTM模型進行航跡預測,大量實驗證明了LSTM模型算法的有效性。
本文的航跡預測算法仍存在一些不足。例如現在只能對較短航班航跡進行預測,且時間采樣間隔較小,對于連續(xù)跨間隔的航跡經緯度預測仍需要多次迭代實現,且有一定概率導致偏離正確航跡,使得誤差在迭代中變大。因此,下一步將考慮多個模型組合使用,比如ARIMA、注意力機制等,提高算法模型精度。同時也會引入更多特征,比如高度、轉向、飛行姿態(tài)等來降低模型誤差。