焦廣利,張 璐,鐘麥英
(山東科技大學(xué) 電氣與自動化工程學(xué)院,山東 青島 266590)
污水處理過程主要采用活性污泥法處理技術(shù),利用活性污泥中微生物的吸附和降解能力,去除污水中的污染物,改善出水水質(zhì)[1]。然而,由于進水流量、進水水質(zhì)等被動接受、二沉池端泥水分離異常等原因?qū)е挛鬯幚磉^程中污泥膨脹現(xiàn)象頻發(fā)[2],不僅影響出水水質(zhì),嚴重時會導(dǎo)致污水處理系統(tǒng)癱瘓[3]。如何實時檢測污泥膨脹,保證污水處理過程的安全穩(wěn)定運行,是污水處理廠面臨的挑戰(zhàn)性問題。
近年來,國內(nèi)外學(xué)者圍繞污泥膨脹檢測方法展開了研究,其方法主要分為模型驅(qū)動和數(shù)據(jù)驅(qū)動[4]。模型驅(qū)動的方法主要通過建立活性污泥模型分析污泥的沉降性能,獲取污泥膨脹信息[5]。例如,Dominika等[6]通過分析活性污泥過程模型,獲取污泥膨脹和底物濃度關(guān)系,實現(xiàn)了污泥膨脹的有效檢測。Vazquez等[7]通過分析微生物的生長特點及活性污泥的形態(tài),建立污水處理相關(guān)過程變量與活性污泥顆粒大小的表征模型,實現(xiàn)對污泥膨脹狀態(tài)的判斷。由于污水處理過程中污泥膨脹引發(fā)因素眾多,發(fā)生機理復(fù)雜,模型驅(qū)動的檢測方法難以直接適用。隨著傳感器技術(shù)及數(shù)據(jù)采集技術(shù)等的發(fā)展,數(shù)據(jù)驅(qū)動的檢測方法得到快速發(fā)展[8-11]。數(shù)據(jù)驅(qū)動的方法主要通過分析污水處理過程水質(zhì)參量和污泥膨脹的關(guān)系,建立污泥膨脹檢測模型,實現(xiàn)污泥膨脹檢測?,F(xiàn)有的數(shù)據(jù)驅(qū)動的污泥膨脹檢測方法主要有基于神經(jīng)網(wǎng)絡(luò)的檢測方法、基于多元統(tǒng)計分析的檢測方法等。例如,Han等[12]利用遞歸核主元分析方法構(gòu)建污泥膨脹檢測模型,并利用卷積網(wǎng)絡(luò)實現(xiàn)污泥膨脹的辨識。Brault等[13]提出一種基于神經(jīng)網(wǎng)絡(luò)的污泥膨脹檢測方法獲取污泥膨脹動態(tài)特性,并根據(jù)專家經(jīng)驗判斷是否發(fā)生污泥膨脹。Nashia等[14]基于圖像處理技術(shù)獲取不同類型絲狀菌的豐度信息,利用人工神經(jīng)網(wǎng)絡(luò)建立絲狀菌豐度與污泥容積指數(shù)的特征模型,通過專家經(jīng)驗實現(xiàn)污泥膨脹檢測。Han等[15]提出一種基于多元局部二次多項式回歸的污泥膨脹檢測方法,通過建立污泥容積指數(shù)與相關(guān)過程變量之間的關(guān)系,實現(xiàn)污泥膨脹的智能檢測。Cheng等[16]提出一種基于改進典型相關(guān)分析的污泥膨脹檢測方法,通過引入增廣的拉格朗日算法恢復(fù)低秩數(shù)據(jù)矩陣中重要信息,降低了噪聲數(shù)據(jù)對污泥膨脹檢測的影響,提高了污泥膨脹檢測精度。Wu等[17]提出一種基于改進多核相關(guān)向量機的污泥膨脹檢測方法,通過引入多核學(xué)習(xí)提高相關(guān)向量機模型性能,實現(xiàn)了污泥膨脹的高效檢測。雖然上述方法能夠?qū)崿F(xiàn)污泥膨脹的檢測,但由于檢測儀表精度下降或人為操作失誤等原因,獲取的運行數(shù)據(jù)中常含有離群點,這些離群點在建立污泥膨脹檢測模型之前通過數(shù)據(jù)預(yù)處理剔除,造成部分信息丟失,導(dǎo)致污泥膨脹特征模型精度下降,使污泥膨脹檢測的準確性受到影響。另外,上述污泥膨脹檢測方法大多依靠人工經(jīng)驗判斷,由于不同污水處理廠之間的差異性,基于人工經(jīng)驗的異常工況檢測方法在應(yīng)用時受到了一定的限制。
針對上述問題,提出一種基于魯棒極限學(xué)習(xí)機(robust extreme learning machine, RELM)的污泥膨脹智能檢測方法:以模型結(jié)構(gòu)簡單、訓(xùn)練速度快的極限學(xué)習(xí)機作為基礎(chǔ),構(gòu)建離群點檢測模型和污泥膨脹檢測模型,利用M-估計實現(xiàn)建模誤差加權(quán),降低離群點對模型精度造成的不良影響,保證檢測模型的魯棒性。通過與其他檢測精度較高模型的實驗比較,驗證所提方法具有更強的魯棒性。此外,根據(jù)離群點檢測模型的估計誤差及閾值邏輯,實現(xiàn)離群點的在線檢測及修正,提高在線數(shù)據(jù)的準確性,實現(xiàn)污泥膨脹的智能檢測。
活性污泥法污水處理過程主要包括生化反應(yīng)池和二沉池處理兩部分(見圖1)。首先,污水進入生化反應(yīng)池,對各種有機物進行分解并將其轉(zhuǎn)化為穩(wěn)定的無機物。隨后污水進入二沉池,進行泥水分離,上清液直接排放,部分活性污泥回流至生化反應(yīng)池。污水處理過程的高效穩(wěn)定運行離不開正常的泥水分離,一旦泥水分離出現(xiàn)異常,將會發(fā)生污泥膨脹。
圖1 污水處理過程示意圖
污泥容積指數(shù)(sludge volume index, SVI)作為反映污泥沉降性能的一個重要指標,可用于評價污泥膨脹的嚴重程度。在設(shè)計污泥膨脹檢測方法之前,需獲取影響SVI的關(guān)鍵過程變量:混合液懸浮固體濃度(mixed liquor suspended solids, MLSS)、化學(xué)需氧量(chemical oxygen demand, COD)、溶解氧(dissolved oxygen, DO)、總氮(total nitrogen, TN)、生化需氧量(biochemical oxygen demand, BOD)和溫度(temperature, T)[18]。
為有效去除運行數(shù)據(jù)中的離群點,構(gòu)建一種基于魯棒極限學(xué)習(xí)機的檢測模型,模型結(jié)構(gòu)如圖2所示。離群點檢測模型輸出可表示為:
圖2 離群點檢測模型結(jié)構(gòu)圖
(1)
式中:SVI(t)為t時刻的模型輸出值;x(t)為t時刻的模型輸入變量,x(t)=[x1(t),x2(t),…,x6(t)]T=[MLSS(t),COD(t),DO(t),TN(t),BOD(t),T(t)]T∈R6;aj∈R6為輸入權(quán)值,用于連接輸入層和隱含層,j=1,2,…,L;L為隱含層節(jié)點數(shù);bj為第j個隱節(jié)點的偏置,aj和bj在[-1,1]范圍內(nèi)隨機產(chǎn)生[19];〈aj,x(t)〉表示向量aj和x(t)的內(nèi)積[20];g(·)是非線性激活函數(shù),本研究選擇sigmoid函數(shù);β表示輸出層和隱層之間的權(quán)值,β=[β1,β2,…,βL]T,可利用最小二乘算法求解得到。對于M組輸入輸出樣本,β的計算式為[21]:
β=(HTH)-1HT·SVI。
(2)
式中:SVI為檢測模型輸出矩陣;H為隱含層的輸出矩陣,且
(3)
由于基于極限學(xué)習(xí)機離群點檢測模型的輸出權(quán)值由最小二乘算法得到,易受離群點的影響導(dǎo)致模型精度下降。為了實現(xiàn)魯棒建模,利用M-估計技術(shù)減少離群點對模型性能的影響。M-估計技術(shù)的基本思想是采用迭代加權(quán)最小二乘回歸的方法,根據(jù)樣本誤差大小確定樣本權(quán)值,通過加權(quán)的方式降低離群點的影響,實現(xiàn)魯棒建模的目的[22]。引入M-估計技術(shù)后的目標函數(shù)改寫為:
(4)
式中:ρ表示M-估計的影響函數(shù),r(t)為預(yù)測誤差。
引入M-估計技術(shù)后,輸出權(quán)重β的求解過程可表示為:
(5)
(6)
其中med表示中值絕對偏差,是統(tǒng)計離散程度的一種度量。
(7)
根據(jù)r(t)定義加權(quán)因子函數(shù):
ω(r(t))=ρ′(r(t))/r(t)。
(8)
將式(8)代入式(7)得:
(9)
根據(jù)式(9)可得:
HTWHβ=HTW·SVI。
(10)
故β的迭代求解過程可表示為:
(11)
式中:k為迭代次數(shù);W(k)是以w(t)=1,2,…,M為對角元的加權(quán)矩陣;w(t)為加權(quán)因子。考慮到建模誤差可能不服從高斯分布,利用柯西分布來確定加權(quán)因子函數(shù)
(12)
式中:rc用于確定柯西分布加權(quán)因子函數(shù)的位置,
rc=median(r(t));
(13)
ac用于確定柯西分布加權(quán)因子函數(shù)的寬度,
(14)
利用正常數(shù)據(jù)和污泥膨脹數(shù)據(jù)對離群點檢測模型進行離線訓(xùn)練和測試,模型估計誤差表示為:
Jo(t)=|SVIr(t)-SVI(t)|。
(15)
式中:Jo(t)為離群點檢測模型估計誤差,SVIr(t)為實際測量值,SVI(t)為離群點檢測模型輸出值。將模型測試的最大誤差設(shè)置為離群點檢測閾值:
Jo,th=max(Jo(t))。
(16)
在線階段,一旦離群點檢測模型誤差超出檢測閾值Jo,th,則將其識別為離群點,并利用離群點檢測模型的估計值取代離群點,實現(xiàn)在線修正。離群點檢測模型算法步驟如算法1所示。
算法1 離群點檢測模型算法 1) 通過式(2)計算初始β︿(0),即β︿(0)=(HTH)-1HT·SVI。 2) 計算誤差向量r(0),即r(0)=Hβ(0)-SVI,通過式(8)計算σ︿=dMAD/0.674 5,對誤差進行標準化處理,即r(0)/σ︿(0)。 3) 把標準化后的誤差代入加權(quán)因子函數(shù)(12)求解每個建模誤差的加權(quán)值,并把加權(quán)因子寫成矩陣的形式W(0)。 4) 通過式(11)迭代計算β︿(1),…,β︿(k),β︿(k+1),其終止條件為:β︿(k+1)-β︿(k)/β︿(k)<δ。其中,δ為一個較小的正數(shù),k表示迭代次數(shù)。 5) 最終β取值為:β︿=β︿(k+1)。
為了實現(xiàn)污泥膨脹的檢測,需構(gòu)建污泥膨脹檢測模型。本研究采用魯棒極限學(xué)習(xí)機構(gòu)建污泥膨脹檢測模型,模型的輸出可表示為:
(17)
其中:SVId(t)為污泥膨脹模型輸出值,v(t)為模型輸入變量,v(t)=[v1(t),v2(t),…,v6(t)]T=[MLSS(t),COD(t),DO(t),TN(t),BOD(t),T(t)]T∈R6,Φi∈RM為輸入權(quán)值,ζi為第i個隱含層節(jié)點的偏置,f(·)是非線性激活函數(shù),ηi為輸出權(quán)值,其更新方式分別如式(2)~(14)所示。
利用正常數(shù)據(jù)對污泥膨脹檢測模型進行離線訓(xùn)練和測試,模型估計誤差為:
Jd(t)=|SVIr(t)-SVId(t)|。
(18)
其中:Jd(t)為污泥膨脹檢測模型估計誤差,SVId(t)為污泥膨脹檢測模型輸出值。
在模型訓(xùn)練過程中,僅利用無污泥膨脹數(shù)據(jù),污泥膨脹檢測模型誤差相對較小,而污泥膨脹模型在線檢測階段,由于出現(xiàn)污泥膨脹數(shù)據(jù),導(dǎo)致模型誤差波動較大。因此,為了有效檢測污泥膨脹,將模型離線測試時的最大誤差設(shè)置為污泥膨脹檢測閾值,即
Jd,th=max(Jd(t))。
(19)
當(dāng)污泥膨脹檢測模型估計誤差大于閾值時,則認為發(fā)生了污泥膨脹,即:
(20)
基于魯棒極限學(xué)習(xí)機的污泥膨脹檢測分為離線建模和在線檢測兩部分,如圖3所示。
圖3 污泥膨脹檢測算法架構(gòu)圖
離線階段,利用訓(xùn)練數(shù)據(jù)分別建立離群點檢測模型和污泥膨脹檢測模型;利用測試數(shù)據(jù)獲取離群點檢測模型估計誤差,確定離群點檢測閾值;利用測試數(shù)據(jù)獲取污泥膨脹檢測模型估計誤差,獲取污泥膨脹檢測閾值。在線階段,根據(jù)獲取的離群點檢測模型估計誤差,通過閾值邏輯對離群點數(shù)據(jù)進行檢測及修正;在獲取污泥膨脹檢測模型估計誤差的基礎(chǔ)上,利用閾值邏輯判斷是否發(fā)生污泥膨脹,具體步驟如算法2所示。
算法2 污泥膨脹智能檢測算法離線階段: 1) 獲取SVI及其相關(guān)過程變量(MLSS、COD、DO、TN、BOD、T)離線數(shù)據(jù); 2) 通過算法1構(gòu)建SVI離群點檢測模型及污泥膨脹檢測模型; 3) 分別通過式(16)和式(19)確定SVI離群點檢測閾值Jo,th和污泥膨脹檢測閾值Jd,th。在線階段: 1) 獲取SVI及其相關(guān)過程變量(MLSS、COD、DO、TN、BOD、T)在線數(shù)據(jù); 2) 獲取SVI離群點檢測模型的估計誤差,通過式(16)判斷SVI離群點,由SVI離群點檢測模型的估計值替換SVI離群點; 3) 獲取污泥膨脹檢測模型的估計誤差,由式(20)判斷是否發(fā)生污泥膨脹。
為了驗證所提方法的有效性,利用從污水處理廠采集的2018年運行數(shù)據(jù)對所提方法進行驗證,驗證分為三部分:檢測模型的訓(xùn)練和測試效果分析、離群點檢測和修正效果及分析和污泥膨脹檢測效果及分析。
實驗共包含786組數(shù)據(jù),選擇100組同時含有污泥膨脹數(shù)據(jù)和正常數(shù)據(jù)作為在線數(shù)據(jù),剩余686組數(shù)據(jù)作為離線數(shù)據(jù)。
離線階段,對于離群點檢測模型,利用686組混合數(shù)據(jù)(包含正常數(shù)據(jù)和污泥膨脹數(shù)據(jù))訓(xùn)練和測試離群點檢測模型,其中636組用于訓(xùn)練,并在訓(xùn)練數(shù)據(jù)中隨機抽取5%的數(shù)據(jù)加入離群點,剩余50組數(shù)據(jù)用于測試;對于污泥膨脹檢測模型,利用550組不含污泥膨脹的數(shù)據(jù)對模型進行訓(xùn)練和測試,其中選擇500組數(shù)據(jù)用于訓(xùn)練,并在訓(xùn)練數(shù)據(jù)中隨機抽取5%的數(shù)據(jù)加入離群點,剩余50組數(shù)據(jù)用于測試。需要注意的是,離線測試數(shù)據(jù)中不含離群點。
在線階段,隨機抽取5%的在線數(shù)據(jù)加入離群點,設(shè)定在線數(shù)據(jù)從第70個樣本點開始出現(xiàn)污泥膨脹數(shù)據(jù)。離群點添加方式為:
SVIo(t)=SVIr(t)+sign×[rand(0,1)(max(SVIr(t))-min(SVIr(t)))]。
(21)
式中:rand(0,1)表示(0,1)范圍內(nèi)的隨機數(shù);SVIr(t)、max(SVIr(t))、min(SVIr(t))分別表示輸出變量SVI的實際值、最大值、最小值;sign取+1時表示正偏離群點,取-1時表示負偏離群點。為了確保添加離群點的合理性,加入正偏離群點和負偏離群點的比例為2∶1。
離群點檢測模型結(jié)構(gòu)為6-50-1,即輸入變量為6,隱層神經(jīng)元數(shù)為50,輸出變量為SVI;污泥膨脹檢測模型結(jié)構(gòu)為6-20-1,即輸入變量為6,隱層神經(jīng)元數(shù)為20,輸出變量為SVId。
利用均方根誤差(RMSE)和模型精度(MA)評價智能檢測模型的性能:
(22)
(23)
式中T表示在線樣本個數(shù)。
圖4為魯棒極限學(xué)習(xí)機(RELM)訓(xùn)練過程中加權(quán)因子隨著離群點檢測模型誤差(歸一化)的變化圖。由圖4可見,當(dāng)離群點檢測模型誤差較大時,加權(quán)因子會變小,以此來保證模型輸出更接近于實際值。
圖5和圖6分別為離群點檢測模型的測試效果圖和測試估計誤差效果圖,誤差均在[-15,15]范圍內(nèi),均方根誤差在2.6左右。
圖7和圖8分別為污泥膨脹檢測模型的測試效果以及估計誤差測試效果,誤差在[-10,10]范圍內(nèi),均方根誤差在2.4左右。測試結(jié)果表明,所設(shè)計的基于魯棒極限學(xué)習(xí)機的檢測模型能夠準確地描述污泥膨脹動態(tài)特性。
為了進一步驗證基于魯棒極限學(xué)習(xí)機(RELM)的檢測模型優(yōu)勢,將該方法同其他SVI檢測模型方法進行對比,包括基于極限學(xué)習(xí)機的檢測模型(extreme learning machine,ELM)、基于模糊神經(jīng)網(wǎng)絡(luò)的檢測模型(fuzzy neural network,F(xiàn)NN)[24]、基于多元局部多項式二次多項式回歸模型(multivariate local quadratic polynomial regression,MLQPR)[15]。利用500組正常數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),并隨機抽取10%的數(shù)據(jù)加入離群點,利用50組不含離群點的正常數(shù)據(jù)作為測試數(shù)據(jù)。圖9為不同模型的測試估計誤差效果圖,從圖中可以看出,基于魯棒極限學(xué)習(xí)機(RELM)的污泥膨脹檢測模型性能更優(yōu)。
鑒于訓(xùn)練數(shù)據(jù)中添加離群點的隨機性以及檢測模型本身的隨機性,為了使對比結(jié)果更加合理,對該實驗運行10次,并對運行結(jié)果取平均,不同檢測模型的性能對比結(jié)果見表1。從表1中可以看出,基于魯棒極限學(xué)習(xí)機的檢測模型能夠獲得較小的測試平均RMSE及較高的測試平均MA。
圖4 加權(quán)因子分配圖
圖5 離群點檢測模型測試效果圖
圖6 離群點檢測模型測試誤差效果圖Fig. 6 Test error rendering of outliers detection model
圖7 污泥膨脹檢測模型測試效果圖Fig. 7 Test renderings of sludge bulking detection model
圖8 污泥膨脹檢測模型測試誤差效果圖
表1 不同模型性能對比
圖10為離群點在線檢測效果圖和數(shù)據(jù)修正效果圖。從圖中可以看出,修正后的紅色曲線和無離群點的黑色曲線幾乎重合,說明本方法能夠?qū)崿F(xiàn)離群點數(shù)據(jù)的檢測及修正,減少了離群點對污泥膨脹檢測的影響,提高了檢測效果。
利用100組在線數(shù)據(jù)(設(shè)定從第70個數(shù)據(jù)點開始出現(xiàn)污泥膨脹數(shù)據(jù))進行檢測。圖11為污泥膨脹檢測模型在線預(yù)測SVI的效果圖,圖12為污泥膨脹檢測模型的檢測效果。從圖中可以看出,無污泥膨脹時,污泥膨脹檢測模型估計誤差均處于閾值以下。從第70個數(shù)據(jù)點開始,污泥膨脹模型估計誤差超出閾值,則認為發(fā)生了污泥膨脹。實驗結(jié)果表明,所設(shè)計的污泥膨脹檢測方法能夠?qū)崿F(xiàn)污泥膨脹的檢測,驗證了所提出的污泥膨脹智能檢測方法的有效性。
圖9 模型估計誤差對比效果圖Fig. 9 Model estimation error comparison renderings
圖10 離群點檢測及數(shù)據(jù)修正效果圖
圖11 污泥膨脹檢測模型在線預(yù)測效果圖Fig. 11 On-line prediction rendering of sludge bulking model
圖12 污泥膨脹檢測模型檢測效果圖
本研究提出一種基于魯棒極限學(xué)習(xí)機的污泥膨脹智能檢測方法,通過引入M-估計技術(shù)構(gòu)建基于魯棒極限學(xué)習(xí)機的離群點檢測模型和污泥膨脹檢測模型,利用離群點檢測模型的估計誤差對離群點進行檢測和修正,根據(jù)污泥膨脹檢測模型的估計誤差及閾值邏輯實現(xiàn)了污泥膨脹的精準檢測。實驗結(jié)果表明,本方法不僅實現(xiàn)了污泥膨脹的魯棒建模而且對離群點進行了修正,實現(xiàn)了污泥膨脹的精確檢測。
本方法只適用于單一工況下的檢測,而污水處理過程同時存在多種異常工況,如何基于遷移學(xué)習(xí)等方法設(shè)計適用于多工況的智能檢測方法是下一步需要解決的問題。