王穎超柳青青李洪平趙 紅
(1.中國海洋大學 信息科學與工程學院,山東 青島266100;2.青島大學 商學院,山東 青島266100;3.中國海洋大學 數學科學學院,山東 青島266100)
海表面鹽度(Sea Surface Salinity,SSS)在研究海洋循環、氣候變化和全球水循環中均發揮著不可取代的作用,因此研究SSS至關重要[1]。2009年,歐洲航天局發射了SMOS(Soil Moisture and Ocean Salinity)衛星,該衛星是一顆專門用來研究土壤濕度與海洋鹽度的衛星[2-3];2011年,美國國家宇航局和阿根廷國家空間活動委員會共同發射了Aquarius/SAC-D衛星,為海表鹽度的進一步研究提供了重要數據源[4-5]。但是,目前這些衛星已經達到使用年限。我國將計劃于2022年發射海表鹽度衛星,為我國海表鹽度衛星的研究提供新思路。
SMOS衛星搭載的L波段微波輻射計,能夠實現對海表鹽度和土壤濕度的大范圍、全天候實時觀測[6]。為了獲取高精度海表鹽度,學者們對其做了大量的研究和評估。例如:Kolodziejczyk等[7]提出了一種降低SMOS系統誤差的方法,通過調整駐留線和軌道方向之間的SSS相對變化,提高了海表鹽度的探測精度;而Boutin等[8]在2018年糾正了他的方法,其修正的靠近陸地的SMOS海表鹽度與SMAP測量的海表鹽度更加一致;金旭辰等[9]基于SMOS數據,采用廣義相加模型和偏最小二乘法分析了水溫對海表鹽度的影響,在平均水溫約16℃時的SSS均方根誤差(Root Mean Square Error,RMSE)約為0.9,在平均水溫23℃時的RMSE約為0.7,在平均水溫30℃時的RMSE約為0.4;Boutin等[10]針對遠離海岸的寬闊海域,將SMOS衛星的升軌鹽度數據與ARGO浮標鹽度數據進行比較,結果表明,SMOS衛星在寬闊海域的精度可以達到0.3~0.5;Yin等[11]通過修正正演模型,將風場和降雨的影響最小化,從而提高鹽度的反演精度;Zhao等[12]利用多元線性回歸的方法來預測海表鹽度,其預測的鹽度值與WOA13的RMSE值為0.21,提高了海表鹽度的觀測精度。
機器學習相關算法的應用領域越來越廣泛,神經網絡、K-means算法和遺傳算法等也被引用于海表鹽度的反演模型中。BP(Back Propagation)神經網絡作為人工神經網絡中的一種,其計算過程由正向和反向組成,通過不斷的迭代將誤差降為最低,其優點較多,自適應性、自組織性、良好的學習能力、良好的聯想能力、良好的容錯能力和抗干擾能力。同時,BP神經網絡在理論和性能方面都已經成熟,并具有很強的非線性映射能力。除此之外,其網絡結構具有可調節性,可根據研究的實際情況對隱藏層的數量進行調節,以達到研究的預期目標[13]。
本文綜合考慮海表面溫度、亮溫(包括水平和垂直兩個方向的數據值)、波高、主波長、蒸發量和風速等因素對海表鹽度的影響,采用BP神經網絡方法建立了一種新型的海表鹽度預測模型。對比分析本模型計算所得的海表鹽度值(SSS0)和SMOS衛星level 2(簡稱L2)級的3個粗糙度模型鹽度產品(SSS1,SSS2,SSS3)與ARGO實測鹽度值(SSSARGO),以期為發射的海表鹽度衛星提供技術儲備。
本文使用2種SMOS衛星數據,即L1C級別的亮度溫度數據和歐洲中期預報中心提供的輔助數據(ECMWF數據),選取2015年5月12—31日的南半球海域衛星數據,入射角選擇42°~43°。
ARGO浮標采用一種沉浮式的自律式拉格朗日環流剖面觀測浮標,測量海水溫度、海水鹽度和海流參數等多種海洋數據。本文利用ARGO浮標數據第一層(5 m)的鹽度值,為了與SMOS數據進行時間與空間上的匹配,本文同樣也使用2015年5月南半球的海表鹽度數據。數據來源于網站http:∥www.ARGO.org.cn/。此數據為經過國際上普遍認可的對ARGO數據處理模式,處理后可直接應用[14]。
對于SMOS L1C級數據,需要通過SMOS衛星L1C級數據反演至L2級鹽度數據所使用的數據處理軟件L2OS(L2 Ocean Salinity Operational Processor)進行處理,輸出水滴密集度、主波長和海表溫度等參數信息。軟件主要包括預處理程序、主程序、后置處理和正演模型四部分。其中,預處理程序主要用于反演前對亮溫數據進行異常值檢測,去除受到射頻干擾、太陽反輝區或者其他不明來源的外來污染的異常值,并且L1C級亮溫數據的初始化工作也在預處理程序中進行。首先,對于下載的Zip文件進行解壓獲得“.DBL”和“.HDR”文件,該文件儲存了該條帶內所有網格點的編號、經緯度信息等;然后,修改軟件配置文件里涉及的數據版本信息并檢查數據的經緯度,生成Job order配置文件,每組數據對應一個配置文件;最后即生成OTT文件,并將OTT文件加入到L2OS中,輸出參數信息。為了節約程序運行時間,只需對存在ARGO浮標的SMOS網格進行處理。此軟件源于歐空局SMOS衛星官方網站https:∥smos.argans.co.uk/。
將SMOS衛星L1C數據和ECMWF輔助數據與ARGO實測數據進行時間和空間上的匹配,并去除NAN無效數據。時間上,匹配的最大時間間隔為1天;空間上,按照SMOS數據的網格點進行匹配。除此之外,對同一入射角對應的不同亮溫值進行求平均值處理,而對相同的天、小時、網格點數據進行標準化處理。隨后,按照同樣的匹配原則將其L2級數據進行匹配。在2015年5月12—18日時間范圍內,共匹配有效數據1021組,并將此數據集作為本次研究的建模數據;在2015年5月19—31日時間范圍內,共匹配有效數據2055組,將此數據集作為新模型的驗證數據集。
BP(Back Propagation)神經網絡是人工神經網絡的一種,該網絡模型主要包括三部分:輸入層、隱藏層和輸出層。在建模過程中,為了提高精度可以設置多個隱藏層并給其設定傳遞函數。BP神經網絡包括2個方向的傳播,先是信號的正向傳播(圖1a),信號到達輸出層后,若網絡輸出值與期望值有偏差,則計算損失函數并進行誤差信號的反向傳播(圖1b)。由于層與層之間通過權重和偏置來連接,因此反向傳播是通過不斷地迭代來調整每一層各個神經單元的權重系數和偏置值,從而使得損失函數最小,直到達到所限定的迭代次數或者規定的誤差為止。

圖1 BP神經網絡組成及原理Fig.1 Composition and schematic of BP neural network
BP神經網絡的計算公式:

利用匹配的1021組數據進行建模,由于不同參數的數值有很大差異,所以為了避免大數據淹沒小數據的情況發生,利用mapminmax對數據進行歸一化處理。經過不斷的試驗,最終選定了隱藏層為5層,且確定正向傳播時每一層的神經元節點數分別為9,5,5,4和3,對應的每一隱藏層的傳遞函數分別為tansig,tansig,tansig,tansig和purelin,訓練函數選擇trainrp函數。除此之外,我們將模型的最大訓練次數設為1000次,目標精度設為0.00001,學習率為0.00001。該模型訓練1021組數據用時4 s,迭代602次,利用該模型得到的權值和偏置矩陣如表1所示。

表1 模型輸出的各層權值和偏置Table 1 Weight and offset of the model output
利用匹配的2055組數據作為模型的驗證數據集,并按照與本文中模型建立相同的數據處理方法對驗證數據集進行處理。利用式(1)、式(2)及表1中模型輸出的權值和偏置矩陣進行計算??傻媚习肭蚝1睇}度(SSS0)和SSS3以及ARGO的鹽度值SSSARGO,將其對比(圖2)(隨機抽取1000組數據展示),結果表明,SSS0與ARGO實測值更為接近,精度更高。
在模型驗證部分,本文分別計算了SMOS的3個粗糙度模型鹽度產品(SSS1,SSS2,SSS3)和本模型(SSS0)與ARGO實測鹽度值SSSARGO的誤差,結果表明,SSS1,SSS2,SSS3與SSSARGO的誤差值在[-1,1]的數據分別占總數的47%,49%和49%;SSS0與SSSARGO的誤差值在[-1,1]的數據約占總數的80%;由此可知,本模型極大提高了海表鹽度的預測精度。進一步計算了SSS0,SSS1,SSS2,SSS3與SSSARGO的均方根誤差(RMSE)和平均絕對誤差(Mean Absolute Error,MAE),如表2所示,結果表明:SSS0與SSSARGO的RMSE和MAE都遠小于其他3個鹽度產品。

圖2 ARGO實測鹽度數據與SSS0,SSS3的對比Fig.2 Comparison between SSS0,SSS3 and SSSARGO

表2 SSS0,SSS1,SSS2,SSS3與ARGO實測鹽度值(SSSARGO)的誤差Table 2 The error of SSS0,SSS1,SSS2,SSS3 and ARGO(SSSARGO)measured salinity value

圖3 SSS0,SSS1,SSS2,SSS3與SSSARGO的誤差對比Fig.3 Comparison of errors between SSS0,SSS1,SSS2,SSS3 and SSSARGO
由于SMOS的3個粗糙度模型得出的鹽度值極為相似,因此將SSS3作為SMOS粗糙度模型的代表鹽度值。本文分別計算了SSS0,SSS1,SSS2,SSS3與SSSARGO的誤差值。隨機抽取驗證數據中的1000組數據進行分析,可見SSS1,SSS2,SSS3與ARGO浮標鹽度值之間誤差較大,其誤差分布范圍較廣,而SSS0與SSSARGO誤差值卻集中分布在0附近,這表明二者之間誤差較小(圖3);分析SSS0,SSS3與SSSARGO的誤差,可得其空間分布結果(圖4),選取太平洋中部(20°×20°)海域;統計SSS0,SSS3與SSSARGO的誤差(圖5)可知,SSS0與SSSARGO的誤差值多集中在0附近,而SSS3與SSSARGO的誤差值分布較廣,該結果表明SSS0與SSSARGO誤差最小。

圖4 SSS0,SSS3與SSSARGO的誤差空間分布Fig.4 The spatial distribution of the error between SSS0,SSS3 and SSSARGO

圖5 SSS0,SSS3與SSSARGO的誤差分布Fig.5 The distribution of the error between SSS0,SSS3 and SSSARGO
海表鹽度在研究海洋循環、氣候變化和全球水循環中都起著不可取代的作用,由于海表鹽度觀測受諸多因素的干擾且數據處理過程較為繁瑣,難以得到十分精確的數據結果,因此提高海表鹽度的預測精度尤為關鍵。本文通過BP神經網絡的方法對海表鹽度進行建模,得到了一個全新的海表面鹽度預測模型。本模型與SMOS的3個粗糙度模型鹽度產品相較,精度更高。
在未來的研究中,我們將繼續嘗試機器學習的其他方法來建立預測模型,爭取建立一個精度更高的海表鹽度預測模型,為我國2022年即將發射的海表鹽度衛星做貢獻。