曾祥海,陳祥毅,陳文軒,鄧穎欣,王觀承
(廣東海洋大學科技樓,廣東湛江,524088)
近年來,全球極端天氣頻發(fā),人類的生存迎來極大的挑戰(zhàn),而作為地球氣候系統(tǒng)重要成員的海洋,是一個對全球異常氣候生成有著不容忽視作用的角色[1]。在海洋研究領域,水體表面的溫度成為一個重要的研究方向。海洋表面溫度(Sea Surface Temperature,SST),是臺風路徑、海洋生態(tài)系統(tǒng)的重要影響因素,是海氣熱量、動力、水汽交換的重要參量,更是衡量全球氣候的重要地理參數之一[2]。在許多領域,如降水量預測、氣溫變化、干旱特征[3~5]等方面研究中,海表溫度為開展此類研究的一種重要參量。掌握未來海表溫度變化趨勢有助于推動全球氣候變化研究的開展,高效準確地獲取未來海表溫度信息對我國的海洋科研發(fā)展有積極的戰(zhàn)略意義。在海表溫度預測領域,前人采用數值預報法,經驗預報法,統(tǒng)計預報法等預測海表溫度[6~9],然而傳統(tǒng)的預測方法具有計算復雜度高,非線性數據預測效果差的缺點,且海水成分復雜,海表溫度的影響因子繁多[10],海表溫度時間序列并非簡單的線性關系,傳統(tǒng)的數值分析法難以精準的預測海表溫度。
隨著神經網絡算法的發(fā)展,神經網絡的引入使得預測工作變得精準而高效。2015年,陳志寶等建立RBF神經網絡預測模型,在光伏功率超短期預測中,相比無圖像信息的模型預測效果明顯提高[11]。2020年,周紅標等提出AFNNMPC預測模型,在該模型中,AFNN在離線建模階段利用學習算法改進網絡參數,在實時控制階段根據誤差調整網絡參數,為MPC取得優(yōu)越的預測精度[12]。此外,在2021年,Wang等[13]利用多正弦函數分解神經網絡 (MSFDNN) 分析中國南海北部灣及其鄰近海域的有效波高,能有效地進行預測。同年,張雪薇等[14]利用ConvGRU深度學習網絡模型預測海表溫度,該模型結合了循環(huán)神經網絡(RNN)與卷積神經網絡(CNN)算法,取得較好的預測效果。在海表溫度預測工作中,利用神經網絡預測的方法并不多見,張瑩等[15]使用EEMD和ARIMA算法預測海表溫度,原理為利用EEMD算法對海溫數據分解成多頻率序列,再使用ARIMA模型對多頻率序列進行逐一預測,最后將預測結果組合分析出未來海表溫度數據。賀琪等[16]基于EMD-GRU模型對海表溫度進行預測,相比較為常見的預測模型循環(huán)神經網絡RNN和長短期記憶模型(LSTM)預測精度有所提高,原理為利用波分解算法對海表溫度時間序列分解成較平穩(wěn)的子序列,再將子序列通過GRU訓練得到預測結果。近年來,BP神經網絡已經廣泛應用于各種領域,但在海表溫度預測方面卻并未涉及。基于海表溫度數據非線性的特點,本文提出一種使用反向傳播神經網絡算法對海表溫度進行預測,并對我國南海部分海域月平均海表溫度進行驗證分析。BP神經網絡工作原理為通過梯度下降法不斷修正權值和閾值大小,尋找權值與閾值最優(yōu)解[17]。其隱層結構使之具備了良好的非線性求解能力,本文介紹了BP神經網絡及其海表溫度預測模型,其次進行預測分析,結果表明BP神經網絡在預測海表溫度方面具有實用價值。
BP神經網絡是一種誤差反向傳播的多層神經網絡,由科學家Rumelhart和McClelland于1986年提出的具有學習能力的一種人工神經網絡[18]。人類的大腦皮層中有上百億的神經細胞,即神經元,它主要由細胞體、突觸、軸突和樹突組成其工作原理是生物神經元樹突接收外界信號,經過細胞體,隨后由軸突傳出。前一個神經元的軸突末梢與其他神經元的樹突在突觸的連接作用下進行信號連接,相互配合完成信息的交換。人工神經網絡是一種擬生物單元,通過模仿生物腦神經網絡的結構與功能,進行復雜的信息處理的數學模型。如圖1所示,三層基本的BP神經網絡拓撲結構,其中輸入層與輸出層稱為可見層,其他中間層稱為隱含層。人工神經網絡與人類的神經元工作原理相類似[19],不同的生物神經元中的突觸具有不同的性質與強度,使得不同的輸入信號產生不同的激勵作用,在人工神經元中,對于每個不同的輸入都具有一個可修正的權重,用于模仿生物神經元中突觸的不同的性質與強度。在生物神經元中,膜電位沒有超過動作電位的閾值時,生物神經元不產生神經沖動,為防止人工神經元輸出為零的情況增加了偏置值。隱含層可將輸入的數據特征線性劃分不同類型的數據,使網絡具有良好的自適應能力與分類識別能力。
三層神經網絡基本拓撲結構如圖1所示,第一層nx為輸入層,第二層ke為隱含層,第三層?o為輸出層,為了防止出現(xiàn)輸出為零的特殊情況設置了偏置b。?o為網絡預測值,o為真實值。BP神經網絡算法可分為兩步驟進行,分別為前向傳遞和反向誤差傳遞。
圖1 三層神經網絡基本結構
1.2.1 前向傳遞
三層神經網絡BP算法在前向傳遞的過程中[20],網絡結構對應的計算流程如下:
對于隱含層有:
對于輸出層有:
上述式子中,F(xiàn)(·)為非線性的激活函數,是網絡模型重要的組成部分。非線性激活函數可以使得神經網絡擬合各種復雜的非線性映射關系,因此該激活函數選擇為非線性,實質上與傅里葉級數與泰勒級數相類似。另外,如果神經元的輸出值極大時,未經處理傳送至下一層神經元需要極大的算力,所以非線性激活函數將神經網絡的輸出值壓縮到有界的區(qū)域內,對模型運算效率的提高至關重要。
Sigmoid激活函數、雙曲正切Tansig激活函數、Relu激活函數和 Softmax激活函數是神經網絡中常用的非線性激活函數,本文采用Tansig函數(1)作為神經元的激活函數。
1.2.2 反向誤差傳遞
在正向傳播過程中,基于給定的初始化權重值w和偏置項b得出輸出序列?o,若網絡輸出值不符合設定要求值,存在損失函數E,定義如下:
將損失函數E展開至隱含層:
將(3)式再進一步展開至輸入層:
(2)~(4)式中,l為輸出層節(jié)點數,m為隱含層節(jié)點數,n為輸入層節(jié)點數。由(4)式可知,損失函數E是關于神經網絡各層的權重值w得函數,由此,只需調整層與層之間的權重值即可改變損失函數E。顯然,神經網絡在調整權重時,原則上是使損失值E不斷減小,采用梯度下降法,則權重的修正值為:
(5)式中:nkw為輸入單元n到隱含層單元k的權重;η是學習速率,一般選取為0.01至0.8,kI是第k個隱含層的傳輸函數。
在網絡過程中,輸入層節(jié)點與輸出層節(jié)點數目往往是已經確定的,輸入層的節(jié)點數目與待定處理數據中輸入的變量數目,輸出層的節(jié)點的數目與全部輸入相關聯(lián)的輸出的數目,但難以確定合適的隱含層節(jié)點數。隱含層節(jié)點數會影響神經網絡模型的性能,過少則會使網絡迭代的次數較多,訓練的精度也會不高,從而導致學習能力不足。過多則會可能導致被訓練的數據中包含的信息量過少,不足以訓練隱含層中的神經元,從而導致出現(xiàn)過擬合的現(xiàn)象,易陷入局部極小值,難以達到預期的效果。顯而易見,隱含層節(jié)點數的確定是一個至關重要的問題。因此,本文選擇利用經驗公式確定隱含層節(jié)點數:
(6)式中,m為輸入層個數,n為輸出層個數,a為1~10之間的為常數。
本文所采用的海表溫度數據為水平分辨率為1x 1的經緯度全局網格(360×180)的1891年1月至2021年11月的月平均海表溫度數據,數據來源于美國國家海洋和大氣管理局(NOAA),數據下載網站為:https://psl.noaa.gov/data/gridded/data.cobe.html。本文基于月平均海表溫度進行預測,為排除海表溫度采集時因儀器故障或數據錯誤采集帶來的誤差,預測工作前本文使用孤立森林算法剔除原始數據的異常值點以減小訓練誤差,并將海洋表面溫度序列延時12個單位(即一年)作為網絡模型輸入層參數。使用BP神經網絡對海表溫度數據的預測過程可以分為三步,首先將1891年1月至1983年9月的月平均海表溫度歷史數據用于訓練。模型的參數訓練完成后,將1983年9月至2021年11月作為測試集驗證模型準確性。最后,基于2020年11月至2021年11月數據預測未來一個月海表溫度數據,再以此數據迭代入網絡輸入層中,并使用最新的12個月數據預測下一個月數據,直至預測出未來12個月的海表溫度后停止迭代更新。
在樣本訓練過程中,使用平均絕對誤差MAE、平均絕對百分比誤差MAPE和均方根誤差RMSE作為誤差分析特征指標。具體的計算公式如下:
(7)~(9)式中,取值范圍都為[0,+∞),平均絕對誤差MAE能夠很好地反映預測值誤差的實際情況,誤差越大,MAE值越大。平均絕對百分比誤差MAPE是一個百分比值,當MAPE為0%時,表示完美模型,當MAPE 大于 100 %時,則表示劣質模型。平均絕對百分比誤差MAPE與均方根誤差RMSE相類似,相比RMSE,為了消除個別離群點帶來的影響,MAPE將每個點的誤差值進行了歸一化處理。 通過對誤差的計算,分別得出上述三個評價指標,其中平均絕對誤差為0.31203,平均絕對百分比誤差為0.018272,均方根誤差為0.39655,表明預測模型擁有較好的精確度。從表1與圖3可以看出,預測值與真實海表溫度較為接近,BP預測值和實際值之間平均誤差僅為0.0565。
表1 測試集誤差
圖2表示了測試樣本輸出回歸直線,縱軸Y為BP神經網絡輸出值,橫軸X為真實海表溫度數據,由圖可知,回歸直線的相關系數R=0.9767,與直線Y=X基本重合,可見,經過網絡迭代訓練后的目標輸出值與海表溫度真實值誤差微小,表明BP神經網絡是有效的預測方法。
圖2 測試樣本輸出回歸直線
將1983年9月至2021年11月某海域海表溫度的實際值與BP神經網絡所計算的預測值對比,可見BP神經網絡預測值與實際值的結果匹配度較高,總體變化趨勢基本一致,如圖3所示。在實驗最后,預測出未來12月海表溫度數據,如圖3及表2所示。
圖3 海表溫度的計算值、真實值和未來預測值圖
隨著科技發(fā)展,海表溫度預測算法標新立異,但預測精準度仍然有待提高。本文用BP神經網絡對海表溫度進行預測,基于1891年1月到2021年11月的月平均海表溫度數據對BP神經網絡 模型進行預測和驗證,并對未來一年海表溫度進行預測,研究得出結論:BP神經網絡的輸出預測值與真實值偏差極小,平均誤差僅為0.057,結果匹配度較高,總體變化趨勢基本一致,用于海表溫度預測可行且有效。通過研究已有海溫相關數據預測出海溫在未來一段時間內的變化趨勢,進而根據預測所得的結果合理規(guī)劃生產活動,同時也為環(huán)境部門提供參考,從而制定出有效的環(huán)境保護政策。本次研究中可用的數據僅僅是海表溫度數據,然而引起海表溫度變化的重要影響因子眾多,例如地理位置、南方濤動指數、海表鹽度、海表風場等,在后續(xù)的研究中可以對模型進行優(yōu)化,結合更多的特征,提高海表溫度預測的準確度。