胡向陽, 孫憲坤, 尹 玲, 李世璽, 張仕森
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
隨著全球定位系統(tǒng)(global positioning system,GPS)技術(shù)民用的普及,使得GPS技術(shù)能更好地應(yīng)用于測(cè)繪作業(yè)。通過GPS接收機(jī)采集觀測(cè)點(diǎn)的坐標(biāo)數(shù)據(jù),并對(duì)這些數(shù)據(jù)分析、研究,進(jìn)而對(duì)觀測(cè)點(diǎn)下一時(shí)刻的坐標(biāo)做出預(yù)測(cè),這為觀測(cè)點(diǎn)運(yùn)動(dòng)趨勢(shì)預(yù)判提供了重要依據(jù),因此,對(duì)GPS坐標(biāo)時(shí)間序列精準(zhǔn)預(yù)測(cè)是至關(guān)重要的工作。
目前,國內(nèi)外GPS坐標(biāo)時(shí)間序列預(yù)測(cè)方法主要是基于統(tǒng)計(jì)學(xué)的經(jīng)典模型,如切比雪夫多項(xiàng)式[1,2]、整合移動(dòng)平均自回歸(auto regressive integrated moving average,ARIMA)模型[3]、Neville插值法[4]。由于統(tǒng)計(jì)模型過分依賴平穩(wěn)性、穩(wěn)定性等假設(shè),隨著預(yù)測(cè)周期的增加,預(yù)測(cè)的穩(wěn)定性和精度都大大的降低。近年來,以長(zhǎng)短時(shí)記憶(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)[5~10]為代表的深度網(wǎng)絡(luò)以其通用性強(qiáng)、預(yù)測(cè)精度高等優(yōu)點(diǎn)逐漸成為時(shí)間序列預(yù)測(cè)的熱門的研究方向。尹玲等人用LSTM神經(jīng)網(wǎng)絡(luò)去做GPS坐標(biāo)時(shí)間序列的補(bǔ)全[9],但是在遇到序列缺失的情況時(shí),該方法只是對(duì)缺失處做了簡(jiǎn)單的標(biāo)記、過濾處理,這在一定程度上丟失了序列的信息,并且由于LSTM模型需要足夠的上下文信息來學(xué)習(xí)從輸入序列到輸出值的映射,而尹玲等人單一的輸入序列不能提供足夠的信息。本文探索引入可并行輸入的多變量LSTM模型作為GPS坐標(biāo)時(shí)間序列預(yù)測(cè)的模型來提高預(yù)測(cè)精度。
由于地處同一版塊的GPS接收機(jī)在數(shù)據(jù)觀測(cè)的過程中會(huì)受到如:衛(wèi)星軌道誤差、電離層、對(duì)流層、多路徑效應(yīng)、地殼運(yùn)動(dòng)等相同因素的影響,這使得觀測(cè)到的數(shù)據(jù)多個(gè)特征指標(biāo)間相互關(guān)聯(lián)。通過對(duì)這些數(shù)據(jù)進(jìn)行關(guān)聯(lián)度分析后,選出與將要預(yù)測(cè)的數(shù)據(jù)相關(guān)性較強(qiáng)的數(shù)據(jù)作為輸入,送入多變量訓(xùn)練模型訓(xùn)練,最后利用LSTM網(wǎng)絡(luò)對(duì)多變量時(shí)間序列之間的非線性關(guān)系進(jìn)行動(dòng)態(tài)建模,利用佘山站及周邊的崇明島站、寶山站、金山站的歷史數(shù)據(jù)訓(xùn)練預(yù)測(cè)模型來預(yù)測(cè)佘山站的高程(U)向的數(shù)據(jù),通過對(duì)比結(jié)果表明,本文提出的基于多變量的GPS坐標(biāo)時(shí)間序列模型預(yù)測(cè)效果較好。
GPS時(shí)間序列數(shù)據(jù)是中國地震局全球?qū)Ш叫l(wèi)星系統(tǒng)(global navigation satellite system,GNSS)[12,13]數(shù)據(jù)產(chǎn)品平臺(tái)提供。經(jīng)由Gamit軟件解算的基準(zhǔn)站佘山、崇明島站、寶山站、金山站的1999—2017年的時(shí)間序列數(shù)據(jù)。經(jīng)檢查下載的18年的GPS時(shí)間序列數(shù)據(jù)存在著不同程度的缺失,只有2008年的數(shù)據(jù)相對(duì)完整。鑒于實(shí)驗(yàn)數(shù)據(jù)完整性原則選用佘山站、崇明島站、寶山站、金山站 2008年的東(E)向、北(N)向、高程(U)向共12個(gè)序列數(shù)據(jù)用作實(shí)驗(yàn)數(shù)據(jù)。
對(duì)佘山站高程(U)向數(shù)據(jù)預(yù)測(cè)結(jié)果產(chǎn)生作用的數(shù)據(jù)有很多。如果說將這些數(shù)據(jù)都送入LSTM模型訓(xùn)練,勢(shì)必會(huì)使得模型學(xué)習(xí)難度增加,因此需要對(duì)佘山站、崇明島站、寶山站、金山站東(E)向、北(N)向、高程(U)向的數(shù)據(jù)做關(guān)聯(lián)度分析。選用灰色關(guān)聯(lián)度分析方法[14,15]篩選出與佘山站高程(U)向數(shù)據(jù)相關(guān)性最強(qiáng)的數(shù)據(jù)送入模型訓(xùn)練,把相關(guān)性低的數(shù)據(jù)舍棄,用以提高模型訓(xùn)練效率。
灰色關(guān)聯(lián)分析的核心思想是通過分析母序列(參考序列)與子序列(比較序列),集合形狀的相似程度,用來判斷母序列與不同子序列之間的聯(lián)系緊密程度。結(jié)合上海地區(qū)佘山站、崇明島站、寶山站、金山站等GPS觀測(cè)站觀測(cè)的數(shù)據(jù)做關(guān)聯(lián)度分析,其步驟如下:
步驟1 確定母序列。首先要確定母序列和子序列。文中所要預(yù)測(cè)的時(shí)間序列是佘山站高程(U)向的數(shù)據(jù),因此以佘山站高程(U)向數(shù)據(jù)作為母序列。崇明島站、寶山站、金山站等測(cè)站的數(shù)據(jù)作為子序列。設(shè)母序列為Y={Y(k)|k=1,2,…,n};子序列為Xi={Xi(k)|k=1,2,…,n},i=1,2,…,m。
步驟2 數(shù)據(jù)無量綱化處理。在灰色關(guān)聯(lián)度分析前要對(duì)各個(gè)測(cè)站的數(shù)據(jù)進(jìn)行無量綱化處理。具體方法為
xi(k)=Xi(k)/Xi
(1)
式中k=1,2,…,n;i=0,1,2,…,m。
步驟3 關(guān)聯(lián)系數(shù)的計(jì)算。y(k)與xi(k)的關(guān)聯(lián)系數(shù)
ξi(k)=
(2)
式中ξi(k)為y(k)與xi(k)在第k點(diǎn)的關(guān)聯(lián)系數(shù);ρ為分辨系數(shù),取值范圍為(0,1),一般取ρ=0.5。
記Δi(k)=|y(k)-xi(k)| ,則式(2)為
(3)
利用式(3)分別計(jì)算每個(gè)測(cè)站與佘山站高程(U)向GPS坐標(biāo)時(shí)間序列的灰色關(guān)聯(lián)度的值。
步驟4 計(jì)算關(guān)聯(lián)度。步驟3計(jì)算的關(guān)聯(lián)系數(shù)有多個(gè)值,且這些值分布不均,不便整體比較。因此用關(guān)聯(lián)系數(shù)的平均值作為兩個(gè)序列間的關(guān)聯(lián)程度。關(guān)聯(lián)度ri計(jì)算公式為
(4)
式中k=1,2,…,n。
由式(4)可求出佘山站與崇明島站、金山站、寶山站東(E)向,北(N)向,高程(U)向三個(gè)方向數(shù)據(jù)的關(guān)聯(lián)系數(shù)的平均值為-0.35,0.42,-0.24,0.35,0.36,0.22,0.45,0.44,0.11,0.46,0.44。從相關(guān)性分析結(jié)果可以看出與佘山站高程(U)向相關(guān)性強(qiáng)的數(shù)據(jù)是寶山站U向(0.46)、金山站U向(0.45),因此選用佘山站U向、寶山站U向、金山站高程(U)向這三組數(shù)據(jù)用于訓(xùn)練預(yù)測(cè)。
多變量GPS時(shí)間序列模型的網(wǎng)絡(luò)結(jié)構(gòu)分為3層:輸入層、隱含層、輸出層,如圖1所示為多變量GPS時(shí)間序列預(yù)測(cè)模型。
圖1 多變量GPS時(shí)間序列預(yù)測(cè)模型
輸入層是控制數(shù)據(jù)的輸入格式,主要包括訓(xùn)練集測(cè)試集劃分,將輸入的GPS數(shù)據(jù)重塑成LSTM模型需要的數(shù)據(jù)格式,即樣本、時(shí)間步、特征的三維數(shù)據(jù)。輸入層將GPS觀測(cè)數(shù)據(jù)轉(zhuǎn)化為有監(jiān)督學(xué)習(xí)的數(shù)據(jù),選用t個(gè)時(shí)間步作為訓(xùn)練間隔,以每個(gè)時(shí)間步前t個(gè)數(shù)據(jù)作為當(dāng)前時(shí)刻的輸入訓(xùn)練數(shù)據(jù),用該時(shí)刻所對(duì)應(yīng)的數(shù)據(jù)樣本值作為輸出值,進(jìn)行迭代訓(xùn)練。
隱含層由若干個(gè)LSTM單元組成,主要是用來學(xué)習(xí)和存儲(chǔ)數(shù)據(jù)中蘊(yùn)含的信息。隱含層可以根據(jù)數(shù)據(jù)訓(xùn)練效果進(jìn)行合理增加和減少。
輸出層將預(yù)測(cè)輸出的數(shù)據(jù)轉(zhuǎn)換為和輸入數(shù)據(jù)相同格式的數(shù)據(jù),并對(duì)目標(biāo)輸出數(shù)據(jù)做損失函數(shù),經(jīng)有損失函數(shù)計(jì)算得出的梯度反向傳播調(diào)整公式中的權(quán)值都會(huì)被送入隱含層。隱含層將這些權(quán)重信息更新到模型中,依次迭代直到損失函數(shù)收斂。最后對(duì)預(yù)測(cè)結(jié)果進(jìn)行反歸一化處理,轉(zhuǎn)換為與輸入時(shí)間序列一致的GPS時(shí)間序列數(shù)據(jù)。
網(wǎng)絡(luò)訓(xùn)練部分利用實(shí)際輸出和預(yù)測(cè)輸出計(jì)算損失函數(shù),選用均方誤差(mean square error,MSE)為損失函數(shù),選用目前應(yīng)用廣泛的適應(yīng)性動(dòng)量估計(jì)(adaptive moment estimation,Adam)算法[11]作為優(yōu)化器。以損失函數(shù)達(dá)到最小作為訓(xùn)練的最終目標(biāo),數(shù)據(jù)通過這些單元反復(fù)迭代、調(diào)整權(quán)值來降低損失函數(shù)值直至收斂。輸出層將結(jié)果還原成為原始數(shù)據(jù)格式。
本文通過多變量LSTM模型對(duì)2009年1月佘山站GPS時(shí)間序列高程(U)向數(shù)據(jù)進(jìn)行預(yù)測(cè),最后將預(yù)測(cè)結(jié)果與真實(shí)值進(jìn)行對(duì)比。根據(jù)佘山站高程(U)向觀數(shù)據(jù)與其他方向的觀測(cè)數(shù)據(jù)的相關(guān)性大小,實(shí)驗(yàn)選取2008年佘山站和寶山站、金山站高程(U)向數(shù)據(jù)作為模型輸入,來預(yù)測(cè)2009年1月佘山站高程(U)向數(shù)據(jù)。為確保實(shí)驗(yàn)真實(shí)有效將佘山站高程(U)向2009年1月的數(shù)據(jù)從數(shù)據(jù)集中剔除,即假設(shè)這段數(shù)據(jù)缺失,余下的數(shù)據(jù)以4︰1的比例劃分為訓(xùn)練集和測(cè)試集。訓(xùn)練好模型后以假設(shè)數(shù)據(jù)缺失部分的前一部分?jǐn)?shù)據(jù)作為輸入,來預(yù)測(cè)缺失部分的數(shù)據(jù),然后將預(yù)測(cè)結(jié)果與該缺失部分真實(shí)的數(shù)據(jù)做對(duì)比來說明預(yù)測(cè)效果。
表1 超參數(shù)選取
實(shí)驗(yàn)所用操作系統(tǒng)為Ubutu16.04,編程語言Python2.7,算法框架為Keras2.04;硬件配置CPU-Intel i5,內(nèi)存8 G。
深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中會(huì)涉及到眾多超參數(shù)調(diào)節(jié),包括滯后(Lag)、批訓(xùn)練數(shù)(Batchsize)、神經(jīng)元個(gè)數(shù)(Neuron)等。參數(shù)的選取會(huì)對(duì)模型訓(xùn)練造成明顯的影響,如Batchsize的合理選擇可以在保證模型性能基礎(chǔ)上提高模型訓(xùn)練的效率,觀察訓(xùn)練集和測(cè)試集上損失曲線根據(jù)提前終止方法確定合適的訓(xùn)練周期。如表1是實(shí)驗(yàn)過程中用到的部分模型超參數(shù)。圖2是超參數(shù)對(duì)訓(xùn)練模型損失函數(shù)的影響。
圖2 超參數(shù)對(duì)模型損失函數(shù)的影響
由圖2三角形線可以看出當(dāng)神經(jīng)元個(gè)數(shù)取32,批訓(xùn)練數(shù)取6,迭代次數(shù)為15時(shí)損失函數(shù)曲線開始收斂,由正方形線所示當(dāng)神經(jīng)元個(gè)數(shù)取64,批訓(xùn)練數(shù)取6時(shí)損失函數(shù)曲線稍有延遲,由實(shí)線所示當(dāng)神經(jīng)元個(gè)數(shù)取100,批訓(xùn)練數(shù)取96時(shí)損失函數(shù)曲線收斂最慢,因此,優(yōu)先選用神經(jīng)元個(gè)數(shù)32,批訓(xùn)練數(shù)取6的訓(xùn)練方案。
選取2008年佘山站高程(U)向數(shù)據(jù)和與之相關(guān)性最強(qiáng)的寶山站高程(U)向數(shù)據(jù)、金山站高程(U)向數(shù)據(jù)作為模型輸入進(jìn)行訓(xùn)練預(yù)測(cè),如圖3是模型最終的預(yù)測(cè)結(jié)果,圖中的實(shí)線部分為2009年1月1日到1月30日的佘山站高程(U)向的實(shí)際觀測(cè)值,虛線部分是預(yù)測(cè)值,雖然預(yù)測(cè)值曲線和真實(shí)值曲線稍微有些偏差,但運(yùn)動(dòng)趨勢(shì)基本接近,預(yù)測(cè)結(jié)果較為理想。
圖3 模型預(yù)測(cè)結(jié)果
為了驗(yàn)證各個(gè)方向的觀測(cè)數(shù)據(jù)對(duì)佘山站高程(U)相缺失數(shù)據(jù)預(yù)測(cè)精度的影響,實(shí)驗(yàn)還選取了佘山站高程(U)向數(shù)據(jù)、金山站北(N)向數(shù)據(jù)、寶山站北(N)向數(shù)據(jù)做對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖4所示,實(shí)線部分為實(shí)際值,虛線部分為預(yù)測(cè)值。
圖4 佘山站高程(U)向、金山站北(N)向、寶山站北(N)向數(shù)據(jù)作為輸入的預(yù)測(cè)結(jié)果
選取佘山站高程(U)向數(shù)據(jù)和金山站東(E)向數(shù)據(jù)、寶山站東(E)向數(shù)據(jù)作為模型輸入,預(yù)測(cè)結(jié)果如圖5所示,實(shí)線部分為實(shí)際值,虛線部分為觀測(cè)值。
圖5 佘山站高程(U)向、金山站東(E)向、寶山站東(E)向數(shù)據(jù)作為輸入的預(yù)測(cè)結(jié)果
為了便于對(duì)預(yù)測(cè)結(jié)果好壞做比較,實(shí)驗(yàn)選用均方根誤差(root mean square error, RMSE)作為預(yù)測(cè)精度的評(píng)估標(biāo)準(zhǔn),均方根誤差數(shù)學(xué)公式為
(5)
表2 3種模型預(yù)測(cè)精度對(duì)比
由比較結(jié)果可知,無論一次預(yù)測(cè)15天還是一次性預(yù)測(cè)30天的方案中,多變量LSTM(本文預(yù)測(cè)模型)在3組預(yù)測(cè)結(jié)果中RMSE值最低,預(yù)測(cè)誤差最小。實(shí)驗(yàn)中,ARIMA預(yù)測(cè)模型訓(xùn)練速度相對(duì)于多變量LSTM要快,但預(yù)測(cè)結(jié)果誤差較大。單變量LSTM預(yù)測(cè)模型在一次性預(yù)測(cè)15天的方案中比多變量LSTM預(yù)測(cè)模型稍差,并且在一次性預(yù)測(cè)30天的方案中明顯比多變量LSTM預(yù)測(cè)模型差,由以上結(jié)果可知多變量LSTM預(yù)測(cè)模型在預(yù)測(cè)多天數(shù)據(jù)的方案中優(yōu)勢(shì)更為明顯。
本文針對(duì)目前GPS坐標(biāo)時(shí)間序列預(yù)測(cè)精度不足的問題,提出了一種基于多變量LSTM的預(yù)測(cè)方法。該方法不但能克服傳統(tǒng)統(tǒng)計(jì)學(xué)的預(yù)測(cè)方法的長(zhǎng)期依賴問題,而且有效提高了預(yù)測(cè)精度。通過不同模型對(duì)比實(shí)驗(yàn)表明:該模型在GPS坐標(biāo)時(shí)間序列預(yù)測(cè)精度方面優(yōu)于ARIMA模型和單變量LSTM模型。將來的工作將考慮擴(kuò)大數(shù)據(jù)集,提高模型的泛化能力。