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