宦 娟,陳 波,徐憲根,李明寶,楊貝爾,史 兵,張勤蘭
(1.常州大學計算機與人工智能學院阿里云大數(shù)據(jù)學院,江蘇常州 213164;2.常州市環(huán)境科學研究院,江蘇常州 213022;3.溧陽市水鄉(xiāng)特種水產(chǎn)養(yǎng)殖專業(yè)合作社,江蘇常州 213300)
河流是人類開發(fā)利用的主要水源之一,對人類生產(chǎn)生活有重要的意義。溶解氧是衡量河流水環(huán)境質(zhì)量和水體健康程度的重要指標[1,2],因此,準確預測河流中溶解氧的含量,對水環(huán)境精細化管理具有重要意義。
目前,已有大量學者對溶解氧預測進行了研究[3-5]。Ahmed以生化需氧量和化學需氧量作為輸入?yún)?shù),建立FFNN 和RBFNN 神經(jīng)網(wǎng)絡預測蘇馬河的溶解氧濃度[6]。施珮等提出運用皮爾森系數(shù)選取相關性強的指標作為模型的輸入,繼而建立ELM 水產(chǎn)養(yǎng)殖溶解氧預測模型,并且使用偏最小二乘算法優(yōu)化[7]。Liu等提出使用小波分析方法對原始數(shù)據(jù)進行降噪,然后建立LSSVR 溶解氧預測模型,并使用CPSO算法優(yōu)化,從而有效預測了水產(chǎn)養(yǎng)殖水體的溶解氧含量[8]。陳英義等使用PCA 方法提取了水產(chǎn)養(yǎng)殖環(huán)境中的關鍵指標作為模型的輸入,通過對比多種溶解氧預測模型,證明PCA 結合LSTM 的方法能提高溶解氧的預測精度[9]。然而,以上的研究僅施珮與陳英義考慮到不同指標組合會影響溶解氧的預測精度,但是他們沒有對水質(zhì)指標組合與溶解氧預測精度關系進行深入的探究。
本文提出一種探究水質(zhì)指標組合與溶解氧預測精度關系的方法,以此搜索溶解氧預測精度高的輸入指標組合。若水質(zhì)指標中除輸出指標之外共計包含n個輸入指標,窮舉所有組合,則有2n-1 種組合方案,顯然,窮舉法一定可以選出溶解氧預測精度最高的水質(zhì)指標組合,但是此種方法過于繁瑣與耗時。因此,本文提出一種效率更高且行之有效的方法:首先使用XGBoost 模型計算每個水質(zhì)指標的特征重要性分值;繼而基于特征重要性分值和貪心規(guī)則,排列n種水質(zhì)指標組合;然后建立BP 神經(jīng)網(wǎng)絡對n 種組合分別進行溶解氧預測實驗;最終通過對比分析實驗結果,獲取溶解氧預測精度高的輸入指標組合。
本研究數(shù)據(jù)來自太湖流域某水質(zhì)自動站2019-2020年河流斷面數(shù)據(jù),共2 637 組有效數(shù)據(jù),包括氨氮、水溫、溶解氧等9 個水質(zhì)指標,2019年部分數(shù)據(jù)樣本如表1所示。
表1 樣本數(shù)據(jù)Tab.1 Sample data
特征重要性是評估每個特征在所屬特征集上重要程度的衡量指標,某個特征在決策樹中作出的關鍵決策越多,其特征重要性分值就越高[10]。XGBoost 的特征重要性評估指標包括weight、gain 和cover。weight 表示特征在節(jié)點處的分裂次數(shù),gain 代表特征在節(jié)點處分裂產(chǎn)生的平均增益,cover 指特征在樹中的平均覆蓋范圍[11]。本實驗以gain 作為特征重要性的評估指標,計算特征重要性分值的步驟如下:
(1)特征在某節(jié)點處分裂產(chǎn)生的增益Gain:
式中:GL、HL為節(jié)點L 的函數(shù);GR、HR為節(jié)點R 的函數(shù);λ 為超參數(shù);為新左葉上的得分;為新右葉上的得分;為原始葉子上的得分;γ為附加葉子上的正則化。
(2)由Gain 計算特征產(chǎn)生的總增益total_gain 和平均增益gain:
式中:weight為特征分裂的次數(shù)。
(3)由平均增益gain計算特征重要性分值score:
式中:j為特征數(shù)。
貪心規(guī)則與貪心算法的核心思想一致,是一種在每一步選擇中都采取在當前狀態(tài)下最好的選擇,從而希望導向最佳結果的方法。它不考慮各種可能的整體情況,省去了窮盡所有可能必須耗費的時間,算法的具體流程如下:①從問題的初始解出發(fā)。②重復執(zhí)行以下步驟:若能朝著給定總目標前進一步,求出可行解的一個解元素。③將所有解元素合成問題的一個可行解。
BP神經(jīng)網(wǎng)絡是使用最廣泛的神經(jīng)網(wǎng)絡模型之一,它主要包括3 個部分,一個輸入層,一個或多個隱藏層和一個輸出層[12]。BP神經(jīng)網(wǎng)絡通過正向與反向傳播的過程訓練數(shù)據(jù)[13],具體細節(jié)如下[14]:
(1)隱含層輸出:由輸入層和隱含層的變量,計算隱含層的輸出變量Hj。
式中:x為輸入變量;wij為連接權值;aj為隱含層閾值;l為隱含層節(jié)點個數(shù);f為激勵函數(shù)。
(2)輸出層輸出:由隱含層和輸出層變量計算輸出變量Ok。
式中:bk為隱含層與輸出層之間的閾值;wjk為連接權值。
(3)誤差計算:預測誤差ek由Ok和真實值Yk確定。
(4)權值更新:根據(jù)ek更新wij,wjk。
式中:η為學習率。
(5)閾值更新:根據(jù)ek更新aj和bk。
均方誤差(MSE)可以將預測值與真實值誤差過大的數(shù)據(jù)放大,能夠反映預測值與真實值差的平方關系,平均絕對誤差(MAE)表示預測值與真實值之間的距離關系,平均絕對百分比誤差(MAPE)體現(xiàn)預測值與真實值偏離程度的百分比信息,均方根誤差(RMSE)能夠表示預測值與真實值之間的關系。這4項評價指標值越小,代表預測精度越高[12]。4 種評價指標的計算方式如下:
式中:N 為樣本數(shù);yi為第i 個樣本的真實值;yi′為第i 個樣本的預測值。
本文融合XGBoost、貪心規(guī)則和BP 神經(jīng)網(wǎng)絡方法,探究水質(zhì)指標組合與河流溶解氧預測精度的關系,具體流程如圖1所示。
圖1 探究水質(zhì)指標組合與溶解氧預測精度關系流程Fig.1 Exploring the relationship between the combination of water quality indicators and the accuracy of dissolved oxygen prediction
步驟①計算水質(zhì)指標特征重要性分值:首先用除溶解氧之外的n 個水質(zhì)指標作為輸入,溶解氧作為輸出,繼而建立XGBoost模型進行數(shù)據(jù)擬合,最后通過特征在節(jié)點處分裂產(chǎn)生的平均增益gain,得到n個水質(zhì)指標的特征重要性分值。
步驟②排列水質(zhì)指標組合:基于貪心規(guī)則,首先選取特征重要性分值最大的指標,加入到集合A 中作為組合1。然后從剩余水質(zhì)指標中選取特征重要性分值最大的水質(zhì)指標,加入到集合A 中作為組合2。以此類推,直到加完所有的水質(zhì)指標,最終得到n種組合。
步驟③BP 神經(jīng)網(wǎng)絡預測:對于n種水質(zhì)指標組合,使用BP神經(jīng)網(wǎng)絡模型分別進行溶解氧預測實驗。對于一般簡單的數(shù)據(jù)集,神經(jīng)網(wǎng)絡的結構不宜過于復雜[15],因此本研究采用4層神經(jīng)網(wǎng)絡結構,第一層隱藏層節(jié)點個數(shù)為20,第二層隱藏層節(jié)點個數(shù)為10,輸出層節(jié)點個數(shù)為1,輸入層的節(jié)點個數(shù)為組合中的指標個數(shù)。
步驟④結果分析:分析n 種組合的溶解氧預測結果,探究水質(zhì)指標組合與溶解氧預測精度的關系。
為了保證水質(zhì)指標特征重要性分值的合理性,通過多組實驗進行對比分析,使得水質(zhì)指標的特征重要性分值在不同實驗參數(shù)下,均有穩(wěn)定的得分與排名,最終確定XGBoost模型的關鍵參數(shù) 如 下:max_depth=6,importance_type=gain,n_estimators=100。圖2為XGBoost擬合數(shù)據(jù)后,在第1棵樹上的分裂結果。
根據(jù)水質(zhì)指標在100棵樹上的分裂結果,得到表2所示8個水質(zhì)指標的特征重要性分值。由表2可知,pH 是特征重要性分值最大的指標,分值為0.533 2;其次是水溫,分值為0.134 6;電導率和氨氮的特征重要性分值排名在第3 和第4 位,分別為0.098 8、0.083 3。濁度、高錳酸鹽指數(shù)、總磷、總氮的特征重要性分值依次降低,分別為0.062 8、0.038 9、0.029 4、0.018 7。
依據(jù)第1部分融合方法中的步驟2和表2,首先選取特征重要性分值最大的pH 作為組合1,然后在組合1 的基礎上加入水溫指標作為組合2,依次類推,直到加完所有的指標,最終得到表3所示的8種組合。
表2 水質(zhì)指標特征重要性分值Tab.2 Water quality index feature importance score
表3 水質(zhì)指標組合結果Tab.3 Water quality index combination result
為了初步探索8 種組合與溶解氧預測精度的關系,使用BP神經(jīng)網(wǎng)絡對組合1~8 進行溶解氧預測實驗,預測結果如圖3 所示。由圖3 可知,組合3 的預測結果明顯優(yōu)于組合1 和組合2,組合4~8 的預測結果與真實值偏差較小,預測表現(xiàn)良好。整體來看,隨著依次加入特征重要性分值最大的水質(zhì)指標,預測精度有所提升,并且逐漸趨于穩(wěn)定。
圖3 組合1~8在BP神經(jīng)網(wǎng)絡下的預測結果。Fig.3 The prediction results of combinations 1~8 under BP neural network。
為了進一步探究8 種組合與溶解氧預測精度的關系,分別計算8 種組合的MSE、MAE、RMSE、MAPE,圖4 為8 種組合的評價指標結果。由圖4 可知,組合1 的預測精度最低,組合6 的預測精度最高;組合4~8 的4 項評價指標波動很小,表明組合4 中的pH、水溫、電導率和氨氮是影響溶解氧預測的關鍵指標。
圖4 組合1~8,MSE、MAE、RMSE、MAPE結果Fig.4 Combination 1~8,MSE,MAE,RMSE,MAPE results
為了證明本文提出的方法可用于探索水質(zhì)指標組合與溶解氧預測精度的關系,選取預測精度高的水質(zhì)因子組合,在此使用對比分析的方法進行論證。相關系數(shù)法、方差選擇法、遞歸特征消除法等均可以進行特征選擇,并且排列出水質(zhì)指標組合方案,但這些方法排列的水質(zhì)指標組合不夠全面,而窮舉法可以排列所有組合,因此最終選擇與窮舉法進行對比論證分析。窮舉法排列所有組合的具體方法為:從n個不同的元素中,選出m 個元素(0<=m<=n)作為1 個組合,因為本文的待排列的水質(zhì)指標個數(shù)為8,且選取0 個水質(zhì)指標作為組合沒有意義,所以n 的取值為8,m 的取值范圍為[1,8]。c(n,m)表示在n 個不同元素中,選出m 個元素的所有組合的個數(shù),因此在本文中,8個水質(zhì)指標共有255 種組合方案。將255 種組合按照m 的取值分成8 個分組,分組內(nèi)的組合按照總計特征重要性分值降序排序,表4為8個分組包含的組合信息。
表4 8個分組的組合信息Tab.4 Combination information of 8 groups
建立BP神經(jīng)網(wǎng)絡對255種組合進行溶解氧預測實驗,評價指標結果如圖5 所示。由圖5 可得,分組內(nèi)的誤差總體呈上升趨勢,表明分組內(nèi)總計特征重要性分值越高的組合其預測精度也越高。若僅使用分組內(nèi)總計特征重要性分值最高的組合,探究與溶解氧預測精度的關系,雖然不一定能在全局上獲取預測精度最高的組合,但一定可以取得預測精度接近最高水平的組合,本文排列的8 種組合恰恰是每個分組中總計特征重要性分值最高的組合。此外我們方法的時間復雜度為O(n),而窮舉法的時間復雜度為O(2n),相比之下本文的方法效率更高。
圖5 255種組合的評價指標結果Fig.5 Evaluation index results of 255 combinations
對255 種組合的誤差結果,分別按照MSE、MAE、RMSE、MAPE 進行前5 排名,排名結果如表5 所示。由表5 可知,在MSE、MAE、RMSE 評價指標下,組合219 為255 種組合中預測精度最高的組合;在MAPE 評價指標下,組合219 為預測精度第二高的組合。因此得出結論,本文的方法能從255種組合中,盡可能獲取溶解氧預測精度最高的組合。
表5 255種水質(zhì)指標組合在4種評價指標下的排名結果Tab.5 Ranking results of 255 combinations of water quality indicators under 4 evaluation indicators
(1)隨著依次將特征重要性分值最大的水質(zhì)指標加入到組合中進行溶解氧預測,溶解氧的預測精度呈上升趨勢并逐漸趨于穩(wěn)定。
(2)pH、水溫、電導率、氨氮是影響溶解氧預測的4 個關鍵指標;pH、水溫、電導率、氨氮、濁度、高錳酸鹽指數(shù)是8 種組合中溶解氧預測精度最高的輸入指標組合。
(3)提出的方法有效可行,能從255 種水質(zhì)指標組合中,有效選取出溶解氧預測精度高的輸入指標組合,提升溶解氧的預測精度。相較窮舉法,時間復雜度更低。 □