李 艷,楊雨霖,楊 光
(沈陽理工大學(xué)環(huán)境與化學(xué)工程學(xué)院 遼寧 沈陽 110159)
污水處理廠是我國生態(tài)文明建設(shè)和改善水環(huán)境質(zhì)量的重要基礎(chǔ)設(shè)施。 隨著對水環(huán)境質(zhì)量重視程度的增加,污水處理廠數(shù)量和處理能力得到了顯著提升。 污水處理是一個復(fù)雜的過程,涉及多個變量的耦合和非線性生化反應(yīng)。 當(dāng)污水處理廠發(fā)生故障時,出水水質(zhì)指標(biāo)可能無法達(dá)到標(biāo)準(zhǔn),從而導(dǎo)致二次污染。 因此,解決和實現(xiàn)污水處理系統(tǒng)的故障診斷與識別是一項重要任務(wù)[1-2]。 對污水處理出水水質(zhì)進(jìn)行預(yù)測研究,可以提前發(fā)現(xiàn)、隔離和處理故障,從而提高系統(tǒng)可靠性,確保長期穩(wěn)定運(yùn)行,這對于保證水處理過程的有效性至關(guān)重要[3-5]。
本文以沈陽市某污水處理廠為研究對象,采用回歸決策樹、嶺回歸、K 近鄰算法對出水COD、TN、NH3-N 以及TP 構(gòu)建預(yù)測模型,采用擬合優(yōu)度、均方誤差以及平均絕對誤差評估3 種算法,根據(jù)評估結(jié)果來選取泛化能力最強(qiáng)的模型。 同時,構(gòu)建污水處理工藝的故障預(yù)警可視化系統(tǒng),更科學(xué)、更快速、更有效地解決污水處理廠的故障問題。
本文以主體工藝為AAO 的沈陽市某污水處理廠為研究對象,設(shè)計規(guī)模為1m3/d,出水水質(zhì)執(zhí)行《城市污水處理廠污染物排放標(biāo)準(zhǔn)》一級A 排放標(biāo)準(zhǔn)。 負(fù)責(zé)處理生活污水以及某工業(yè)園區(qū)產(chǎn)生的工業(yè)廢水,主要出水水質(zhì)指標(biāo)有COD、NH3-N、TN、TP。 污水廠設(shè)計的進(jìn)、出水水質(zhì)指標(biāo)如表1 所示。
表1 污水廠設(shè)計進(jìn)、出水指標(biāo)(mg/L)
1.2.1 數(shù)據(jù)清洗
本文中數(shù)據(jù)清洗主要是指清洗無效、無價值的污水?dāng)?shù)據(jù)。 在污水處理過程中,難免會出現(xiàn)傳感器出現(xiàn)噪聲等情況。 因此,需要檢查數(shù)據(jù)集中是否存在缺失值,即某些數(shù)據(jù)項未被記錄或獲取,剔除無效的數(shù)據(jù)樣本,避免無效數(shù)據(jù)降低機(jī)器學(xué)習(xí)模型的訓(xùn)練效果。
1.2.2 數(shù)據(jù)歸一化
不同特征具有不同的單位和范圍,這會導(dǎo)致某些特征對模型訓(xùn)練的影響更大,而其他特征被忽略。 污水處理過程數(shù)據(jù)存在量綱不一致、特征間的數(shù)值差異性較大的情況,為了消除不同量綱差異性帶來的影響,加快程序運(yùn)行時的收斂速度,故將訓(xùn)練集數(shù)據(jù)和測試集數(shù)據(jù)分別進(jìn)行歸一化處理。 歸一化處理后各項污水指標(biāo)的數(shù)據(jù)范圍被控制在[0,1]。 具體的標(biāo)準(zhǔn)化公式為式(1)所示:
決策回歸樹是采用樹形結(jié)構(gòu)對數(shù)據(jù)進(jìn)行分類,遍歷可用的特征集合,對每個特征進(jìn)行評估[6]。 將數(shù)據(jù)集劃分為M個區(qū)域空間,每個劃分空間區(qū)域都對應(yīng)一個輸出值Cm。回歸決策樹生成算法如式(2)所示:
式(2)中,f代表模型輸出的回歸樹值;M代表輸入空間劃分的M個區(qū)域;R代表單元數(shù)據(jù)集;i為輸入空間劃分的第i個單元,即R1,R2,...,Rm;I代表常數(shù);Ci為每個所屬區(qū)域的所有樣本的均值。
對于空間的劃分,決策回歸樹會遍歷每個特征,并在該特征上嘗試不同的切分點[7]。 選擇第j個變量作為切分變量和對應(yīng)切分變量的某個取值s,作為切分點(j,s),從而劃分為兩個區(qū)域R1與R2,將大于s的特征值(x>s)劃分至區(qū)域R1,將小于或等于s的特征值(x≤s)劃分至區(qū)域R2,表示如式(3)、式(4)所示:
式(3)、式(4)中,(j,s)為切分點;j為切分變量;s為切分變量對應(yīng)的取值。
在尋找最優(yōu)的切分點(j,s)時,需根據(jù)誤差平方和(SSE)計算,SSE公式如式(5)所示:
式(5)中,yi為每個樣本的實際觀測值,f(xi)為模型對于該樣本的預(yù)測值。
回歸決策樹在遞歸時類似于二叉樹,即一個父節(jié)點有且僅有兩個子節(jié)點。 故要確定最優(yōu)切分變量j(最優(yōu)初始指標(biāo))和它的最優(yōu)取值s(最優(yōu)初始指標(biāo)數(shù)值)時,就要找到兩個區(qū)域的代表值C1和C2使各自區(qū)間上的誤差平方和(SSE)最小。 求解過程如式(6)所示:
嶺回歸與普通的線性回歸面模型類似,目標(biāo)都是通過對已知的污水水質(zhì)數(shù)據(jù)集進(jìn)行擬合來預(yù)測新的未知數(shù)據(jù)[8]。 不同的是,嶺回歸通過引入“嶺懲罰項”來懲罰模型中某些參數(shù)過大的情況,以損失部分信息、降低精度為代價,使獲得的回歸系數(shù)更符合實際、更可靠。 具體方式是在原先β的最小二乘估計中,加入一個小擾動kI,使問題穩(wěn)定并得以求解,可表示為式(7):
式(7)中,k為嶺參數(shù);I為單位矩陣。
對于嶺回歸,當(dāng)嶺參數(shù)k在0 到正無窮內(nèi)變化時,嶺回歸系數(shù)β是k的函數(shù)。β是一個向量,由β1,β2,...,βn等多個分量組成,每一個分量都是k的函數(shù),每一個分量畫出的曲線被稱為嶺跡。 若嶺跡線的不穩(wěn)定性很強(qiáng),說明此時用最小二乘法不能很好地反映真實情況,需要根據(jù)嶺跡線選擇一個適當(dāng)?shù)膸X參數(shù)k值,以確定回歸系數(shù)β。
嶺回歸的核心思想就是改變誤差平方和函數(shù)的幾何形態(tài)使得誤差平方和函數(shù)存在唯一最小值點。 為了方便理解,假設(shè)一個簡單的二元一次函數(shù)y=2x+1 為目標(biāo)函數(shù),引入“嶺懲罰項”,示例如圖1 所示。
圖1 引入嶺懲罰項后的回歸示例
KNN 算法的理念為“近朱者赤”,即樣本的類別由其最近鄰居的類別來決定。 K 近鄰算法同樣可以應(yīng)用于分類和回歸問題[9]。
在回歸問題中,KNN 算法根據(jù)歐幾里得距離公式(Euclidean distance)尋找離待回歸樣本最近的K 個訓(xùn)練樣本,然后根據(jù)這K 個最近鄰居的回歸目標(biāo)值進(jìn)行平均或加權(quán)平均,從而得到待回歸樣本的預(yù)測值。 歐幾里得距離是KNN 算法中常用的距離度量方法之一,用于衡量特征空間中2 個樣本之間的距離。 假設(shè)有2 個樣本A和B,特征向量分別表示為A=(a1,a2,…,an)和B=(b1,b2,…,bn),n為特征的數(shù)量。 歐幾里得距離公式如式(7)所示:
歐幾里得公式表示了特征空間中2 個樣本之間的直線距離。 歐幾里得距離越小,表示2 個樣本在特征上越相似;歐幾里得距離越大,表示2 個樣本在特征上越不相似。
在KNN 算法中,K 值的確定尤為重要。 K 值較大時,意味著模型變得簡單;當(dāng)K 值變得較小時,預(yù)測結(jié)果對近鄰的實例點非常敏感。 K 值減小意味著模型變得更復(fù)雜,容易發(fā)生過擬合。 K 值不同示例如圖2 所示。
圖2 K 值不同示例
交叉驗證法可以有效地評估模型的性能,并幫助選擇最佳的參數(shù)或超參數(shù)[10]。 交叉驗證的基本思想是將原始數(shù)據(jù)集劃分為訓(xùn)練集、驗證集以及測試集。 這種方法可以有效地評估模型的性能和泛化能力。 具體而言,交叉驗證通過多次劃分?jǐn)?shù)據(jù)集,并使用不同的子集作為訓(xùn)練集和驗證集來進(jìn)行模型的訓(xùn)練和評估。 在每次劃分中,模型首先使用訓(xùn)練集進(jìn)行參數(shù)的學(xué)習(xí)和調(diào)整,然后使用驗證集對模型進(jìn)行評估和選擇最佳參數(shù),最后使用測試集來評估模型的泛化能力,即模型對未知數(shù)據(jù)的預(yù)測準(zhǔn)確性。 通過多次劃分和驗證,可以得到模型在不同數(shù)據(jù)子集上的性能指標(biāo)的平均值,從而更加可靠地評估模型。 交叉驗證法數(shù)據(jù)集劃分如圖3 所示。
圖3 交叉驗證法數(shù)據(jù)集劃分
使用PyCharm Community Edition 2 023.1 進(jìn)行程序編寫,用其封裝好的數(shù)值計算與機(jī)器學(xué)習(xí)框架scikit-learn 搭建出水水質(zhì)預(yù)測的實驗環(huán)境。 使用某污水處理廠2021 年1 月—2022 年3 月的實際數(shù)據(jù)作為數(shù)據(jù)集,每個樣本均有20 個相同指標(biāo):日期、進(jìn)水流量(Q)、進(jìn)水COD、進(jìn)水NH3-N、進(jìn)水TN、進(jìn)水TP、出水COD、出水NH3-N、出水TN、出水TP、用電量、MLSS、pH、水溫、厭氧池ORP、缺氧池ORP、好氧池DO、C/N、F/M、SVI。 經(jīng)數(shù)據(jù)預(yù)處理后共計9779 個樣本,從數(shù)據(jù)集中隨機(jī)抽取80%(7 823 個樣本)作為訓(xùn)練集來用于模型的訓(xùn)練,剩余的20%(1 956 個樣本)作為測試集來檢驗?zāi)P偷挠行浴?通過Sklearn 機(jī)器學(xué)習(xí)庫分別建立回歸決策樹、嶺回歸算法、K 近鄰算法來預(yù)測出水水質(zhì)指標(biāo),即出水COD、出水NH3-N、出水TN、出水TP。
本文將對DTR、RR 以及KNN 算法進(jìn)行評價,采用擬合優(yōu)度(R2)、均方誤差(MSE)以及平均絕對誤差(MAE)綜合評價的方法。
R2是衡量回 歸模型擬合程度的常用指標(biāo),其取值范圍為0 到1。R2越接 近1,表示模型預(yù)測值與真實值之間的擬合程度越好,R2見公式(8);MSE是衡量預(yù)測值與真實值之間差異的平方的均值,MSE越小,表示模型的預(yù)測結(jié)果與真實值的偏差越小,擬合效果越好,MSE見公式(9);MAE是衡量預(yù)測值與真實值之間差異的平均絕對值。MAE越小,表示模型的預(yù)測結(jié)果與真實值的偏差越小,擬合效果越好,MAE見公式(10)。
其中,n為樣本個數(shù),為第i個樣本對應(yīng)的水質(zhì)指標(biāo)預(yù)測值,yi為第i個樣本的水質(zhì)指標(biāo)真實值,y-為數(shù)據(jù)集對應(yīng)的水質(zhì)指標(biāo)平均值。
在4 項出水水質(zhì)指標(biāo)的測試集上分別采用DTR、RR、KNN 算法進(jìn)行測試。 記錄3 種算法在測試集上的R2、MAE以及MSE,根據(jù)結(jié)果可知,預(yù)測出水COD、NH3-N 采用回歸決策樹算法表現(xiàn)最好;預(yù)測出水TN 采用K 近鄰算法表現(xiàn)最好;預(yù)測出水TP 采用嶺回歸算法表現(xiàn)最好。 計算結(jié)果如表2 所示。
表2 不同算法在不同出水水質(zhì)預(yù)測指標(biāo)上的表現(xiàn)情況
本文從獲得實際數(shù)據(jù)和對可能發(fā)生的故障做出快速研判的角度出發(fā),致力于開發(fā)一套出水水質(zhì)預(yù)測、數(shù)據(jù)分析和數(shù)據(jù)管理等功能于一體的污水處理出水水質(zhì)預(yù)警系統(tǒng)軟件,用于為污水處理廠提供有力的科技保證和技術(shù)支撐,對于水質(zhì)模型預(yù)測結(jié)果為“不達(dá)標(biāo)”的水質(zhì)樣本,進(jìn)行提前預(yù)報預(yù)警。 對于提高污水處理廠的運(yùn)行管理,確保污水處理工藝流程穩(wěn)定高效地運(yùn)行有著重要的意義。
數(shù)據(jù)管理模塊可以實現(xiàn)系統(tǒng)管理者對整個系統(tǒng)的數(shù)據(jù)庫進(jìn)行CURD(create、update、read、delete)操作,包括出水水質(zhì)預(yù)測管理、故障樹管理、用戶管理等。 數(shù)據(jù)管理界面如圖4 所示。
圖4 數(shù)據(jù)管理界面
故障預(yù)警模塊實現(xiàn)根據(jù)進(jìn)水水質(zhì)數(shù)據(jù)以及污水工藝運(yùn)行中的參數(shù)來預(yù)測污水出水水質(zhì)數(shù)據(jù),輸入數(shù)據(jù)包括:進(jìn)水COD、進(jìn)水NH3-N、進(jìn)水TN、進(jìn)水TP、pH、水溫、厭氧池ORP、缺氧池ORP、進(jìn)水流量以及污泥濃度(MLSS)、碳氮比(C/N)、碳磷比(C/P)、污泥負(fù)荷(F/M)以及污泥體積指數(shù)(SVI)。 預(yù)測數(shù)據(jù)包括:出水COD、出水NH3-N、出水TN 以及出水TP。 當(dāng)預(yù)測結(jié)果沒達(dá)到一級A 排放標(biāo)準(zhǔn)(見表1)時,發(fā)出故障預(yù)警。 故障預(yù)警模塊見圖5—圖6。
圖5 輸入故障預(yù)警數(shù)據(jù)
圖6 故障預(yù)警結(jié)果
數(shù)據(jù)分析模塊實現(xiàn)了當(dāng)輸入規(guī)定時間范圍時,顯示該時間范圍內(nèi)的各項出水指標(biāo)合格率餅狀圖,各項出水指標(biāo)包括:出水COD、出水NH3-N、出水TN、出水TP。 選取2023 年7 月17 日至2023 年8 月17 日這一時間段,各項出水指標(biāo)合格率如圖7 所示。
圖7 出水指標(biāo)合格率餅狀圖
本文以某污水處理廠為研究對象,采用機(jī)器學(xué)習(xí)算法對出水水質(zhì)進(jìn)行預(yù)測,并建立污水處理出水水質(zhì)預(yù)警系統(tǒng)。 通過對實際數(shù)據(jù)的預(yù)處理和3 種算法(DTR、RR、KNN)的比較評估,選取最優(yōu)算法來預(yù)測不同水質(zhì)指標(biāo)。基于出水水質(zhì)預(yù)測模型,設(shè)計污水處理出水水質(zhì)預(yù)警系統(tǒng),當(dāng)水質(zhì)不符合設(shè)計出水指標(biāo)時及時進(jìn)行預(yù)警。 同時,系統(tǒng)還包括數(shù)據(jù)管理模塊和數(shù)據(jù)分析模塊,可以方便管理者對數(shù)據(jù)庫進(jìn)行CURD 操作和分析出水指標(biāo)的合格率。
未來,將進(jìn)一步完善污水處理出水水質(zhì)預(yù)警系統(tǒng)。 同時,還將考慮引入更多的影響因素和監(jiān)測數(shù)據(jù),以進(jìn)一步改進(jìn)預(yù)測模型的性能,為確保污水處理工藝流程的穩(wěn)定、正常和高效運(yùn)行提供解決方案,為改善水環(huán)境質(zhì)量做出更大的貢獻(xiàn)。