?

基于XGBoost-PredRNN++的海表面溫度預測①

2022-11-07 09:07杜揚帆伍孝飛喬百友
計算機系統應用 2022年10期
關鍵詞:表面溫度步長預測

杜揚帆,伍孝飛,喬百友,2

1(東北大學 計算機科學與工程學院,沈陽 110819)

2(東北大學 醫學影像智能計算教育部重點實驗室,沈陽 110169)

1 引言

海洋表面溫度是全球海洋的一個重要物理量,常作為研究水團性質、鑒別洋流的基本指標.研究海表面溫度時空分布及其變化規律,從而進行海表面溫度預測是海洋環境信息預報的基礎[1].海水溫度通常作為數值天氣預報和海洋預報模型的邊界條件.這些模型越來越多地用于實際應用中,包括: 海上作業、海洋航運業務、海上安全應急響應、波浪和沖浪的研究、漁業支持和旅游等.近年來,CTD 和XTB 測溫數據、衛星高度計數據、Argo 溫鹽剖面數據越來越豐富,基于神經網絡的預測方法、三維變分技術等的出現促進了海洋預報的快速發展.特別是隨著海洋觀測技術的快速發展,海洋數據規模呈現了爆炸性增長,這對海表溫的預測帶來了新的機遇和挑戰.在這種情況下,如何充分利用這些海洋大數據和先進的人工智能技術,實現對海表溫度的高效精確預測就成為一個非常重要的課題,也是當前海洋研究領域的研究熱點之一.預測海表溫度方法可大致分為兩大類[2,3],分別為基于數值的方法和基于數據驅動的方式.基于數值的方法是建立在物理、化學、生物參數以及相互作用的復雜關系基礎上,利用微分方程對海表溫度進行定義和描述.該方法復雜度高,不同海域需要不同的數值預測模型,預測時效較差.數據驅動的方法是以數據為中心來解決海表溫度預測問題,是通過機器學習技術來學習海表溫度變化規律,從而去預測未來溫度的變化情況.數據驅動方法有馬爾可夫模型[4]、支持向量機(SVM)[5]、神經網絡[6]等,這些方法大多缺少對長時序時間依賴特征的提取,其預測精度有限.

近年來,隨著深度學習的不斷發展,研究人員將深度學習技術運用到了海表面溫度的預測中.Zhang 等人[7]采用LSTM 模型實現了海表面溫度的預測,并取得了較好的預測結果,但該模型沒有考慮海表面溫度之間的空間相關性,因而不適合局部海表溫的預測.2019年ConvLSTM 模型被應用到了海表面溫度預測中[8],該模型通過CNN 網絡提取溫度之間空間特征,通過LSTM 網絡提取時間特征,有效利用了時空特征,取得了較好的預測結果.但對于長時序預測,該模型復雜度較高,還存在梯度消失問題.張弛等人[9]使用向量回歸模型對海洋次表層溫度異常進行了預測,對于淺水域有較好的精度,但當海洋深度增加時,其預測精度逐漸降低.吳琦[10]在ConvLSTM 模型的基礎上添加了ConvGRU,對海洋表面溫度遙感預測,但是不能很好地預測長期海洋表面溫度.韓震等人[11]使用基于遙感數據的多層ConvLSTM 進行海表溫度預測計算,但是對于小區域,誤差較大,不能很好地對局部短時間進行預測.

因此,本文將視頻預測時序學習網絡PredRNN++[12]引入到了海表溫的預測中,提出了一種基于XGBoost[13]結合PredRNN++ (XGBoost-PredRNN++)的海表溫預測方法.該方法首先將海表溫數據處理成灰度圖片,然后利用機器學習模型XGBoost 來提取相應的時間特征,并采用CNN 模型將時間特征融合到海表溫數據中,并提取融合后海表溫數據之間的空間依賴關系.在此基礎上,利用PredRNN++網絡將時空依賴關系融合在數據序列中.避免了梯度消失問題.通過實驗驗證,本文相較于傳統方法中表現最好的結果,在MSE評價標準下數值減少了0.107 5.在SSIM評價標準下,由誤差值0.044 降到了0.038 7,減少了12.15%的誤差.

2 基于XGBoost-PredRNN++的海表溫預測

針對區域海表溫預測,本文提出了一種XGBoost結合PredRNN++的海表溫預測方法(XGBoost-PredRNN++),主要由3 部分構成,分別為數據預處理、時間特征抽取與融合、時空特征抽取與預測,方法總體框架如圖1 所示.

圖1 XGBoost-PredRNN++海表溫預測方法總體框架

數據預處理首先對原始SST 數據進行標準化處理,并采用Gamma 校正算法將其處理成一系列灰度圖片.時間特征抽取與融合主要利用XGBoost 模型提取預處理階段形成的灰度圖片數據的時間特征,并利用CNN 網絡將其融入到原始海表溫度數據中,并提取數據之間的空間依賴特征,形成新的SST 時序序列.時空特征抽取與預測就是用前一階段形成的SST 時序數據訓練PredRNN++預測模型,提取SST 時序數據之間的時間和空間依賴特征,從而實現對區域海表溫度的預測,后續將分別進行詳細介紹.

2.1 數據預處理

數據預處理主要完成對原始區域海表溫時序數據的預處理,主要包括數據的標準化和Gamma 矯正處理.

(1)數據標準化.對于原始海表溫時序數據,本文采用最大最小標準化方法將所有數據標準化到[0,1]范圍內,其計算過程如式(1)所示.

其中,xmax為樣本數據最大值,xmin為樣本數據最小值.x*是標準化后的數據.

(2)Gamma 矯正處理.某一區域同一時刻海表面溫度可以看作是一幅圖片,通過Gamma 矯正處理將其變換為灰度圖片,一方面降低圖片數據的維度,從而加快后續處理速度,另一方面通過Gamma 矯正增強圖像的細節,從而更好支持后續PredRNN++模型來提取時空特征.

經過數據預處理后,一組海表溫時序數據就變成一組由灰度圖片組成的海表溫時序數據,再通過滑動窗口對數據劃分,從而形成相應的訓練和測試數據,供下一階段使用.

2.2 時間特征抽取與融合

區域海表溫度預測是利用過去一段時間某個區域的歷史海表溫度數據來預測該區域未來一段時間的海表溫度,是一種自回歸的問題.SST 原始數據經過數據預處理后,形成灰度圖片形式的海表溫時序數據,本文考慮到海表溫數據所受的季節周期性影響,篩選出與海表溫度最相關的4 個時間特征,然后采用XGBoost模型將其融合為一個統一的長周期時間特征,然后再與海表溫數據一起作為CNN 模型的輸入,來提取海表溫數據之間的時空依賴特征,并將其融合成為新的具有時間特征的海表溫特征圖時序數據,由于增加了周期性時間特征,并提取了數據之間的空間特征,因而能夠提高預測的準確度[14].

假設某海洋區域有k個觀測點來觀測該區域的海表面溫度變化情況,若觀測次數為n,則可以用二維向量X來表示.向量元素xij(i∈1,2,···,k;j∈1,2,···,n)表示第i個觀測點第j次觀測值.對于每個觀測值,提取觀測時間所對應的季度、月份、周次和季節4 個長周期時間特征.對每個觀測值xij,可用Tij=(quarterij,weekij,monthij,seasonij)來表示其時間特征.將Tij作為XGBoost 模型的輸入特征,將xij作為XGBoost 模型的輸出標簽,對模型進行訓練.這樣對于每個海表溫數據xij,都可以通過XGBoost 模型得到融合后的時間特征數據,即長周期溫度預測值.同一時刻所有觀測點的海表溫數據構成了一張海溫圖片,其對應的時間特征數據同樣構成了一張海溫圖片.在此基礎上,采用CNN 網絡對時間特征和原始數據特征進行空間特征抽取與融合,并完成數據的特征降維,從而減小后期模型的代價.本文采用的海表面溫度數據X和提取后的時間特征數據的維度均為64×64.因此,CNN 網絡的輸入數據維度為64×64×2.本文采用單層卷積操作,卷積核大小為3×3,步長為1,填充方式為SAME,激活函數為ReLU,最終得到CNN 的輸出為Y,則Y的維度為64×64×1.CNN 網絡計算公式如式(2):

2.3 時空特征抽取與海表溫預測

本文將海洋表面溫度看作視頻中的一幀,并將每一幀的溫度制作成為灰度圖片,連續的多張灰度圖片就構成了某個海域海洋表面溫度的變化視圖.在此基礎上,利用CNN 網絡進行空間特征的初步提取與融合,并將最新的PredRNN++網絡引入到海表溫時序預測中,充分利用PredRNN++網絡所具有的更強空間依賴特征捕獲能力和自適應長短期特征提取能力,從而實現高精度海表溫的預測.PredRNN++模型由獨特的Casual LSTM (時空記憶單元的級聯操作)結構和GHU(梯度高速公路單元)構成,具有對時空序列預測問題的強大預測能力,同時也解決了PredRNN[15]網絡梯度消失問題,在視頻預測領域有著很好的表現.Casual LSTM 是3 層級聯結構,第1 層與LSTM 結構類似,其結構如圖2 所示.

圖2 Casual LSTM 結構

圖2 中,Wi為權重矩陣,Mt、Ct表示分別代表空間狀態和時間狀態,在計算過程通過設置超參數,以及輸入原始數據能夠自動算出相應的值.Xt表示第t時刻的輸入向量,其維度為8×16×16×16,Ht-1表示t-1 時刻Casual LSTM 的輸出向量,維度大小為8×64×16×16,gt、it、ft為網絡超參數.Casual LSTM 相關狀態及參數計算見式(3)-式(8).其中,⊙代表向量相乘.σ表示Sigmoid 激活函數,*代表矩陣相乘.

PredRNN++網絡采用一種新的時空遞歸結構梯度高速公路單元(gradient highway unit,GHU)來直接傳遞時間中的重要特征,從而在進行反向傳播時能夠更好地保留長期梯度,解決梯度消失的問題.GHU 的方程式可以表示如下:

其中,W為濾波器,S為選擇門,P為激活函數,Z為GHU單元的輸出矩陣.本模型中,W取值維度為5×5,S的維度為8×64×16×16,P的維度為8×64×16×16.Z的輸出維度為8×64×16×16.

本文采用的PredRNN++網絡結構如圖3 所示,主要由3 層Casual LSTM 結構堆疊而成,步長t為10.在1-2 層Casual LSTM 之間加入了GHU 單元,從而使得梯度在第1 層與第2 層之間高速傳播,縮短傳播距離,有效避免梯度消失.后續實驗也證明,GHU 單元在1-2 層之間的預測精度優于在2-3 層之間.具體PredRNN++網絡計算機公式如下:

圖3 PredRNN++網絡結構

X是輸入數據,維度為8×16×16×16,Hi是第i張圖片輸入到PredRNN++的混合結果,維度大小為8×64×16×16,C是Casual LSTM 共同決定門,維度為8×64×16×16.

3 性能評估

為了驗證本文提出的方法的有效性,本文設計實驗對所提出的方法和模型的性能進行了測試,下面就實驗數據、實驗環境及實驗結果進行詳細說明.

3.1 實驗數據

本文所采用的實驗數據來自于美國聯合臺風預警中心 (Joint Typhoon Warning Center,JTWC),其數據網址為https://metoc.ndbc.noaa.gov/JTWC.數據覆蓋區域為緯度0°N-60°N,經度100°E-180°E,經度和緯度步長均為0.5°.本文從以上數據集中提取了64×64 區域的海表溫數據作為訓練和測試數據,數據選取經緯度范圍為24°N-56°N 和145°E-177°E.數據時間范圍從2001年1月1日0 時至2005年12月31日18 時,相鄰兩場數據間隔6 小時,總共7 304 場數據.

3.2 實驗環境

本文實驗所采用的軟硬件環境配置如表1 所示.

表1 實驗環境配置

3.3 評估指標

本文采用均方誤差(MSE)和結構相似性(SSIM)評估指標來評估所提出方法的性能.假設預測值真實值y=y1,y2,···,yn,MSE的計算公式見式(16):

MSE的范圍為[0,+∞).MSE越大,表示預測值和真實值相距越遠,即模型的擬合效果越差;MSE為0,則表示模型的預測結果和真實結果完全一致.

結構相似性SSIM是一種衡量圖片相似度的常用指標,假設x和y分別代表兩張圖片,則SSIM的計算見式(17):

其中,μx是圖片x中所有像素點的均值,μy是圖片y中所有像素點的均值,σ2x是x中像素點的方差,σ2y是y中像素點的方差,σxy是x和y的斜方差.C1=(k1L)2,C2=(k2L)2.L是像素值的動態范圍,由于采用灰度圖像,所以L取值為255.K1=0.01,K2=0.03.SSIM指標的范圍為[0,1].SSIM值越接近1,代表圖像失真較少,模型預測效果較好;SSIM值越接近0,代表圖像失真較多,模型預測效果較差.

3.4 實驗參數設置

在實驗中,各個模型采用默認設置,具體參數設置如下: XGBoost 模型最大深度為4,學習率為0.05,迭代次數為100,葉子節點最小樣本數為2,損失函數為均方誤差,L2 則化項lambda 為1.CNN 模型的卷積核為3×3×2,步長為1,padding 為2.PredRNN++模型中,卷積核的大小為5×5,步長為1,padding 為2,進行卷積后,添加BatchNormalization 層構成一個Sequential 層.

3.5 實驗結果分析

本文分別使用前面所述的西北太平洋的7 304 條海表溫時序數據來進行測試,前5 844 條數據作為訓練集,后1 460 條數據作為測試集,對本文提出的XGBoost-PredRNN++區域海表溫預測方法進行了測試,并和現有的PredRNN 模型和ConvLSTM 模型進行了比較,下面將從3 個方面給出具體實驗結果.

(1)GHU 位置影響分析

PredRNN++模型中,GHU 單元可以放在第1 層和第2 層之間,也可以放在第2 層與第3 層之間.本文采用前述的海表溫數據,進行了實驗研究,實驗結果如表2 所示.從中可以看出,將GHU 單元放在第1 層與第2 層之間的預測精度要優于放在第2 層和第3 層之間,這和前述的分析一致,同時也說明數據的原始特征對于預測結果十分重要,因此后續實驗中,本文將GHU單元放在了第1 層和第2 層之間.

表2 GHU 單元位置對比

(2)時間特征影響分析

本文采用XGBoost 模型和CNN 模型進行海表面溫度時間特征提取與融合處理,為了驗證其有效性,本文進行了消融實驗研究,設計實現了無時間特征提取與融合的方法(PredRNN++),并和本文提出的融合時間特征的XGBoost-PredRNN++方法進行了對比分析,結果如圖4 和圖5 所示.

圖4 MSE 隨訓練次數的變化情況

圖5 SSIM 隨訓練次數的變化情況

圖4 是兩種預測方法在預測步長分別為6 小時、24 小時、48 小時和60 小時時,其預測均方誤差MSE隨訓練次數的變化情況.從圖中可以看出,隨著訓練次數的增加,兩種預測方法的MSE總體呈現下降趨勢.在每一種預測步長下,PredRNN++方法的MSE值波動較大,其MSE值遠遠高于XGBoost-PredRNN++方法,這說明XGBoost-PredRNN++方法具有很好的預測精度,這是由于該方法考慮了數據的時間特征及其空間依賴關系,因而取得較好預測結果.同時可以看出隨著預測步長的增加,兩種方法的預測誤差也在增大,這和理論預期相一致.

圖5 為兩種方法在4 種預測步長下的SSIM值隨訓練次數的變化情況.同樣可以看出,隨著訓練次數的增加,兩種預測模型的SSIM值都在增大,XGBoost-PredRNN++模型的SSIM值明顯大于PredRNN++模型.同一種模型預測步長越短,其SSIM越大.以上說明XGBoost-PredRNN++模型具有較低的預測誤差和較高的SSIM值,明顯優于原有PredRNN++模型.這說明時間特征對于海表溫的預測精度具有較大的影響,同時也說明本文提出的融合時間特征方法XGBoost-PredRNN++是有效的.

(3)預測精度比較分析

為了驗證XGBoost-PredRNN++方法的有效性,本文進行實驗研究,并和當前主流的PredRNN 預測模型和ConvLSTM 預測模型進行了對比實驗分析.實驗使用前述的訓練和測試數據,3 種方法的輸入維度均為10×64×64,即使用過去連續60 小時(每6 小時采樣一次,共10 個時刻)的海表溫數據預測未來6 小時,24 小時,48 小時和60 小時的海表溫度,并分別觀察MSE和SSIM兩個指標的變化情況,下面分別進行詳細說明.

1)3 種方法的預測誤差MSE比較.圖6 是3 種模型在不同預測步長下的預測誤差對比.從圖6 中可以看出,3 種預測方法6 小時MSE值最小,24 小時MSE次之,48 小時MSE較大,60 小時MSE最大,這和理論預測一致.在每一種預測步長下,3 種模型的MSE總體隨著訓練次數增加而下降,但是PredRNN 和ConvLSTM模型的預測誤差不穩定,在下降過程中波動較大,其MSE值下降到一定程度后開始慢慢增加,說明這兩種模型對于較少的訓練數據存在過擬合情況.而本文提出的XGBoost-PredRNN++方法預測誤差隨訓練次數增加而穩定減少,其MSE值明顯要小于前兩種模型,即預測精度是最好的,這主要是由于本文模型采用XGBoost 提取時間周期性特征,并采用CNN 提取空間特征并進行了融合,增加了信息含量和深度,并采用了最新PredRNN++模型避免梯度消失和過擬合問題,因而具有更強預測能力,實驗結果也有力的證明這一點.

圖6 不同預測步長下3 種預測方法誤差比較

2)結構相似性指標SSIM對比分析.圖7 是3 種方法在不同預測步長下的SSIM比較.從圖中可以看出,在不同預測步長的實驗中,3 種方法的SSIM值總體隨著訓練次數的增加而增大.PredRNN 和ConvLSTM模型的SSIM值增加到一定程度后有所降低,這是由于訓練次數過多導致模型過擬合引起的.在4 種不同預測步長的測試中,SSIM值從大到小分別為6 小時SSIM值、24 小時SSIM值、48 小時SSIM和60 小時SSIM值,這和理論預測相一致.在3 種預測模型中,本文提出的XGBoost-RredRNN++方法的SSIM值隨訓練次數增加而穩定增加,其SSIM值明顯要高于前兩種模型,這說明本文提出的模型具有很高的預測精度,明顯優于PredRNN 和ConvLSTM 模型,主要原因是本文采用了XGBoost 和CNN 網絡融合了周期性時間特征,并用最新的PredRNN++模型,因而達到了較好的預測效果.從SSIM指標的比較可以看出,本文提出的XGBoost-PredRNN++海表溫預測方法,具有較好的預測能力.從上述MSE和SSIM兩個指標的比較可以看出,本文提出的XGBoost-PredRNN++方法具有很高的預測精度,在訓練的初始階段就能達到不錯的效果,明顯優于現有的ConvLSTM 和PredRNN 預測方法.

圖7 不同預測時長3 種模型的SSIM 對比

為了進一步分析模型的預測效果,本文也測試了融合時間特征后的SST 數據在ConvLSTM 和PredRNN模型上的預測結果.在預測步長分別為6 小時、24 小時、48 小時和60 小時時,從實驗結果能夠看出,采用XGBoost 提取時間特征后,幾種模型的預測大明顯提高,本文提出的XGBoost-PredRNN++方法仍然是這幾種方法中精度最高的,明顯優于其他方法.由于篇幅有限,這里僅給出預測步長為6 小時時,幾種模型的實驗結果,見表3.

表3 幾種模型實驗結果

4 結論

海表面溫度是進行海洋環境信息預測預報的重要因子,對于海上捕撈、水產養殖、海洋氣象、航海等具有重要影響,因此準確預測海表面溫度對于海洋產業和相關科學研究具有非常重要的意義.本文結合先進的深度學習技術,提出了一種基于XGBoost 結合PredRNN++的區域海表溫預測方法.該方法首先將某個區域的海表面溫度處理成灰度圖片,然后利用XGBoost 模型提取季節周期性特征,并采用CNN 模型進行特征融合,在此基礎上采用最新的PredRNN++時序數據預測網絡,實現了區域海表溫度的預測.一系列真實數據上的實驗結果表明,本文提出的基于XGBoost-PredRNN++的海表溫預測方法,明顯優于現有的ConvLSTM 和PredRNN 模型,取得了較好的預測精度.后續將擴大模型的應用范圍,進一步優化模型的結構,進一步提升模型的預測精度和效率.

猜你喜歡
表面溫度步長預測
選修2—2期中考試預測卷(B卷)
選修2—2期中考試預測卷(A卷)
不同夾芯結構對鋁塑復合板性能的影響
董事長發開脫聲明,無助消除步長困境
步長制藥50億元商譽肥了誰?
步長制藥50億元商譽肥了誰?
起底步長制藥
機翼電加熱防冰加熱功率分布優化研究
《福彩3D中獎公式》:提前一月預測號碼的驚人技巧!
沙鋼北區1#高爐熱風爐基礎承臺大體積砼防裂措施
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合