周仕琦,蔡成林
(湘潭大學 自動化與電子信息學院,湖南 湘潭 411105)
隨著我國北斗衛(wèi)星導航系統(tǒng)(BDS)率先在國際上提供精密單點定位(PPP)星上服務,如何讓BDS 提供更加精準的服務變成了當下的熱門研究.而可靠的衛(wèi)星鐘差短期預報結果將極大地提升PPP 的精度,能夠推動實時精密單點定位(RT-PPP)技術的研究[1].
在衛(wèi)星鐘差預報方面,國內外學者已經做了大量工作,對衛(wèi)星鐘差預報提出了若干鐘差預報模型.其中,灰度預測模型(GM(1,1))、二次多項式預測(QP)模型和自回歸滑動平均模型(ARMA)是比較常用的衛(wèi)星鐘差預報模型[2-3].(GM(1,1))模型和QP 模型建模簡單,ARMA 模型能很好地反映數據間的相關性,因此這幾種常用模型已經被廣泛應用于測繪導航之中.但上述方法僅僅是對衛(wèi)星的原始鐘差進行的研究,王宇譜等[4]研究表明使用鐘差一次差分序列可以有效降低預報誤差,提升預報精度.然而,經過一次差分后的序列呈非線性,多項式模型不適用于非線性數據的建模;(GM(1,1))模型受發(fā)展系數和灰作用量影響較大,對非線性序列預報效果也不理想;ARMA模型雖然在鐘差預報中顯示出優(yōu)良的特性,但在擬合模型參數時,模型的識別和定階的不準可能會影響ARMA 預報精度[5].針對這些問題,王潤等[6]利用Elman 神經網絡對衛(wèi)星鐘差一次差分的序列進行建模預報,取得了一定的效果.然而,傳統(tǒng)的神經網絡由于使用梯度算法,容易導致局部最小而影響預報精度.極限學習機(ELM)與傳統(tǒng)的神經網絡模型相比,泛化能力更強,并且能夠解決傳統(tǒng)基于梯度算法的神經網絡模型易陷入局部最小、需要合適的學習率等問題[7].
在這些研究的基礎上,本文提出一種利用一次差分數據優(yōu)化殘差組合預測模型,并與使用鐘差一次差分的傳統(tǒng)模型的預測效果進行比較,探究組合方法的性能.
ARMA 模型是一種被廣泛應用于鐘差預報領域的線性平穩(wěn)時間序列模型,模型公式為
式中:e(t)為 被預測變量;e(t-i)為與被預測變量相關的滯后階;c為常數項;εt為白噪聲(WN)序列,服從均值為0 的正態(tài)分布;αi為自相關系數(i=1,2,3,···,q);p,q分別為自回歸和移動平均中的滯后階.
p,q參數的選取對ARMA 模型的擬合效果至關重要,若參數選取不當,則會導致模型精度降低.當訓練鐘差樣本N固定時,使赤池信息量準則(AIC)達到最小值的(p,q)就是最佳組合參數,AIC 的定義為
式中:N為衛(wèi)星鐘差樣本個數;L為似然函數.
ELM 模型是一種基于單隱層的前向神經網絡模型.通過隨機搜索或人為給定的方式,確定輸入層的權值和隱含層的偏置,再利用廣義逆矩陣理論計算輸出層權值,并根據此權值計算出模型的預測值[8].其拓撲結構如圖1 所示.
圖1 ELM 模型結構
圖1 中,xj∈Rn,j=1,2,···,N為N個樣本組成的樣本空間;ai=[a1,a2,···,aN]為 輸入權值;bi為隱含層節(jié)點的偏置;βi為隱含層到輸出層的權重;Oj為模型輸出.由圖1 可知,一個具有L個隱含節(jié)點的ELM 模型可表示為
式中,g(x)為激活函數.當網絡模型能夠零誤差逼近輸出樣本矩陣Tm=[t1,t2,···,tm]∈Rm時,即
此時模型就能表示為
公式(5)可以簡化為
式中,H為隱藏層輸出矩陣.這時式(6)可看作尋找線性系統(tǒng)的最小二乘解,由廣義逆理論可得其解為
式中,H+為H的廣義逆矩陣.
對于同一顆衛(wèi)星的鐘差數據而言,相鄰歷元在無鐘跳和粗差的情況下變化量較小,從整體上說呈線性趨勢.然而,由于ELM 神經網絡中非線性激活函數的影響,導致其對未作差分處理的鐘差序列預報能力可能不及傳統(tǒng)模型[9].因此本文中使用鐘差的一次差分序列作為樣本,而要使用一次差分序列,對鐘差的預處理是十分有必要的.文獻[10]提出了利用中位數探測(MAD)方法處理北斗衛(wèi)星鐘差一次差分后的差分序列,并使用GM(1,1)與ARMA 模型組合進行預測的方法,取得了一定的效果.然而,由于北斗衛(wèi)星鐘差數據存在數據質量較低、粗差較多尤其是存在較多微小的跳變等問題,并且同時由于MAD 法對粗差大小不敏感,且存在參數設置問題,會導致MAD 法的粗差探測效果不佳,容易漏過許多較小的粗差和跳變.文獻[11]表明在GPS 原始時間序列的粗差剔除中,四分位法(IQR)對粗差的探測效果要優(yōu)于MAD法.故本文將利用四分位法和拉格朗日插值法對北斗衛(wèi)星鐘差一次差分數據進行預處理,然后使用經過預處理后的北斗衛(wèi)星鐘差一次差分數據.
一次差分原理如下:設X={x(1),x(2),···,x(n-1)}為一組n維的衛(wèi)星鐘差序列,將衛(wèi)星鐘差數據進行歷元間差分,可以得到一組未作預處理的一次差分序列:
對一次差分序列進行預處理后,可以得到經過預處理后的一次差分序列
平穩(wěn)時間序列一般可以通過下式表示[12]:
式中:Lt為趨勢項;Rt為殘差隨機項.經過一次差分的衛(wèi)星鐘差序列也存在趨勢項和殘差隨機項,將ARMA模型對衛(wèi)星鐘差序列擬合預測的結果作為趨勢項進行提取,并與ELM 模型優(yōu)良的構建非線性映射能力相結合,即組成一次差分優(yōu)化殘差組合模型,理論上可以提升模型的預測效果.一次差分優(yōu)化殘差組合模型原理如圖2 所示.
具體流程為:
1)對原始一次差分序列做預處理,采用IQR 法進行粗差檢測并剔除粗差,得到預處理后的序列{Δx′(1),Δx′(2),···,Δx′(n-1)}.
2)利用ARMA 模型對序列進行建模,得到建模序列 {Δ(1),Δ(2),···,Δ(n-1)},并與預處理后的序列作差,得到殘差序列:
5)利用一次差分還原公式將組合模型預報結果進行差分還原,得到一次差分優(yōu)化殘差組合預測結果,即最終預測結果,差分還原的公式為
式中:X(k)為 第k個歷元的預報值;X(n-1)為原始鐘差序列的最后一個鐘差值;ΔX′′(k)為一次差分優(yōu)化殘差組合預測值.
為了探究一次差分優(yōu)化殘差組合模型在北斗衛(wèi)星鐘差短期預報的效果,本文使用了2022-03-16 來源于武漢大學IGS 數據中心提供的共24 h 事后精密鐘差數據,采樣間隔為30 s.并選取同在中軌道地球衛(wèi)星(MEO)軌道的三顆搭載不同類型原子鐘的北斗三號(BDS-3)衛(wèi)星C20(RAFS)、C23(RAFS)和C28(PHM)前12 h 作為建模數據進行建模,三顆衛(wèi)星原始相位如圖3 所示.
圖3 三顆衛(wèi)星原始相位
由于衛(wèi)星鐘差的原始數據通常因為衛(wèi)星鐘漂或者隨機噪聲,不可避免地會產生一定的系統(tǒng)誤差,當系統(tǒng)誤差過大時,數據就會出現突兀點和缺失點,不適合直接當作建模數據進行建模分析,因此,對數據的預處理是十分重要的.對一次差分后的頻率數據進行粗差探測剔除可減少誤差影響,從而提高預報精度.根據之前的討論,本文采用IQR 進行粗差檢測,并與中位數探測法進行比較,IQR 具體公式如下:
式中:C為判定系數;x為鐘差的頻率數據;M為中位數;Q1和Q2分別為第25百分數和第75百分數.當|C|≤2 時,表示數據是十分優(yōu)質的;當|C|≥3時表示為異常結果,即存在問題數據,本文將|C|<3作為正常數據的標準,以C20 號衛(wèi)星的數據為例,實驗結果如圖3~5 所示.
由圖3(a)和圖4 可知,原始相位中存在著肉眼觀測不到的粗差,將相位數據轉換成頻率數據后,粗差將變得十分明顯,這時采用合適的粗差探測手段可以實現粗差的探測與剔除.
圖4 C20 頻率數據
由圖5 可知,MAD 法會漏過一些微小的跳變,導致探測效果不佳,從而影響模型預測精度.與MAD法相比,IQR 探測效果更好,對微小跳變更為敏感,更適合對質量數據欠佳的北斗衛(wèi)星鐘差數據進行粗差檢測.利用IQR 對數據進行粗差檢測,并確定粗差發(fā)生的位置后.可以先將粗差處的數據置0,再利用拉格朗日插值法對數據進行插值處理,完成對粗差的剔除.
圖5 粗差探測方法比較
ARMA 模型參數組合的選取和ELM 神經網絡隱含層神經元網絡個數的確定是進行衛(wèi)星鐘差預報實驗中極其重要的一環(huán),本文實驗中ARMA 模型參數組合如表1 所示,ELM 神經網絡輸入層設置為6,輸出層設置為1,隱含層一般為[2,10]范圍內的常數,具體根據實驗確定,本文結構為6-2-1,激活函數為Sigmoid 函數.
表1 ARMA 模型參數組合
本文將采用均方根誤差(RMSE)來評價預報結果的準確度,計算公式為[13]
式中:為IGS 提供的衛(wèi)星鐘差;xi為模型預測值.
為了比較模型的預報精度,本文利用GM(1,1)模型、ARMA 模型和文中的組合預報模型分別對C20、C23、C28 三顆衛(wèi)星前12 h 的衛(wèi)星鐘差數據進行建模,預測后6 h、12 h 的衛(wèi)星鐘差,進行探究北斗衛(wèi)星鐘差短期預報中一次差分優(yōu)化殘差組合模型的性能的短期實驗.GM(1,1)模型由于在衛(wèi)星鐘差一次差分前就進行了自加和自減,在進行一次差分處理后會導致精度不確定,因此本文對比試驗GM(1,1)模型使用未經一次差分處理的原始鐘差序列,其他模型使用經過一次差分處理后的鐘差序列.實驗結果如圖6~7和表2 所示.
圖6 各模型預報12 h 結果(局部)
圖6(a)~(c)各模型預報各衛(wèi)星12 h 鐘差的局部結果對比,圖7(a)~(c)分別為不同模型預報各衛(wèi)星12 h鐘差的殘差的絕對值對比.表2為不同模型預報6 h和12 h 的預報結果統(tǒng)計,結合圖表分析可知:
圖7 各衛(wèi)星不同模型預報殘差(12 h)
表2 不同模型短期預報結果RMSE 均值統(tǒng)計
1)當衛(wèi)星鐘差原始序列呈較強的線性時,ARMA模型、ELM 模型、優(yōu)化殘差組合模型在使用其一次差分序列后的預測精度都高于GM(1,1)模型,在預報6 h和12 h 衛(wèi)星鐘差序列中都達到了亞納米級;當衛(wèi)星鐘差原始序列呈較強的非線性時,使用一次差分序列的ELM 模型預測精度就會大幅下降,預測精度甚至不如GM(1,1)模型.而使用一次差分序列的ARMA模型和優(yōu)化殘差組合模型的預測能力明顯優(yōu)于其它兩種模型,表現出了一定的優(yōu)勢.
2)在優(yōu)化殘差組合模型中,主要是ARMA 模型的影響,ELM 的殘差預測項可看作對ARMA 模型的補償與修正,而這種補償效應的效果跟預處理后的一次差分序列中的趨勢性有關.當衛(wèi)星鐘差呈線性時,其一次差分序列往往表現出比較好的趨勢性,而ARMA 模型對趨勢性較強的序列往往有較高的預測精度,此時ELM 模型殘差預測結果的補償具有一定的不確定性,以C20和C23 號衛(wèi)星為例,組合模型在C20 上預測精度不及ARMA 模型,而在C23 號衛(wèi)星上預測精度則高于ARMA 模型.當原始鐘差序列呈非線性時,一次差分序列表現出較強的隨機性,這時ELM 模型的殘差預測結果就能在一定程度上補償ARMA 模型,提升ARMA 模型的預測精度,以C28 號衛(wèi)星為例,組合模型預報精度比ARMA 模型的預報精度在C28 上提升了38.2%,說明組合模型具有一定的效果.
3)由殘差對比結果可知,使用原始衛(wèi)星鐘差數據的GM(1,1)模型預報精度隨預報時長增加預報精度逐漸下降,穩(wěn)定性最差;使用一次差分數據的ELM模型面對非線性數據時穩(wěn)定性不佳;ARMA 模型和組合模型穩(wěn)定性明顯優(yōu)于其他兩種模型,且組合模型在數據呈非線性時預報精度更高,適合被用于北斗衛(wèi)星鐘差短期預報工作中.
本研究將對ARMA 模型良好的趨勢提取能力與構建非線性映射能力較強的ELM 神經網絡模型相結合,并應用于BDS-3 鐘差的預報之中,取得了一定的效果.本文首先利用IQR 代替?zhèn)鹘y(tǒng)的MAD 法對北斗衛(wèi)星鐘差一次差分序列進行粗差探測,結果表明,相比于MAD 法,IQR 更適用于對北斗衛(wèi)星的衛(wèi)星鐘差一次差分序列的粗差探測.然后利用ARMA 模型將經過預處理后的衛(wèi)星鐘差一次差分序列分成趨勢項和殘差隨機項,接著利用ELM 神經網絡模型對殘差部分進行建模預測,最后將ARMA模型的預測結果和ELM 神經網絡的殘差預測結果求和后進行差分還原.結果表明,當衛(wèi)星鐘差序列呈非線性時,ELM 模型的殘差預測項對ARMA 模型具有一定的補償效果,可以提升模型的預報精度.在之后的研究中,將采用優(yōu)化算法對ELM 模型進行優(yōu)化,并探究更多種不同模型間組合的效果.