何 恒 宋 蝶 王一旭
(浙江省發(fā)展規(guī)劃研究院,浙江 杭州 310012)
水資源是人類賴以生存的自然資源,水環(huán)境質(zhì)量直接影響著人類的生存和發(fā)展[1]。隨著城市化進程的加速,工業(yè)廢水、生活污水、農(nóng)業(yè)面源污染使河流水體污染物含量增加,水體污染問題日益嚴重。區(qū)域水質(zhì)時空變化特征分析是區(qū)域水資源管理與污染研究治理的重要內(nèi)容之一,也是進行區(qū)域水環(huán)境治理與保護的科學依據(jù)[2],因此在時間和空間尺度上對水質(zhì)進行分析具有重要的科學意義和現(xiàn)實意義。
近年來,隨著數(shù)據(jù)可獲得性的提升和建模技術的不斷發(fā)展,機器學習算法越來越受到學界的重視,也被廣泛應用于環(huán)境保護領域[3-6]。相較于傳統(tǒng)統(tǒng)計學方法,機器學習算法能夠從規(guī)模較大的數(shù)據(jù)集里進行相關模式的學習,構建基于數(shù)據(jù)的經(jīng)驗關系,并將其應用于預測和機理分析中。然而,這些模型比傳統(tǒng)統(tǒng)計學模型復雜,其內(nèi)部邏輯難以理解。即使能夠作出準確的預測[7],但由于機器學習模型的“黑盒子”屬性,其應用場景在很多領域都受到了限制。因此,需要使用外部的模型解釋方法才能更深入地理解建模過程,而特征重要性就是一種常用的模型解釋方法[8]。
湖州市是“綠水青山就是金山銀山”理念的誕生地,2005年以來,湖州市以太湖流域水環(huán)境綜合治理、“五水共治”“污水零直排區(qū)”創(chuàng)建等重大行動為抓手,推動水環(huán)境不斷提質(zhì)升級。但由城市化水平提升、人類活動加劇而產(chǎn)生的環(huán)境污染風險仍不可忽視。通過對湖州市近15年水質(zhì)狀況進行時空分析,可以了解湖州市水質(zhì)指標隨時間的變化規(guī)律,并確定不同水質(zhì)的分布狀況。因此,本文以2005—2019年湖州市省控監(jiān)測斷面水質(zhì)監(jiān)測資料為基礎,分析研究湖州市水質(zhì)時空變化規(guī)律,并通過機器學習方法進行水質(zhì)數(shù)據(jù)的相關模式識別,采用基于模型性能的特征重要性對主要水環(huán)境污染物進行識別,探究利用上述方法在湖州市進行水質(zhì)研究的可行性,為新時代美麗湖州、美麗鄉(xiāng)村建設提供技術支撐。
湖州市位于浙江省北部、太湖南岸,市域面積5820km2,東部為水鄉(xiāng)平原,西部以山地、丘陵為主,轄吳興、南潯2個區(qū),德清、長興、安吉3個縣,常住人口近300萬,其中市區(qū)人口133萬。湖州市地處北亞熱帶季風氣候區(qū),雨熱同期、降水充沛,年平均氣溫12.2~17.3℃,無霜期224~246天,年平均降水量761~1780mm。境內(nèi)水面面積536km2,主要河流包括東、西苕溪,長興水系河流等。湖州市自然資源豐富,生態(tài)環(huán)境良好,是“綠水青山就是金山銀山”理念的誕生地、中國美麗鄉(xiāng)村發(fā)源地、全國首個地市級生態(tài)文明先行示范區(qū)。
1.3.1 時空分析方法
本研究首先對水質(zhì)各指標的月均值數(shù)據(jù)進行了處理,同時將17個監(jiān)測站點根據(jù)水系匯水情況劃分為西苕溪流域(區(qū)域1)、長興水系(區(qū)域2)、東苕溪流域(區(qū)域3)、東部平原河網(wǎng)(區(qū)域4)4個區(qū)域。其中區(qū)域1監(jiān)測站點包括荊灣、塘浦、鐵路橋、南潘,區(qū)域2監(jiān)測站點包括合溪、楊家浦,區(qū)域3監(jiān)測站點包括城南翻水站、城西大橋、東升、小梅口、新港口、大錢,區(qū)域4監(jiān)測站點包括幻溇、古婁港、南潯、湯溇、沈家墩,具體分布見圖1。
圖1 監(jiān)測斷面分布
1.3.2 水質(zhì)評價模型構建
為了識別關鍵水環(huán)境污染物,首先需要利用機器學習算法構建水質(zhì)參數(shù)與水質(zhì)類別的相關模式,即構建水質(zhì)評價模型。為了確定適合用于水質(zhì)評價的機器學習算法,本研究選取6種常用算法,進行了1000次水質(zhì)數(shù)據(jù)集的隨機劃分以避免數(shù)據(jù)劃分造成的性能影響,在默認的參數(shù)設置下分別進行了1000輪模型訓練,并計算每個模型交叉驗證準確率的均值和標準差(見表1)。經(jīng)過模型性能比選,本研究選擇梯度增強迭代決策樹(Gradient Boosting Decision Tree, GBDT)算法進行水質(zhì)評價模型的構建。
表1 模型比選結果
GBDT算法是一種有監(jiān)督分類的算法,這類算法能從已知水質(zhì)類別的水質(zhì)數(shù)據(jù)集合中學習水質(zhì)參數(shù)和水質(zhì)類別的經(jīng)驗關系,以水質(zhì)參數(shù)為自變量,水質(zhì)類別為因變量,構建自變量和因變量之間的關聯(lián)規(guī)則。
GBDT模型以分類與回歸樹(classification and regression tree, CART)模型為基分類器,針對每一個任務都會構建若干數(shù)量的CARTs,并采用梯度增強為學習策略進行訓練。在構建新的CART時,采用現(xiàn)存CART的擬合殘差梯度值作為學習目標,而模型的最終輸出是所有CARTs輸出預測值的累加結果,也就是說模型會以CART的原始結果為基礎,并構建結果調(diào)整機制提升準確率,以實現(xiàn)更加優(yōu)秀的模型性能。對于本研究中涉及的多分類任務,GBDT算法采用一對多的處理策略,如將Ⅰ~Ⅴ類水質(zhì)級別標簽劃分為Ⅰ類水和非Ⅰ類水、Ⅱ類水和非Ⅱ類水等5個二分類,并分別同步構建模型,最后通過5個模型的輸出結果綜合判斷水質(zhì)級別。
本研究中,水質(zhì)數(shù)據(jù)集合被劃分為訓練集(70%)和驗證集(30%),其中訓練集被用于模型構建,驗證集被用于模型的泛化性能驗證。在模型構建過程中,采用Hyperopt[9]在十折交叉驗證下進行超參數(shù)調(diào)優(yōu),即將訓練集隨機分為10份,進行10次模型構建,每次構建都取1份作為該次模型構建的驗證數(shù)據(jù)計算準確率,并將交叉驗證準確率的均值作為超參數(shù)調(diào)優(yōu)算法的評價依據(jù)。在完成模型訓練后,將測試集數(shù)據(jù)作為模型輸入,預測每一條水質(zhì)監(jiān)測記錄的水質(zhì)類別,并與真實值進行比較,計算模型的測試準確率。
1.3.3 關鍵特征識別
在完成水質(zhì)評價模型構建后,計算特征重要性,以此作為關鍵水質(zhì)參數(shù)的識別依據(jù)。本研究采用基于模型交叉驗證性能的遞歸特征消除算法進行關鍵水質(zhì)參數(shù)的識別。遞歸特征消除算法是一種向后選擇的特征篩選方法,會進行多次模型構建。在每輪的模型構建中,依次遍歷所有特征,將該特征剔除后,再將剩余的特征輸入模型,計算該特征子集交叉驗證的準確率,選擇模型性能最好的特征子集進行下一輪消除,直到僅剩一個特征后停止消除。特征被消除的先后順序便是特征的重要性排序。采用該方法進行關鍵水環(huán)境污染物的識別,可以從水質(zhì)評價效果的角度出發(fā),判斷哪項水質(zhì)指標對水質(zhì)級別的影響更大,對于區(qū)域水質(zhì)管理工作更具參考價值。
本研究中,水質(zhì)數(shù)據(jù)分析采用SPSS 22.0進行;水質(zhì)類別判斷、GBDT模型構建和基于模型交叉驗證性能的遞歸特征消除算法均采用Python編程實現(xiàn)。其中水質(zhì)類別的劃分依據(jù)為《地表水環(huán)境質(zhì)量標準》(GB 3838—2002)。
2.1.1 時間分析
圖2 湖州市2005—2019年高錳酸鹽指數(shù)、化學需氧量、五日生化需氧量、氨氮、總磷年平均濃度變化情況
圖3 豐水期、平水期、枯水期不同區(qū)域間水質(zhì)參數(shù)比較
圖3中,各水質(zhì)參數(shù)同一時期的不同字母代表區(qū)域間差異顯著,P<0.05。
2.1.2 空間分析
整體而言,湖州市水質(zhì)按優(yōu)劣情況排序依次為區(qū)域1、區(qū)域3、區(qū)域4、區(qū)域2。區(qū)域1近些年生態(tài)環(huán)境保護較好,西苕溪流域中上游的安吉縣作為國家級生態(tài)示范區(qū),其在水土保持、植被恢復等方面做了大量工作,使西苕溪生態(tài)環(huán)境得到良好恢復與保護[13];區(qū)域2的水體整體質(zhì)量最差,可能是受太湖水質(zhì)污染影響,此外位于區(qū)域2的長興縣是工業(yè)強縣,工業(yè)發(fā)展也會產(chǎn)生較多的工業(yè)污染源;區(qū)域3的水體整體水質(zhì)劣于區(qū)域1,這是由于東苕溪兩岸的礦山企業(yè)較多,導致東苕溪受礦山開采和航運的影響使水質(zhì)變渾,加之東苕溪兩側農(nóng)業(yè)養(yǎng)殖多,畜禽糞便等生產(chǎn)廢水治理尚不到位;區(qū)域4的水體整體質(zhì)量較差,相關研究表明流域水質(zhì)污染與居民區(qū)之間存在一定的相關性[14],而區(qū)域4位于湖州東部平原,人口眾多,工業(yè)密集,可在居民點距河岸較近的區(qū)域設置植被緩沖帶,降低水質(zhì)污染風險[15]。
2.2.1 水質(zhì)評價模型構建
以水質(zhì)級別作為標簽,進行GBDT模型訓練,經(jīng)過Hyperopt超參數(shù)調(diào)優(yōu)后(采用的超參數(shù):bagging_fraction=0.26,learning_rate=0.34,max_depth=19,num_leaves=2,num_trees=231),訓練集數(shù)據(jù)的十折交叉驗證平均準確率可達98%。采用學習曲線對模型擬合度進行可視化表征(見圖4),可以發(fā)現(xiàn)模型對訓練數(shù)據(jù)的準確率一直穩(wěn)定在100%,而隨著訓練數(shù)據(jù)的不斷輸入,其對于交叉驗證的預測準確率不斷上升,最終達到了接近訓練擬合度的收斂狀態(tài)。由此可知,GBDT模型對于水質(zhì)數(shù)據(jù)的擬合程度較好,不存在欠擬合或過擬合的問題。
圖4 GBDT模型學習曲線
將驗證集數(shù)據(jù)輸入訓練好的模型,結果顯示模型的預測準確率可達97%。具體的驗證集數(shù)據(jù)分類效果見表2。
表2 驗證集模型分類報告
對于Ⅰ類和Ⅴ類數(shù)據(jù),模型的準確率高于召回率,對這兩類水質(zhì)數(shù)據(jù)作出正類判斷的正確率較高,但存在部分的Ⅰ類和Ⅴ類數(shù)據(jù)會被誤判為Ⅱ類和Ⅳ類的問題。Ⅳ類數(shù)據(jù)的準確率低于召回率,準確率低主要是受到Ⅴ類數(shù)據(jù)被錯判為Ⅳ類的影響,而Ⅳ類數(shù)據(jù)樣本數(shù)并不多,導致其準確率大幅降低。
湖州市的水質(zhì)檢測記錄中Ⅰ類和Ⅴ類水都非常少,模型的召回率低,說明部分監(jiān)測數(shù)據(jù)雖然屬于Ⅰ類或Ⅴ類水,但其與Ⅱ類或Ⅳ類水標準的標準界限非常接近。特別是Ⅴ類水,其綜合評價F1(包括召回率和準確率)得分只有67%,說明湖州地區(qū)雖然會偶而發(fā)出現(xiàn)Ⅴ類水,但其超過Ⅳ類水標準范圍的幅度非常小,導致模型的精度不高。
由于湖州市的水質(zhì)級別主要為Ⅱ類與Ⅲ類水,導致Ⅰ類、Ⅳ類、Ⅴ類水數(shù)據(jù)記錄的樣本數(shù)相對較少,模型的學習能力和判斷能力受到了一定的影響。但是總體上,GBDT模型仍然能夠有效識別水質(zhì)指標與水質(zhì)級別之間的相關關系,并且具有較強的預測能力,適合用于進一步的分析。
2.2.2 模型關鍵特征
采用基于模型性能的遞歸特征消除算法對所有水質(zhì)指標進行分析,以進行關鍵水環(huán)境污染物識別,結果見表3和圖5。
表3 基于模型性能的關鍵特征識別
圖5 關鍵參數(shù)識別
由圖5可知,模型中納入的特征數(shù)量與模型性能成正相關關系,這可能是因為本研究采用的5項水質(zhì)指標都屬于對水質(zhì)評價非常重要的參數(shù),因此區(qū)分度并不十分明顯。然而,CODMn和BOD5的加入對于模型性能的提升幅度存在一定程度上的衰減,并且由于遞歸特征消除算法的基本思想是每輪消除都會去除對模型性能影響最小的特征,可知這兩項水質(zhì)指標對于水質(zhì)級別判定的影響相對較弱。