趙 朔,桂峰蘭,柳后起
(1.遼寧省生態(tài)環(huán)境保護(hù)科技中心,沈陽 110161;2.中共遼寧省委黨校,沈陽 110004;3.中國科學(xué)技術(shù)大學(xué)蘇州高等研究院,江蘇 蘇州 215123)
市政污水處理廠出水是河流湖泊重要的外來污染排放源之一,對受納水體的水質(zhì)存在重要影響。當(dāng)前,人類活動徹底改變了正常的氮循環(huán),眾多流域氮負(fù)荷顯著增加,很多地區(qū)氮含量超過了地表水限值標(biāo)準(zhǔn)(1.0 mg/L)。非N2固定劑的大量使用,改變了湖泊營養(yǎng)收支和循環(huán)特征[1]。此外,在我國大規(guī)模和迅速改善廢水處理是普遍采用措施(如市政污水出水標(biāo)準(zhǔn)的不斷提高),但這種對受納水體營養(yǎng)狀況的影響很少在廣泛的空間與時間尺度上得到驗(yàn)證。研究表明,我國東部的主要湖泊由于總氮和總磷濃度的不同變化顯示出氮磷質(zhì)量比增加,實(shí)際上湖泊氮磷質(zhì)量比率的增加與城市污水處理的快速改善有關(guān)[2]。作為水體富營養(yǎng)化主要營養(yǎng)鹽,氮已成為影響太湖東部大多數(shù)站點(diǎn)水質(zhì)的主要因素[3],研究太湖氮濃度對于太湖水質(zhì)監(jiān)測與評價水體富營養(yǎng)化尤為重要。水質(zhì)預(yù)測主要有機(jī)理性和非機(jī)理性兩種,由于水環(huán)境的多因子、多介質(zhì)的特性,常規(guī)的機(jī)理性水質(zhì)模型如Streeter-Phelps(S-P)一維穩(wěn)態(tài)氧平衡模型[4],WASP 富營養(yǎng)化模型[5],SWAT 水質(zhì)預(yù)測模型等[6],這些方法多需要復(fù)雜的邊界條件和大量完善的監(jiān)測資料而難以推廣應(yīng)用,而非機(jī)理模型則是利用數(shù)學(xué)的方法進(jìn)行模擬,將影響因子作為輸入變量,被預(yù)測的指標(biāo)作為輸出變量進(jìn)行分析同時又可以進(jìn)行特征分析以評估影響因子的相關(guān)重要程度。如胡志洋[7]等利用BP 神經(jīng)網(wǎng)絡(luò)模型對太湖梅梁灣區(qū)域的葉綠素a 濃度進(jìn)行預(yù)測,成浩科[8]等利用隨機(jī)森立的方法對淮河流域河流總磷濃度進(jìn)行預(yù)測,付泰然等[9]利用自編碼式BP神經(jīng)網(wǎng)絡(luò)對養(yǎng)殖水體的亞硝態(tài)氮進(jìn)行預(yù)測,李修竹等[10]人利用支持向量機(jī)的方法對長江口岸的葉綠素a濃度進(jìn)行預(yù)測。這種水質(zhì)預(yù)測模型具有自適應(yīng)性強(qiáng)、容錯率高等優(yōu)點(diǎn),此外也有著較高的預(yù)測精度[7],在水質(zhì)預(yù)測應(yīng)用的同時還能有效確定各項(xiàng)影響指標(biāo)的重要性關(guān)系。因此,本文基于2007-2015年期間太湖水體八個監(jiān)測站點(diǎn)的月度水質(zhì)監(jiān)測數(shù)據(jù),首先借助皮爾遜相關(guān)系數(shù)分析市政污水處理廠各項(xiàng)運(yùn)行指標(biāo)與太湖水體總氮濃度的相關(guān)性以確定5項(xiàng)主要的影響因素,再結(jié)合16種太湖水質(zhì)監(jiān)測指標(biāo)輸入到三種機(jī)器學(xué)習(xí)模型(決策樹,KNN 和AdaBoost)中對太湖流域總氮濃度進(jìn)行預(yù)測。此外,從預(yù)測效果較好的模型中輸出了5 項(xiàng)重要性特征以揭示太湖總氮濃度的重要影響因素。
公開的數(shù)據(jù)集來自太湖水域的8 個常規(guī)監(jiān)測站(圖1),數(shù)據(jù)集的時間跨度為2007年至2015年[9],記錄頻率為每月一次。數(shù)據(jù)集主要包括透明度、pH,水深,水溫,水位,電導(dǎo)率等指標(biāo),以及總磷(TP)、總氮(TN)、硝態(tài)氮(NO3-N)、亞硝酸鹽氮(NO2-N)、氨氮(NH3-N)、溶解氧(DO)等10個濃度指標(biāo)。
圖1 太湖水質(zhì)監(jiān)測站點(diǎn)分布[11]Fig.1 Distribution of water quality monitoring stations in Taihu Lake
此外,收集了江蘇和浙江等212 個太湖流域市政污水處理廠運(yùn)行數(shù)據(jù),時間跨度為2007年至2015年,頻率為每月一次,主要指標(biāo)包括污水處理量、進(jìn)水量、出水量、污泥產(chǎn)量等10個質(zhì)量信息指標(biāo)以及進(jìn)出水COD、氨氮、總氮、總磷、懸浮物等12 個濃度信息指標(biāo),共計(jì)22項(xiàng)指標(biāo)。
皮爾遜相關(guān)系數(shù)本質(zhì)為一種線性相關(guān)系數(shù),相關(guān)系數(shù)的絕對值越大表明相關(guān)性越強(qiáng)。相關(guān)性系數(shù)越接近1 或者-1,相關(guān)度越強(qiáng)。越趨向于0,相關(guān)度越弱,我們首先評估了市政污水處理廠22項(xiàng)運(yùn)行指標(biāo)與太湖流域總氮的相關(guān)性。
步驟1 數(shù)據(jù)初始無量綱化。由于不同的監(jiān)測數(shù)據(jù)量綱不同,在皮爾遜系數(shù)分析前對水質(zhì)監(jiān)測數(shù)據(jù)進(jìn)行無量綱化處理,具體計(jì)算公式為:
式中:i為不同的監(jiān)測指標(biāo)類別;k為不同類別對應(yīng)的數(shù)據(jù)點(diǎn)。
步驟2計(jì)算離均差平方與離均差積和。
變量X的離均差平方和為:
變量Y的離均差平方和為:
X與Y的離均差積和為:
步驟3計(jì)算兩個變量之間的皮爾遜相關(guān)系數(shù),計(jì)算公式為:
按照上述步計(jì)算兩個變量之間的皮爾遜相關(guān)系數(shù)并對相關(guān)系數(shù)進(jìn)行排序。
決策樹(decision tree)是一類常見的、較為簡單的機(jī)器學(xué)習(xí)方法,其目的是根據(jù)損失函數(shù)最小化的原則產(chǎn)生一棵泛化能力強(qiáng),處理未見示例能力強(qiáng)的決策樹[12]。決策樹方法具有易于理解和實(shí)現(xiàn)、分類規(guī)則簡單符合人類思維方式等特點(diǎn),研究人員已將其廣泛應(yīng)用于地震預(yù)警[13]、震后損失評估、地質(zhì)災(zāi)害評價[14]等諸多防震減災(zāi)領(lǐng)域。決策樹在處理大樣本數(shù)據(jù)時存在易過擬合、對連續(xù)性字段較難預(yù)測等問題?,F(xiàn)有的決策樹學(xué)習(xí)主要包含ID3算法,C4.5算法以及CART算法。
k 近鄰法(k-nearest neighbor,k-NN)是1967年由Cover T和Hart P 提出的一種基本分類與回歸方法[15]?;靖拍顬椋捍嬖谝粋€樣本數(shù)據(jù)集合,所有特征屬性已知,并且樣本集中每個對象都已知所屬分類。對未知分類的待測對象,將待測對象的每個特征屬性與樣本集中數(shù)據(jù)對應(yīng)的特征屬性進(jìn)行比較,然后計(jì)算提取樣本最相似對象(最近鄰)的分類標(biāo)簽。一般只選擇樣本數(shù)據(jù)集中前k個最相似的對象數(shù)據(jù),最后根據(jù)k個數(shù)據(jù)的特征和屬性判斷待測數(shù)據(jù)的分類。
AdaBoost 是一種迭代算法,核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類器,即弱分類器,然后把這些弱分類器進(jìn)行集合,構(gòu)造一個更強(qiáng)的最終分類器[16]。算法本身是通過改變數(shù)據(jù)分布來實(shí)現(xiàn),它根據(jù)每次訓(xùn)練集中的每個樣本的分類是否正確,以及上次的總體分類的準(zhǔn)確率來確定每個樣本的權(quán)值。將修改權(quán)值后的新數(shù)據(jù)傳至下層分類器進(jìn)行訓(xùn)練,然后將每次訓(xùn)練得到的分類器融合起來作為最后的決策分類器。AdaBoost是一種具有高精度、操作簡便的分類器,不用考慮特征篩選和過擬合等問題。
步驟1輸入訓(xùn)練集D={(x1,y1),(x2,y2),(x3,y3),…,(xm,ym)},其中xi∈X X:訓(xùn)練樣本集合,yi∈Y={-1,1};采用弱學(xué)習(xí)算法WeakLearn;迭代訓(xùn)練輪數(shù)N。初始化過程中令每個樣本的初始權(quán)值為:
步驟2迭代開始,并給予當(dāng)前分布Dn調(diào)用WeakLearn,得到弱分離器hn:
計(jì)算弱分離器hn在當(dāng)前分布下的錯誤率:
在迭代計(jì)算過程中,如果εn>0.5,則令N=n-1,同時終止迭代。
步驟3結(jié)合結(jié)果計(jì)算分類器hn在最終分類器集合中的加權(quán)系數(shù):
同時更新樣本分布:
步驟4計(jì)算結(jié)果合并到模型輸出函數(shù)結(jié)果:
本次評價指標(biāo)主要包括擬合優(yōu)度(R2)和均方誤差(RMSE)以及平均百分比誤差(MAPE)。本次模型主要基于Python 中的sklearn庫來實(shí)現(xiàn)。
擬合優(yōu)度R2是指回歸方程對觀測值的擬合程度。度量擬合優(yōu)度的統(tǒng)計(jì)量是判定系數(shù)R2。R2的取值范圍是[0,1]。R2的值越接近1,說明回歸方程對觀測值的擬合程度越好;反之則表明回歸方程對觀測值的擬合程度越差,即:
RMSE是均方根誤差,指預(yù)測值與真實(shí)值偏差的平方和與觀察次數(shù)比值的平方根,用來衡量預(yù)測值同觀察值之間的偏差程度,即:
MAPE是平均百分比誤差,是誤差與原始數(shù)據(jù)值相比較的過程,結(jié)果越趨向于0 則為完美模型,大于100%則為劣質(zhì)模型。即:
式中:yi為真實(shí)值;fi為預(yù)測值。
利用市政污水處理廠的22 項(xiàng)運(yùn)行指標(biāo)與太湖流域總氮濃度進(jìn)行皮爾遜相關(guān)性分析,選取其中相關(guān)性較大的5 項(xiàng)指標(biāo)。皮爾遜系數(shù)的相關(guān)性絕對值直接體現(xiàn)了影響因素與結(jié)果之間的關(guān)聯(lián)程度,其絕對值越接近于1 表明指標(biāo)間相關(guān)性越強(qiáng)。根據(jù)皮爾遜系數(shù)計(jì)算步驟分析了太湖水體總氮濃度與市政污水處理廠各出水排放指標(biāo)的相關(guān)性,結(jié)果見表1。
由表1可知,經(jīng)相關(guān)性分析后,市政污水處理廠出水氨氮濃度,污水排放總量,以及進(jìn)出水總氮濃度與太湖總氮濃度有顯著的影響,同時進(jìn)水的BOD,COD,SS,以及總磷濃度有著較弱的相關(guān)性。因此,選取了污水處理廠的進(jìn)出水的總氮濃度,氨氮濃度以及污水處理量等五項(xiàng)(表1)作為輸入變量的一部分。
表1 皮爾遜系數(shù)相關(guān)性結(jié)果Tab.1 The result of Pearson coefficient analysis
市政污水處理廠運(yùn)行指標(biāo)與太湖水體總氮相關(guān)性較高的主要原因是市政污水處理廠的尾水排放是太湖N 輸入的重要來源之一,實(shí)際上,環(huán)太湖流域的市政污水處理廠最早開始嚴(yán)格執(zhí)行《城鎮(zhèn)污水處理廠污染物排放標(biāo)準(zhǔn)》中的一級A 標(biāo)準(zhǔn)[17]。盡管如此,一級A 標(biāo)準(zhǔn)所規(guī)定的主要污染物的排放標(biāo)準(zhǔn)仍遠(yuǎn)遠(yuǎn)高于地表水V 類水要求的各項(xiàng)指標(biāo),例如一級A 標(biāo)準(zhǔn)中規(guī)定的總氮濃度是地表水V 類水體規(guī)定中的7.5 倍,氨氮濃度是其2.5倍。因此,盡管市政污水處理廠的出水排放嚴(yán)格達(dá)到了1 級A標(biāo)準(zhǔn),卻仍然是湖,庫水體的富營養(yǎng)物質(zhì)的重要污染源[18]。此外,污水排放的總氮和氨氮是影響太湖水體總氮濃度的直接因素,這也是市政污水中氨氮和總氮的相關(guān)指標(biāo)高于其他指標(biāo)(例如COD、BOD)的主要原因。
2.2.1 模型訓(xùn)練
依據(jù)上述皮爾遜結(jié)果,模型輸入變量為從污水處理廠選取的五項(xiàng)指標(biāo)以及太湖的水質(zhì)監(jiān)測數(shù)據(jù)集,輸出為太湖水體的8個站點(diǎn)的月度均值總氮濃度。采用將隨機(jī)選取80%的數(shù)據(jù)量為訓(xùn)練數(shù)據(jù)集,20%作為測試數(shù)據(jù)集,同時利用臨近算法(KNN)和決策樹以及AdaBoost 三種模型進(jìn)行訓(xùn)練。實(shí)驗(yàn)采用Python編程語言實(shí)現(xiàn)算法。
2.2.2 模型訓(xùn)練與測試結(jié)果
利用已經(jīng)訓(xùn)練好的模型對測試集數(shù)據(jù)值進(jìn)行測試,三種機(jī)器模型的實(shí)測值與預(yù)測值對比如圖2,模型的性能指標(biāo)結(jié)果見表2。
表2 模型輸出結(jié)果Tab.2 performances of all Methods
由圖2可知,相較于KNN 和決策樹,AdaBoost 模型更好的反映了太湖總氮濃度的變化趨勢,其平均百分比誤差為14.081%,而KNN整體預(yù)測結(jié)果較為平緩,與實(shí)際濃度變化情況相差較大,有著最大的平均百分比誤差29.680%,模型準(zhǔn)確度遠(yuǎn)遠(yuǎn)低于其他兩種模型。此外,AdaBoost 模型擬合優(yōu)度(R2)達(dá)到0.836,表明模型更好地?cái)M合了太湖總氮濃度變化情況。整體來看,相較于傳統(tǒng)的機(jī)器學(xué)習(xí)模型KNN 和決策樹,AdaBoost 模型可以更準(zhǔn)確地預(yù)測市政污水處理廠出水排放對太湖流域氮濃度的影響。在特征種類和特征數(shù)目一定的情況下,由多種算法組成的集成學(xué)習(xí)有著更加明顯的優(yōu)勢,不論是大尺度的地表水質(zhì)預(yù)測[19],或者是河流水質(zhì)預(yù)測[20],長江斷面水質(zhì)預(yù)測等[21],集成學(xué)習(xí)模型均具有更好的預(yù)測準(zhǔn)確度和較低的擬合誤差,模型預(yù)測效果得到了極大的提升。
圖2 模型決策樹(Decision Tree Regressor),KNN和AdaBoost的訓(xùn)練輸出與監(jiān)測值的對比Fig.2 Comparison between and measured values of TN and predicted values of DTR,KNN and AdaBoost Model.
從同類型的總氮濃度預(yù)測模型橫向?qū)Ρ葋砜矗ū?),BP 神經(jīng)網(wǎng)絡(luò)有著最高的擬合優(yōu)度(R2),這主要是由于神經(jīng)網(wǎng)絡(luò)具有高度的非線性,可以更好擬合非線性關(guān)系,以及反向傳播機(jī)制可以不斷將誤差反傳回來以調(diào)整網(wǎng)絡(luò)來修改各層神經(jīng)元的權(quán)值直至達(dá)到期望目標(biāo)[22]。而AdaBoost 有著最低的平均絕對誤差和均方根誤差,在回歸預(yù)測類問題上具有更小的誤差,體現(xiàn)出更高的預(yù)測準(zhǔn)確度,明顯優(yōu)于其他模型。相比于最好的BP神經(jīng)網(wǎng)絡(luò),RMSE數(shù)值也由0.838下降至0.832。
2.2.3 模型重要性特征提取
對于輸入的綜合指標(biāo)(5 個相關(guān)性較高的市政污水處理廠相關(guān)指標(biāo)以及16 項(xiàng)太湖水質(zhì)監(jiān)測指標(biāo)),分別從結(jié)果較好的決策樹和AdaBoost 模型中提取了前5 個相關(guān)性特征指標(biāo)(圖3),相關(guān)性特征對模型預(yù)測結(jié)果有重要影響的特征,因此輸出并分析了前5個重要特征。
圖3 模型的前5個重要特征Fig.3 The importance of the top 5 important features
結(jié)果表明太湖自身氮負(fù)荷(太湖水體硝態(tài)氮濃度和氨氮濃度)是影響太湖總氮濃度的重要特征,這在決策樹和AdaBoost模型中均得到了體現(xiàn)。尤其在決策樹模型中,硝態(tài)氮濃度這一指標(biāo)的重要性遠(yuǎn)遠(yuǎn)大于其他特征,在AdaBoost 模型中兩者也明顯高于其他特征。說明太湖水體自身氮負(fù)荷對總氮濃度變化有著更顯著的影響。在一些空間回歸預(yù)測模型中也有類似的研究結(jié)論,水體自身的氮負(fù)荷是影響總氮濃度的顯著因素[23],然而鑒于我們模型的輸入數(shù)據(jù)的局限性,模型無法注意到土地類型,人口密度和土壤徑流等影響因素[23]。值得關(guān)注的是,太湖中磷負(fù)荷對總氮也有一定的影響。這可能是由于水體的生物對氮磷富營養(yǎng)物質(zhì)的同時利用所致[24]。
此外,太湖同時接受來自市政污水處理廠的點(diǎn)源污染,而這些重要的點(diǎn)源污染也是重要的N 負(fù)荷來源之一[23]。機(jī)器學(xué)習(xí)模型也考慮到了來自于市政污水的處理體積(AdaBoost,第三位)和出水氨氮的濃度(AdaBoost,第四位)是重要的影響特征指標(biāo)。這說明市政污水處理廠出水氨氮是太湖流域重要的氮負(fù)荷來源[18],同時市政污水處理廠的排放水量也是重要的影響因素。由于在當(dāng)前出水水質(zhì)不斷提高達(dá)到1 級A 后,市政污水處理廠尾水濃度也依然遠(yuǎn)高于地表水V 類標(biāo)準(zhǔn)。同時日益增加的尾水排放量,使得排入太湖水體的N 質(zhì)量并沒有明顯減少,其絕對質(zhì)量有增加趨勢[25]。整體來看,對于太湖流域總氮濃度影響最大的是太湖自身水體的氮負(fù)荷,此外是外N 源的輸入,如市政污水處理廠尾水中的氨氮等。
(1)本研究利用KNN、決策樹和AdaBoost 三種機(jī)器學(xué)習(xí)模型分析了太湖水質(zhì)的相關(guān)因素。三種模型中決策樹模型的均方根誤差和平均百分比誤差分別比KNN降低2.68%和39.05%。而AdaBoost 可以將RMSE和MAPE更進(jìn)一步降低且呈現(xiàn)更好的擬合優(yōu)度(約0.80),為高精度的水質(zhì)預(yù)測提供借鑒。
(2)模型特征重要性分析表明,對太湖流域總氮濃度影響最大的是太湖自身水體的硝態(tài)氮以及氨氮濃度,其次是污水排放的相關(guān)指標(biāo),如處理水量,出水氨氮濃度等。因此,為有效控制太湖氮濃度,既要控制污水處理廠出水氮濃度相關(guān)指標(biāo)(氨氮,總氮等),也要對市政污水排放量加以控制。
(3)為了控制或降低太湖流域總氮濃度,首先需要控制太湖水體自身的總氮濃度(硝態(tài)氮以及氨氮濃度),并需要減少氨氮的外源排入。