王渤權(quán),金傳鑫,周 論,沈 笛,蔣志強(qiáng)
(1.南瑞集團(tuán)有限公司(國網(wǎng)電力科學(xué)研究院),南京 211100; 2.華中科技大學(xué) 土木與水利工程學(xué)院,武漢 430074)
水質(zhì)預(yù)測的方法有多種,一般可分為物理驅(qū)動和數(shù)據(jù)驅(qū)動兩類[1]。物理驅(qū)動即建立水動力水質(zhì)模型,根據(jù)當(dāng)前狀態(tài)和未來時段的上下游邊界,模擬預(yù)測出斷面的水質(zhì)變化過程,物理機(jī)制清晰明確,但是模型對地形、斷面等基礎(chǔ)數(shù)據(jù)的要求較高,建模難度大。數(shù)據(jù)驅(qū)動一般基于長系列歷史監(jiān)測數(shù)據(jù),利用神經(jīng)網(wǎng)絡(luò)等方法對未來時段的水質(zhì)進(jìn)行預(yù)測,基本原理與流程簡單,應(yīng)用較為廣泛[2-3]。因此,在有長系列歷史監(jiān)測數(shù)據(jù)的情況下,數(shù)據(jù)驅(qū)動模型的優(yōu)勢就顯現(xiàn)出來[4]。常見的數(shù)據(jù)驅(qū)動預(yù)測方法有人工神經(jīng)網(wǎng)絡(luò)模型、支持向量機(jī)、時間序列模型等。其中神經(jīng)網(wǎng)絡(luò)模型應(yīng)用最為廣泛,包括卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks, RNN)以及長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)等[5]。LSTM是RNN的一個優(yōu)秀的變種模型,繼承了大部分RNN模型的特性,同時解決了梯度反傳過程由于逐步縮減而產(chǎn)生的梯度消失問題,非常適合用于處理與時間序列高度相關(guān)的問題[6]。如今,LSTM的應(yīng)用越來越廣,它不僅應(yīng)用在各類科學(xué)研究中,谷歌、微軟等大型科技公司也將其應(yīng)用在了他們的產(chǎn)品當(dāng)中。郝玉瑩等[7]利用隨機(jī)森林算法耦合LSTM神經(jīng)網(wǎng)絡(luò)構(gòu)建了一個新的水質(zhì)預(yù)測模型,并且以桃林水庫為例,模擬預(yù)測了桃林水庫水質(zhì)數(shù)據(jù),研究發(fā)現(xiàn)此模型的泛化性好,預(yù)測精度高。顧乾暉等[8]提出了一種基于變分模態(tài)分解-粒子群算法-LSTM的水質(zhì)預(yù)測模型,以南陽的水質(zhì)數(shù)據(jù)為例進(jìn)行了水質(zhì)的預(yù)測,研究發(fā)現(xiàn)此模型比其他模型具有更高的精確度以及更快的收斂速度。
通過國內(nèi)外學(xué)者對于LSTM的研究可知,雖然LSTM模型克服了傳統(tǒng)RNN存在的梯度消失或爆炸問題,可應(yīng)用于短期與長期的預(yù)測問題研究,但單一的LSTM結(jié)構(gòu)在預(yù)測精度上面存在著較大的缺陷,尤其是當(dāng)樣本噪聲干擾較大時,LSTM模型魯棒性不強(qiáng),預(yù)測精度不高[9-11],同時在LSTM改進(jìn)方法上并沒有一個統(tǒng)一的最優(yōu)改進(jìn)方法。因此,利用各種優(yōu)化算法對LSTM進(jìn)行優(yōu)化還有著很大的研究潛力。此外,西麗水庫作為深圳市的重要供水水源地,準(zhǔn)確把握其水質(zhì)變化情況,對于保障深圳市的供水安全具有重要意義,但是目前對于西麗水庫的水質(zhì)問題研究,主要集中于基于監(jiān)測數(shù)據(jù)的水質(zhì)影響因素分析[12-13],基于數(shù)據(jù)驅(qū)動模型的西麗水庫水質(zhì)預(yù)測研究尚未見相關(guān)報道。鑒于此,本文在利用自適應(yīng)噪聲的完備集合經(jīng)驗?zāi)B(tài)分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise, CEEMDAN)方法進(jìn)行數(shù)據(jù)分解的基礎(chǔ)上,構(gòu)建了LSTM模型的西麗水庫水質(zhì)預(yù)測模型,以期為西麗水庫制定科學(xué)合理的水庫水廠供水計劃提供支撐,進(jìn)而保障深圳市供水安全。
對于水庫中的某一固定點而言,其水質(zhì)變化的總體趨勢往往表現(xiàn)出一定的周期性,這種周期性對水質(zhì)預(yù)測具有積極作用。但同時受外界各種因素的影響,具體的水質(zhì)指標(biāo)數(shù)值會表現(xiàn)出很大的不確定性,并且這種數(shù)值波動具有非平穩(wěn)非線性的特點,這又為水質(zhì)預(yù)測帶來了難度。前面提到,目前單一的LSTM模型在預(yù)測精度上面存在著較大的缺陷,尤其是當(dāng)樣本噪聲干擾較大時,LSTM模型預(yù)測精度不高。因此若想要通過LSTM模型得到一個較好的預(yù)測結(jié)果,有必要對原始數(shù)據(jù)進(jìn)行適當(dāng)?shù)慕翟?。常見的信號降噪方法包括傅里葉變換[14]、小波變換[15]、經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)[16]以及CEEMDAN等。本次研究引入CEEMDAN耦合LSTM建立水質(zhì)預(yù)測模型,在實際建模之前,簡要介紹一下模型的基本情況、模型結(jié)果評價以及模型的實現(xiàn)流程。
CEEMDAN-LSTM模型是將CEEMDAN分解方式與LSTM模型相結(jié)合,再對水質(zhì)數(shù)據(jù)進(jìn)行訓(xùn)練與預(yù)測。LSTM是在循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的基礎(chǔ)上發(fā)展起來的一種時間循環(huán)神經(jīng)網(wǎng)絡(luò)[17-19],它解決了RNN訓(xùn)練中存在的梯度消失與爆炸的問題,經(jīng)常被用來處理時間序列數(shù)據(jù)的預(yù)測問題。LSTM的結(jié)構(gòu)如圖1(a)所示。圖中,LSTM在t時刻的輸入有Xt、St-1、Ct-13個;在t時刻的輸出有St、Ct2個。LSTM為接收到更早時間節(jié)點的信息,通過3個“門”來實現(xiàn),分別為“遺忘門”“輸入門”“輸出門”。LSTM單元內(nèi)部結(jié)構(gòu)如圖1(b)所示。
圖1 LSTM模型原理Fig.1 Principle of LSTM model
單一的LSTM模型在進(jìn)行實際預(yù)測時,存在很多問題,尤其在考慮到水質(zhì)數(shù)據(jù)隨機(jī)性、波動性較大的問題時,單一的LSTM預(yù)測結(jié)果不準(zhǔn)確,不能很好地滿足實際預(yù)測需求。因此在進(jìn)行預(yù)測模型建模之前,利用CEEMDAN方法將水質(zhì)數(shù)據(jù)進(jìn)行分解,該方法通過消除分量中的部分噪聲幅值,能夠有效處理EMD算法的集合平均次數(shù)過多的問題,從而改善算法的分解效率。假設(shè)x(t)為原始信號,En(·)表示分解的第n階分量,則CEEMDAN算法的操作步驟如下:
(1)
(2)計算第一個殘差r1(t),其公式為
(2)
式中ε1Ek(wj(t))為白噪聲信號。
(3)重復(fù)上述2個步驟,第k個分量的殘差rk(t)為
(4)
式中εkEk(wi(t))為白噪聲信號。
重復(fù)以上步驟,直到殘差不能再分解就停止,而由于內(nèi)涵模態(tài)分量的約束條件為極值點的個數(shù)和過零點的個數(shù)必須相等或相差最多不能超過1個,因此殘差的極值點不會超過2個。
CEEMDAN-LSTM模型的框架如圖2所示。
圖2 CEEMDAN-LSTM模型框架Fig.2 Framework of CEEMDAN-LSTM model
在利用所建立的預(yù)測模型得到預(yù)測值后,需要對預(yù)報效果進(jìn)行評價,分析預(yù)測結(jié)果的準(zhǔn)確性和實用性,預(yù)測精度評價主要包含以下幾個精度指標(biāo)[20]:
(1)平均絕對誤差(Mean Absolute Error, MAE)。MAE代表了預(yù)測結(jié)果與真實結(jié)果之間的絕對差距,數(shù)值越小,預(yù)測結(jié)果越好,其表達(dá)式為
(6)
式中:n代表預(yù)測結(jié)果個數(shù);yo(i)表示真實結(jié)果;yc(i)表示預(yù)測結(jié)果。
(2)平均相對誤差(Mean Relative Error, MRE)。MRE代表了預(yù)測結(jié)果與真實結(jié)果之間的相對差距,數(shù)值越小,預(yù)測結(jié)果越好,其表達(dá)式為
(7)
(3)均方根誤差(Root Mean Square Error, RMSE)。RMSE代表了預(yù)測結(jié)果與真實結(jié)果之間的偏離程度,數(shù)值越小,預(yù)測結(jié)果越好,其表達(dá)式為
(8)
(4)確定性系數(shù)(R2)。R2反映了預(yù)測結(jié)果對真實結(jié)果趨勢的擬合程度,數(shù)值越接近1,預(yù)測結(jié)果越好,其表達(dá)式為
(9)
(5)合格率。一次預(yù)報的誤差小于許可誤差(實測變幅的20%)時,為合格預(yù)報。合格預(yù)報次數(shù)與預(yù)報總次數(shù)之比的百分?jǐn)?shù)為合格率,表示多次預(yù)報總體的精度水平,合格率的表達(dá)式為
(10)
式中:QR為合格率(%);n為合格預(yù)報次數(shù);m為預(yù)報總次數(shù)。
本文在利用CEEMDAN方法進(jìn)行數(shù)據(jù)分解的基礎(chǔ)上,利用LSTM模型,建立了基于LSTM的西麗水庫水質(zhì)預(yù)測模型。模型實現(xiàn)流程如圖3所示。
圖3 模型實現(xiàn)流程Fig.3 Process of model implementation
西麗水庫位于深圳市南山區(qū),水庫面積2.78 km2,總庫容3 238.81萬m3,原設(shè)計以農(nóng)田灌溉為主并兼顧防洪、發(fā)電等綜合利用。隨著深圳經(jīng)濟(jì)的高速發(fā)展和用水需求的不斷增長,西麗水庫已轉(zhuǎn)化為兼具城市供水、原水調(diào)蓄和城市防洪功能的中型水庫,2002年西麗水庫作為東江水源工程的交水點,成為了深圳市供水系統(tǒng)中的重要調(diào)節(jié)水庫。如今西麗水庫供水和防洪都得到了基本保障,但由于西麗水庫地形和邊界條件較為復(fù)雜,水庫水污染和水環(huán)境惡劣成為水庫管理的難點。西麗水庫作為深圳重要飲水源之一,水庫周圍有許多水廠從庫中取水,水庫水質(zhì)影響著供水廠的調(diào)度計劃,因此西麗水庫的水質(zhì)預(yù)測關(guān)系著水庫周邊乃至全市人民的供水安全,對于保障深圳人民的生產(chǎn)生活十分重要。
在西麗水庫水質(zhì)預(yù)測模型構(gòu)建中,考慮到目前西麗水庫水質(zhì)監(jiān)測站點有大涌供水口水質(zhì)監(jiān)測站、東江來水口水質(zhì)監(jiān)測站、西鐵閘水質(zhì)監(jiān)測站3個,位置分布如圖4所示。其中大涌供水口水質(zhì)監(jiān)測站的數(shù)據(jù)較為充分,故本文以西麗水庫大涌水質(zhì)監(jiān)測點的歷史數(shù)據(jù)為基礎(chǔ),基于LSTM建立水質(zhì)預(yù)測模型,對西麗水庫總磷、總氮,氨氮進(jìn)行建模和預(yù)測。
圖4 西麗水庫水質(zhì)監(jiān)測站位置分布信息Fig.4 Location information of water quality monitoring stations in Xili Reservoir
西麗水庫水質(zhì)歷史數(shù)據(jù)步長為1 d,構(gòu)建的水質(zhì)預(yù)測模型輸入為歷史10步長的水質(zhì)數(shù)據(jù),輸出為未來1個步長的水質(zhì)數(shù)據(jù)。訓(xùn)練與測試模型的歷史數(shù)據(jù)長度為2019-12-06—2021-08-26共計629 d,率定期與檢驗期按照3∶1的比例劃分。
3.2.1 基于CEEMDAN的水質(zhì)數(shù)據(jù)分解
3.2.1.1 分解前結(jié)果
西麗水庫總氮、總磷、氨氮數(shù)據(jù)序列變化過程如圖5所示,圖中總氮濃度最高約為2.25 mg/L,最低約為0.25 mg/L,二者相差約9倍。總磷濃度最高約為0.065 mg/L,最低約為0.005 mg/L,二者相差約13倍。氨氮濃度最高約為0.055 mg/L,最低約為0.005 mg/L,二者相差約11倍。由上可以看出總氮、總磷、氨氮濃度在這一時間段內(nèi)波動性都很大。
圖5 西麗水庫總氮、總磷、氨氮數(shù)據(jù)情況Fig.5 Data of total nitrogen, total phosphorus and ammonia nitrogen in Xili Reservoir
3.2.1.2 分解后結(jié)果
將總氮、總磷及氨氮數(shù)據(jù)進(jìn)行CEEMDAN分解,總氮數(shù)據(jù)序列被分解成了10個不同頻率的序列,總磷數(shù)據(jù)被分解成了10個不同頻率的序列,氨氮數(shù)據(jù)序列被分解成了9個不同頻率的序列。以總磷為例,其分解后的數(shù)據(jù)序列如圖6所示。對比分解前的數(shù)據(jù)序列過程,分解后每個序列波動性大大降低,波動規(guī)律性大大增強(qiáng),這更有利于LSTM模型進(jìn)行預(yù)測。
圖6 經(jīng)CEEMDAN分解后的總磷數(shù)據(jù)Fig.6 Total phosphorus data decomposed by CEEMDAN
3.2.2 水質(zhì)分解前LSTM模型預(yù)測結(jié)果
為對比分析CEEMDAN分解前后模型的預(yù)測效果,在此先給出未經(jīng)過CEEMDAN分解的預(yù)報結(jié)果。訓(xùn)練期和檢驗期西麗水庫總氮、氨氮、總磷的預(yù)測結(jié)果如圖7所示。
圖7 西麗水庫總氮、氨氮、總磷預(yù)測訓(xùn)練期和檢驗期結(jié)果Fig.7 Results of the training period and inspection period for total nitrogen, ammonia nitrogen and total phosphorus prediction in Xili Reservoir
水質(zhì)預(yù)測結(jié)果評價指標(biāo)如表1所示。由表1可以看出,對于西麗水庫水質(zhì)預(yù)測模型,在訓(xùn)練期,總氮、氨氮、總磷的R2分別能夠達(dá)到0.844、0.883和0.819,合格率除了總磷以外能夠達(dá)到90%以上,相對預(yù)報誤差除了總磷以外能保持在10%以下;在檢驗期,總氮、氨氮的R2分別能夠達(dá)到0.769和0.726,總氮、氨氮的合格率分別能夠達(dá)到77.27%和88.96%,總氮、氨氮的相對預(yù)報誤差在10%~12%之間??傮w上看,雖然總磷預(yù)測的各項統(tǒng)計指標(biāo)結(jié)果要差一些,但從總氮、氨氮及總磷的預(yù)測結(jié)果與實測結(jié)果對比過程來看,模型預(yù)測效果也較好,預(yù)測水質(zhì)過程很好地跟蹤模擬了實測過程。
表1 LSTM水質(zhì)模型評價指標(biāo)Table 1 Evaluation indices of LSTM water quality model
3.2.3 水質(zhì)分解后LSTM預(yù)測結(jié)果
水質(zhì)分解處理后,訓(xùn)練期和檢驗期西麗水庫總氮、氨氮、總磷的預(yù)測結(jié)果如圖8所示。
圖8 CEEMDAN分解后西麗水庫總氮、氨氮和總磷訓(xùn)練期和檢驗期預(yù)測結(jié)果Fig.8 Results of the training period and inspection period for total nitrogen, ammonia nitrogen and total phosphorus prediction in Xili Reservoir after CEEMDAN decomposition
水質(zhì)分解處理后,西麗水庫的水質(zhì)預(yù)測結(jié)果評價指標(biāo)如表2所示。同時,為進(jìn)行對比分析,將分解后的數(shù)據(jù)輸入到極限學(xué)習(xí)機(jī)(Extreme LearningMachine, ELM)模型中,得到的ELM模型訓(xùn)練期和檢驗期的評價指標(biāo)如表3所示。
表2 CEEMDAN-LSTM水質(zhì)模型評價指標(biāo)Table 2 Evaluation indices of CEEMDAN-LSTM water quality model
表3 CEEMDAN-ELM水質(zhì)模型評價指標(biāo)Table 3 Evaluation indices of CEEMDAN-ELM water quality model
3.2.4 分析與討論
首先,根據(jù)表1可知,在檢驗期,總氮、氨氮、總磷的相對預(yù)報誤差分別為12.45%、10.26%和22.98%,雖然總磷的相對預(yù)報誤差較大,但是總氮與氨氮基本接近10%,預(yù)報精度相對較高。因此,單對LSTM模型而言,通過已有數(shù)據(jù)的建模與論證,證明LSTM模型可以用于水庫水質(zhì)預(yù)測,而且預(yù)測精度相對較高。此外,通過訓(xùn)練期與檢驗期的統(tǒng)計指標(biāo)對比,可以發(fā)現(xiàn)除了極少數(shù)情況,訓(xùn)練期的統(tǒng)計指標(biāo)要好于檢驗期,這進(jìn)一步說明了模型構(gòu)建與應(yīng)用的合理性。對于總磷預(yù)測結(jié)果相對總氮、氨氮較差,從圖5可以看出,其主要原因是原始數(shù)據(jù)的波動性本身較大。
其次,對比CEEMDAN分解處理前后的LSTM模型結(jié)果(表1與表2),可以發(fā)現(xiàn),經(jīng)過CEEMDAN分解處理后的LSTM模型,不論是訓(xùn)練期還是檢驗期,水質(zhì)預(yù)測模型結(jié)果在MAE、RMSE、R2、MRE以及合格率等各個統(tǒng)計指標(biāo)上相較于未分解處理的LSTM模型都得了較大程度的提升。例如,總氮、氨氮、總磷的相對預(yù)報誤差由LSTM模型的12.45%、10.26%和22.98%降低為CEEMDAN-LSTM模型的8.76%、9.31%和19.27%,降低幅度分別為29.6%、9.3%和16.1%,這說明CEEMDAN分解算法的確可以將原來規(guī)律性不強(qiáng)的數(shù)據(jù)序列分解為規(guī)律性較大的多個數(shù)據(jù)序列,以進(jìn)一步提高LSTM模型的預(yù)測精度。
第三,對比CEEMDAN分解處理后的LSTM模型結(jié)果與ELM模型結(jié)果(表2與表3),可以發(fā)現(xiàn),經(jīng)過CEEMDAN分解處理后的LSTM模型,不論是率定期還是檢驗期,水質(zhì)預(yù)測模型結(jié)果在MAE、RMSE、R2、MRE以及合格率等統(tǒng)計指標(biāo)上相較于經(jīng)CEEMDAN分解處理后的ELM模型結(jié)果都得了一定程度的提升。例如,總氮、氨氮、總磷的相對預(yù)報誤差由CEEMDAN-ELM模型的23.09%、17.51%和42.41%降低為CEEMDAN-LSTM模型的8.76%、9.31%和19.27%,降低幅度分別62.1%、46.8%和54.6%,這說明經(jīng)過同樣的分解方法對數(shù)據(jù)進(jìn)行分解后,LSTM模型更具有優(yōu)勢,更適合于水庫水質(zhì)預(yù)測。
此外,通過對比表1和表3,可以發(fā)現(xiàn),總氮、氨氮、總磷的相對預(yù)報誤差在單獨的LSTM模型中為12.45%、10.26%和22.98%,在CEEMDAN-ELM模型中為23.09%、17.51%和42.41%,即經(jīng)CEEMDAN分解處理后的ELM模型結(jié)果,并沒有比單獨的LSTM模型結(jié)果更好,這說明本文預(yù)測結(jié)果的優(yōu)勢,一方面取決于CEEMDAN分解的效果,但另一方面更加說明LSTM模型在水質(zhì)預(yù)測中的適用性,尤其是在數(shù)據(jù)經(jīng)過CEEMDAN分解后。
最后,鑒于目前數(shù)據(jù)量較少的原因,模型預(yù)測效果還有進(jìn)一步的提升空間,尤其是對于總磷預(yù)測模型,精度還有較大的提升空間。
本文基于CEEMDAN分解方法和LSTM模型,以深圳市西麗水庫為例,構(gòu)建了西麗水庫水質(zhì)模型。通過模擬計算發(fā)現(xiàn)該模型模擬效果較好,總氮、氨氮及總磷的預(yù)測結(jié)果與實測結(jié)果吻合度均較高,可很好地跟蹤模擬實測過程;且對于總氮和氨氮,模型的相對預(yù)報誤差不論是率定期還是檢驗期都能控制在10%以下,說明了所建模型的合理性。
總的來講,研究工作一方面可為西麗水庫的水質(zhì)預(yù)測提供重要模型與技術(shù)支撐,對于保障西麗水庫及深圳市的供水安全具有重要意義;另一方面通過西麗水庫水質(zhì)預(yù)測研究,驗證了LSTM模型以及CEEMDAN分解方法在水庫水質(zhì)預(yù)測中的適用性,可以為其他水庫的相關(guān)研究提供參考和借鑒。