黃冬梅,王 唱,胡安鐸,孫錦中,孫 園,李俊峰
(1.上海電力大學(xué)電子與信息工程學(xué)院,上海 201306;2.上海電力大學(xué)數(shù)理學(xué)院,上海 200090;3.國電投南陽熱電有限責(zé)任公司,河南 南陽 473000)
開發(fā)清潔能源是解決化石能源造成環(huán)境污染和降低碳排放的重要途徑。潮汐能是海水受天體引潮力運動而產(chǎn)生的能量,潮汐發(fā)電是利用潮汐能的主要方式,而潮位預(yù)報在潮汐電站的發(fā)電調(diào)度過程中占重要地位。精確的預(yù)測可以預(yù)知潮汐電站庫水位的變化過程,進而關(guān)聯(lián)發(fā)電水頭的大小,將直接影響潮汐電站的能量利用率指標(biāo),是制定合理電站調(diào)度方案的關(guān)鍵環(huán)節(jié)。
調(diào)和分析法[1-2](Harmonic Analysis, HA)是預(yù)測潮位最經(jīng)典的方法,通常結(jié)合當(dāng)?shù)氐闹亓μ煳膶W(xué)計算出調(diào)和常數(shù),基于調(diào)和常數(shù)確定分潮進行預(yù)報。Thomson首次將調(diào)和分析用于潮位預(yù)報,后來Darwin[3]提出了平衡潮理論。Doodson[4]用最小二乘法擬合實測潮汐資料,確定了調(diào)和分析常數(shù)。經(jīng)過百余年的發(fā)展至今,它仍然是潮汐長期預(yù)報的基礎(chǔ)。近年來,神經(jīng)網(wǎng)絡(luò)等智能計算技術(shù)的蓬勃發(fā)展,為復(fù)雜系統(tǒng)的識別、預(yù)測和控制提供了新的工具,也為潮汐預(yù)報的研究提供了新的方法。Tsai等[5]首次使用人工神經(jīng)網(wǎng)絡(luò)模型預(yù)測全天和半天潮汐;張澤國等[6]提出SAPSO-BP網(wǎng)絡(luò)模型預(yù)報了港口潮位;Zhang等[7]提出模塊化模型,將潮位分解,殘差部分采用BP神經(jīng)網(wǎng)絡(luò)預(yù)測;Zhu[8]根據(jù)前幾個小時潮汐水位用Bi-LSTM模型提高了預(yù)測準(zhǔn)確性;Yang等[9]人建立了LSTM模型,對臺灣17個港口的潮位進行預(yù)報,模型表現(xiàn)出更高的穩(wěn)定性和更快的收斂速度。然而現(xiàn)有的神經(jīng)網(wǎng)絡(luò)模型雖然能學(xué)習(xí)到潮位序列的長期歷史過程,但并不能很好的挖掘出序列信息的局部特征和潛在關(guān)系。
因此,本文提出一種基于CNN-BiLSTM潮汐預(yù)測的模型。該方法在利用一維CNN的平移不變性和使用滑動數(shù)據(jù)窗口把輸入的潮位數(shù)據(jù)提取特征的同時,BiLSTM又能保存歷史輸入信息并與當(dāng)前的輸入信息一起映射到當(dāng)前的預(yù)測潮位,結(jié)合港口實例表明,CNN-BiLSTM模型的有效性。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)[10]的網(wǎng)絡(luò)結(jié)構(gòu)主要為二維數(shù)據(jù)處理而設(shè)計,是一種有效的自適應(yīng)特征提取技術(shù),在圖像視覺領(lǐng)域取得了巨大成功。目前CNN也被廣泛用于處理時間序列,其局部感知和權(quán)值共享可以大大減少參數(shù)數(shù)量,在提高模型的學(xué)習(xí)效率方面表現(xiàn)出強大潛力。CNN在處理數(shù)據(jù)時,通常經(jīng)過輸入、卷積、池化、全連接和輸出這五個部分[11-12],模型結(jié)構(gòu)如圖1所示。在卷積層之后增加池化層,最大池層可以保留強特征,消除弱特征,降低復(fù)雜度,避免過擬合。
圖1 卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
長短期記憶網(wǎng)絡(luò)(LSTM)有自己的記憶能力,能夠進行相對準(zhǔn)確的預(yù)測,在語音識別、情感分析、文本分析等領(lǐng)域得到了廣泛的應(yīng)用,學(xué)習(xí)到長期依賴關(guān)系[13-16]。LSTM機制由三個存儲門組成,即輸入門(it)、遺忘門(ft)和輸出門(ot)。LSTM神經(jīng)單元如圖2所示。
圖2 LSTM神經(jīng)元結(jié)構(gòu)
LSTM每個單元依次進行如下計算:
(1)遺忘門,最后時刻的輸出值和當(dāng)前時間的輸入值,計算得到遺忘門的輸出值,如式(1)所示
ft=σ(Wf·[ht-1,xt]+bf)
(1)
(2)輸入門,最后一次的輸出值和當(dāng)前時間的輸入值被輸入到輸入門中,經(jīng)過計算得到輸入門的輸出值和候選單元狀態(tài),如式(2)所示
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3)
(3)更新當(dāng)前cell狀態(tài),當(dāng)前時刻的單元狀態(tài)由遺忘門輸入和上一時刻狀態(tài)的積加上輸入門兩部分的積,即
(4)
(4)輸出門,輸出ht-1和輸入xt作為時間t輸入門的輸入值,從而得到輸出門如下
ot=σ(Wo·[ht-1,xt]+bo)
(5)
ht=ot·tanh(Ct)
(6)
雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)是兩個不同向LSTM的組合,每個方向都有獨立的參數(shù),可以對前向和后向的數(shù)據(jù)進行擬合,并將預(yù)測結(jié)果串聯(lián)起來。LSTM只能從一個方向擬合與時間相關(guān)的數(shù)據(jù),BiLSTM添加了反向LSTM,這樣BiLSTM可以捕捉到LSTM可能忽略的模式。BiLSTM的結(jié)構(gòu)如圖3所示。
圖3 BiLSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
(7)
yt=σ(ht)
(8)
式中,α、β為常數(shù)且α+β=1。
由于CNN在數(shù)據(jù)特征提取方面的優(yōu)勢,BiLSTM在時間序列數(shù)據(jù)處理方面的優(yōu)勢,所以將CNN和BiLSTM結(jié)合在一起,模型主要可以劃分為:輸入層、卷積層、雙向長短期記憶層、Dropout層、全連接層和輸出層,其中CNN 層和BiLSTM層為本模型的核心結(jié)構(gòu),Dropout層的作用是避免模型過擬合。CNN層是由三個一維卷積(Conv1D)層和一維最大池化(MaxPooling1D)層堆疊組成。BiLSTM的輸入是CNN層的輸出序列,網(wǎng)絡(luò)設(shè)置為2層隱含層結(jié)構(gòu)。在應(yīng)用數(shù)據(jù)窗時,為了方便后續(xù)網(wǎng)絡(luò)計算,窗口寬度設(shè)置為24,滑動步長為1,如圖4所示。
圖4 滑動數(shù)據(jù)窗口
整個模型的預(yù)測過程如下:將潮位數(shù)據(jù)作為網(wǎng)絡(luò)的輸入,然后進行數(shù)據(jù)集的劃分,經(jīng)數(shù)據(jù)歸一化、形成矩陣向量等預(yù)處理之后,進入CNN層對數(shù)據(jù)特征提取,隨后將通過BiLSTM層訓(xùn)練,提取潮位序列的時間特征。為防止模型過擬合以及提高模型的泛化性,加入Dropout層,隨機丟棄部分神經(jīng)元,最后將輸出結(jié)果經(jīng)全連接層綜合后,得到最終預(yù)測的潮位,模型如圖5所示。
圖5 CNN-BiLSTM組合模型示意
為了評估所提出的CNN-BiLSTM模型的性能,本文使用了加利福尼亞州芝加哥港全年的潮位實測數(shù)據(jù)作為樣本數(shù)據(jù),采樣間隔為1 h,潮汐的基準(zhǔn)面為平均低低潮面。該樣本數(shù)據(jù)共有8 760組潮位數(shù)據(jù),其中前8 460組數(shù)據(jù)(1月1日GMT0000至12月19日GMT0900)作為訓(xùn)練樣本,后300組數(shù)據(jù)(12月19日GMT1000至12月31日GMT2300)作為測試樣本。芝加哥港的潮位數(shù)據(jù)來源于美國國家海洋和大氣管理局。
在得到潮位的預(yù)測結(jié)果后,采用均方根誤差(RMSE)和相關(guān)系數(shù)(CC)指標(biāo)來評價預(yù)測模型的精度,具體表達式為
(9)
(10)
采用調(diào)和分析模型預(yù)測300 h潮位的結(jié)果如圖6所示。圖6a中紅色線表示調(diào)和分析模型的預(yù)測值,藍色實點為實測潮位數(shù)據(jù)。調(diào)和分析模型預(yù)測的潮汐值與實測潮位不一致的情況時有發(fā)生,預(yù)測值經(jīng)常超過或達不到實測值,當(dāng)潮位變化達到極值時,很容易識別。調(diào)和分析法只能夠通過調(diào)和常數(shù)預(yù)測由天體引潮力引起的天文潮潮位,而風(fēng)速風(fēng)向、氣壓、洋流等環(huán)境因素也會影響潮位變化。因此,當(dāng)這些因素發(fā)生較強的變化時,預(yù)測誤差會較大。圖6b表示預(yù)測值和觀測值的線性回歸,相關(guān)性指標(biāo)CC為0.988。
圖6 調(diào)和分析模型預(yù)測結(jié)果
圖7給出了使用LSTM模型得到的300 h預(yù)測潮位。與調(diào)和分析模型相比,LSTM與實測潮位資料的擬合效果更好。LSTM神經(jīng)網(wǎng)絡(luò)同時考慮了時變和不規(guī)則因素都在一個模型中。因此,得到的仿真結(jié)果比調(diào)和分析模型具有更高的精度。圖7b表示預(yù)測值和觀測值的線性回歸,相關(guān)性指標(biāo)CC為0.997。
圖7 LSTM模型預(yù)測結(jié)果
基于 CNN-BiLSTM模型的300 h潮位預(yù)測結(jié)果如圖8所示,從圖8a中可看出,CNN-BiLSTM模型預(yù)測的值更接近實測潮位數(shù)據(jù),特別是在高低潮處,預(yù)測值和觀測值之間的偏差非常小,相比于調(diào)和分析模型和LSTM模型,圖形的擬合情況更好。圖8b表示預(yù)測值和觀測值的線性回歸,兩者之間的相關(guān)系數(shù)CC為0.998,說明兩者之前的相關(guān)性很強。
圖8 CNN-BiLSTM模型預(yù)測結(jié)果
CNN-BiLSTM模型、調(diào)和分析模型和LSTM模型的預(yù)測誤差如圖9所示,預(yù)測的RMSE分別為0.024 6、0.072 9 m和0.035 2 m。從圖中可以看出,調(diào)和分析法的預(yù)測誤差波動幅度較大,且波動呈現(xiàn)不規(guī)則特征,這可能與環(huán)境的影響有關(guān)。與調(diào)和分析模型相比,CNN-BiLSTM模型的預(yù)測精度提高了66.26%;LSTM模型的預(yù)測精度比調(diào)和分析模型提高了51.71%,CNN-BiLSTM模型的預(yù)測精度比LSTM模型提高了30.11%。CNN-BiLSTM模型的預(yù)測誤差和預(yù)測誤差的波動范圍都最小,潮位的預(yù)測精度最高。
圖9 不同模型誤差比較
為了進一步確定CNN-BiLSTM模型對潮位預(yù)測是否具有通用性和泛化能力,在相同的仿真條件下,另選取了兩個港口(埃達克島、舊金山港)作為驗證樣本,預(yù)測結(jié)果如表1所示。CNN-BiLSTM模型的均方根誤差和相關(guān)性指標(biāo)均優(yōu)于傳統(tǒng)調(diào)和分析模型和LSTM模型。綜上所述,CNN-BiLSTM模型的預(yù)測結(jié)果更準(zhǔn)確,模型的通用性和泛化能力也得到驗證。
表1 預(yù)測結(jié)果
(1)為了改善潮汐電站優(yōu)化調(diào)度問題,提高潮汐電站的發(fā)電量,本文把深度學(xué)習(xí)的方法用于潮汐潮位的預(yù)測中,建立了卷積神經(jīng)網(wǎng)絡(luò)和雙向長短期記憶網(wǎng)絡(luò)相結(jié)合(CNN-BiLSTM)的模型,有效地解決了傳統(tǒng)調(diào)和分析法預(yù)測結(jié)果不精確的問題。相比于LSTM模型,CNN-BiLSTM可以充分提取潮位數(shù)據(jù)特征信息和耦合關(guān)系,訓(xùn)練過程中具有較低的誤差值。
(2)算例分析表明,在預(yù)測區(qū)間內(nèi),本文模型表現(xiàn)出較好的擬合度,均方根誤差RMSE和相關(guān)性指標(biāo)CC要優(yōu)于傳統(tǒng)調(diào)和分析模型和LSTM模型?;贑NN-BiLSTM的潮汐預(yù)測模型具有較高的精度,可以為潮汐電站的潮位預(yù)測提供一種新的方案。