◆顧乾暉 涂振宇 楊昊天 王嘉璐 施愷杰 徐力晨
(1.南昌工程學院信息工程學院 江西 330096)
水質預測工作是根據采集到的歷史水質監測數據,通過建模等手段預測未來的水質變化趨勢,來達到掌握水質現狀以及發展趨勢的目的[1]。水質預測精度的提高對于水環境質量的評價、水資源管理制度的制定以及水污染監測與控制系統的規劃具有重大意義[2]。
目前,水質預測的方法主要有模糊綜合分析法[3]、支持向量機法[4]、灰色預測法[5]和人工神經網絡法[6]等。模糊綜合評價法需要對各種因子進行模糊化加權賦值處理,計算精度高但過程復雜,運行時間長。灰色預測法存在只適合水質短期預測不適合長期預測的缺點[7],并且灰色預測法對復雜數據的預測效果較差[8]。近年來,隨著人工智能的迅速發展,越來越多的學者把神經網絡和機器學習運用到水質預測和評價模型當中。劉紅梅[9]等運用最小二乘支持向量回歸模型去預測水質,實驗結果表明,大大降低了算法的計算復雜度并提高了水質預測的精確度。然而SVM 對參數選取具有盲目性,有時候求出的模型并不是最優解[10]。張青、袁宏林等人[11]建立BP 神經網絡水質預測模型對水質相關指標進行預測,取得了良好的效果。何鈺、唐穎等人[12]把BP 神經網絡應用于水質評價和水質預測之中與其他模型對比,結果表明,BP 神經網絡能降低計算復雜度,結果更加客觀。BP 神經網絡雖然在水質預測方面取得了一定的成果,但是BP 神經網絡存在易陷入局部最優和收斂速度慢的問題[13],并且BP 神經網絡在時間序列的數據分析上還存在著欠缺[14]。
水質數據是以多元時間序列形式存在的數據集。在進行水質預測時,應該考慮時間序列問題。在處理時序問題上,由于LSTM 神經網絡獨特的網絡結構,相對于其他傳統的神經網絡,LSTM 神經網絡更易快速收斂,更能得到最優模型。2017年,Wang[15]首次將LSTM引入水質預測領域,并證明了其在水質預測領域的可行性。李彥杰、賀鵬飛等人[16]提出了基于LSTM 模型的海洋水質預測,通過將SVR和LSTM 兩種算法做了對比,發現LSTM 算法表現出了較好的擬合效果。但若是影響因子過多,LSTM 神經網絡計算過于復雜,并且當輸入越長,數據間包含的信息量就越大,傳統的LSTM 模型在訓練過程中會表現出明顯的不穩定性,甚至會出現梯度消失的現象[17]。
基于上述原因分析。本文提出一種基于量子粒子群(QPSO)優化LSTM 神經網絡模型對水質進行預測方法,并利用多種模型對贛江滁槎站點的水質數據進行仿真對比實驗,以證明本文提出的模型的有效性和合理性。
LSTM 神經網絡是從RNN 神經網絡基礎上改進而來。LSTM 神經網絡中的門控單元(輸入門、輸出門、遺忘門)使得模型具有較長時間的“記憶功能”,因此LSTM 神經網絡適用于長時間非線性序列預測問題。
模型的輸入數據分別為t時刻的輸入數據,t-1 時刻的記憶值和t- 1時刻的LSTM 的輸出值,輸出數據分別為t時刻的記憶值和LSTM 輸出值。

“輸入門”通過激活函數sigmoid 將變量控制在[0,1]之間,并輸出。公式如下:

“遺忘門”和“輸入門”的變化決定了細胞狀態ct的變化。公式如下:

“輸出門”用來控制當時時刻細胞狀態值的輸出。公式如下:

粒子群優化算法(PSO:Particle swarm optimization)是一種群智能優化算法,源于對鳥群捕食的行為研究。粒子群優化算法的基本思想:是通過群體中個體之間的協作和信息共享來尋找最優解。粒子群的優化是將種群中的個體當成N維搜索空間的粒子,每個粒子都有一個由目標函數決定的適應度值。在每一次迭代中,每一個粒子通過尋找個體最優位置和全局最優位置來不斷更新自己的位置和速度,直至到達尋優條件[19]。
在傳統粒子群優化算法中,由于粒子位置的變化缺少隨機性,有可能會陷入局部最優。2004年Sun 等人[20]從量子力學出發提出的一種改進型粒子群算法(QPSO)。QPSO 取消了粒子運動速度向量,相對于PSO,QPSO 具有快速收斂、需要配置的參數少和運算相對簡單等特點[21]。其公式如下所示:

本文利用QPSO優化LSTM神經網絡的兩個重要參數(m和lr);然后利用優化后得出的參數去建立QPSO-LSTM 水質預測模型;最后利用搭建完成得到模型去預測水質。具體流程如下所示:
Step 1:歸一化.由于水質數據類型不同,為了提高模型的收斂速度和計算精度,需要對水質樣本數據進行歸一化處理。
Step 2:初始化模型參數。設置神經元個數m的取值范圍以及學習率lr的搜索范圍;粒子的維度dim 和粒子群的種群大小num;最大迭代次數。
Step 3:建立LSTM 神經網絡模型。劃分訓練集與測試集,并分別利用訓練集與測試集對模型進行訓練與測試。選取均方誤差MSE作為評價標準和各粒子的適應度值。MSE計算公式如下:

Step 4:計算粒子的適應度值,通過適應度值得出粒子的局部最優和全局最優值,并將每一個粒子的最優位置作為歷史最佳位置記錄下來。
Step 5:根據公式(9)進行粒子位置的更新。
Step 6:當迭代次數達到最大或者尋找到最好的粒子的位置時候則滿足終止條件,并得到最優的m和lr參數值。若不滿足條件,則返回Step 4。
本文所用的數據是國家環境監測總局關于贛江南支(滁槎)2020年5月至2020年9月的水質數據,水質數據每四小時更新一次,一天共6 組數據。根據已有的研究,影響南昌贛江滁槎段水質的主要因素是生活污水[22]。因此按照《地表水環境質量標準》(GB3838-2002)中的水質評價標準,選取七日內PH、溶解氧、氨氮、總氮、總磷數據(5 組數據,每組42 個數據)作為水質預測模型的輸入數據,同時輸出數據為一日內高錳酸鹽數據(1 組6 個數據),同時將訓練集與測試集分別劃分為90%與10%。
由于水質數據類型不同,為了提高模型的收斂速度和計算精度,需要對水質樣本數據進行歸一化處理。本文采用改進型歸一化方法[23]。即:

4.3 QPSO-LSTM 網絡模型參數選擇與優化結果
將收集到的在線水質數據經過數據處理后作為特征參量輸入LSTM 網絡模型,QPSO優化LSTM神經網絡的兩個重要參數分別是:神經元個數m 與學習率lr,預測結果的均方誤差(MSE)作為粒子的適應度。QPSO 參數設置如下:基本QPSO 中慣性權重w=0.8,學習因子,迭代次數為100 次,種群數量pop=30,神經元個數m取值范圍為[1,50],學習率lr取值范圍為[0.0001,0.01]。QPSO-LSTM 中LSTM 模型部分由輸入層、單隱藏層和輸出層組成,經過QPSO 對LSTM 模型以均方誤差(MSE)為目標函數進行尋優,最終得出的結果為m=40,lr=0.0019。
為了驗證本文提出的預測模型的有效性,選取RNN、傳統的LSTM 神經網絡等預測模型進行對比實驗。三個預測模型均在相同的實驗平臺和環境下進行實驗,對于RNN 采用10 個隱層單元,學習率為0.001,激活函數采用relu 函數,迭代100 次;對于傳統LSTM神經網絡采用一個隱藏層,隱藏層神經元個數可由經驗公式(12)這里設置10 個隱藏層神經元,,激活函數采用relu 函數,迭代100 次,學習率為0.001。將MSE 作為這三種模型性能的評價指標,這三種模型各經過100 次迭代所得出的MSE 如圖1所示。從圖中看出QPSO-LSTM 模型與其他模型相比誤差明顯降低。

圖1 MSE 誤差對比圖

公式中,p和q分別是輸出層和輸入層的節點數,a為[0,10]之中。
為了更加直觀看出QPSO-LSTM 神經網絡模型在預測效率上的提高,以及模型對于每個因子的預測效果,分別選取測試集的30 個數據,繪制四個因子的實際數據與預測數據對比圖,如圖2。從圖中可以直觀看出在高錳酸鹽的預測目標下,與其他幾個模型相比,QPSO-LSTM 模型的結果曲線圖與實際值更加吻合。

圖2 高錳酸鉀預測結果圖
為了更加精確體現三種模型之間的性能對比,根據均方誤差(MSE)、均方根誤差(RMSE)、平均絕對誤差(MAE)這三種評價指標,通過真實數據與預測數據繪制出這三種模型對各個預測因子的性能對比表,如表1。可從兩張表中可知,QPSO-LSTM 模型不管在哪個評價指標下都能夠有著很好的效果。

表1 高錳酸鉀預測因子模型性能對比
從以上實驗結果可知,本文提出的QPSO-LSTM 預測模型均方誤差最小。相對于普通LSTM 預測模型,QPSO-LSTM 預測模型有著較強的泛化能力和預測精度。因此本文提出的QPSO-LSTM 模型可以運用于地表水的水質預測當中。
本文首先將地表水的多因子水質數據通過均值平滑法填補缺失值,再利用拉依達法則降噪。通過把降噪后的數據進行歸一化來減小數據的波動。然后把處理后數據放入量子粒子群優化后的LSTM 神經網絡進行訓練和預測。實驗結果表明本文提出的預測模型的均方誤差最小,與真實數據更加吻合,預測模型的性能比傳統LSTM 模型和RNN 模型更加準確、取得更好的預測效果,為水質決策和監管提供更有力的參考依據。后續主要工作是嘗試用多層隱藏層去預測。