李 暢 潘 豐
(江南大學輕工過程先進控制教育部重點實驗室 無錫 214122)
隨著社會經濟的進步和發展,人類對水環境的污染日益加劇,污水的高效處理對于可持續發展有著越來越重要的意義[1]。氨氮是水體中的營養素,磷是藻類生長需要的一種關鍵元素,過量磷和氨氮是造成富營養化和赤潮的主要原因[2~4]。在2002年由國家環境保護總局發布的《城鎮污水處理廠污染物排放標準》中規定一級A標準中NH4-N排放濃度最高為5mg/L,TP排放濃度最高為0.5mg/L[5~7]。
目前,針對水質中NH4-N濃度的測定,國家標準方法為納氏試劑分光光度法,此外還有電化學分析法等[8];針對水質中TP濃度的測定,國家標準方法為鉬酸銨分光光度法,此外還有離子色譜法和羅丹明6G熒光分光光度法等[9]。這些測定方法操作繁瑣,實時性不高,而相關的儀器儀表售價昂貴且維護成本較高。因此,研究如何能在低成本,操作簡單的前提下實現出水NH4-N和TP濃度準確、實時的測量,具有重要的實際意義。
針對上述問題,基于數據驅動的智能化軟測量方法在污水處理過程水質參數檢測領域受到廣泛關注和應用[10]。Deng[11]等提出基于徑向基神經網絡預測出水氨氮;喬俊飛[12]等使用遞歸RBF神經網絡算法建立了出水NH4-N濃度的軟測量模型;蒙西[13]等提出了一種基于類腦模塊化神經網絡的軟測量方法實現對出水生化需氧量(BOD)和TP濃度的實時檢測;Raduly[14]等通過前饋神經網絡來預測多個過程變量。以上幾種軟測量方法雖可以基本達到實時預測的要求,但預測精度仍有待進一步提高。
針對污水出水NH4-N和TP濃度的軟測量設計主要分為三部分:數據采集并使用KNN算法進行數據預處理;利用XGBoost算法進行軟測量建模;使用網格搜索方法調整XGBoost的參數。
污水處理采用目前使用最普遍的厭氧-好氧(A2O)工藝[15],設備由一個生物反應器和一個二次沉淀池組成,其中生物反應器包含缺氧部和曝氣部兩部分。采集數據時,將傳感器探頭分別設置在進水初沉處、厭氧部末端、好氧部末端和出水處四個位置。數據采集系統如圖1所示。

圖1 污水處理數據采集系統
考慮到污水中各參數的采集難度以及對NH4-N和TP濃度的影響程度,選取溫度(T)、堿度(PH)、溶解氧(DO)濃度和固體懸浮物(TSS)濃度四個參數作為輔助變量,將相應的傳感器測量數據實時傳送到數據采集儀,數據采集儀將實時數據發送到中央控制室的PC機中。
考慮到采集數據需要的人力和時間因素,確定采集8個批次的數據,每批次數據的周期為14天,采樣間隔為15分鐘,每批次數據共1344組。由于實際工業過程中,數據采集時可能出現數據缺失,因此文中采用KNN算法對采集的數據進行預處理,將缺失的數據填充完整。
KNN算法是通過測量不同特征值之間的距離進行分類。它的思路是:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別,其中k通常是不大于20的整數[16]。
KNN算法中,所選擇的鄰居都是已經正確分類的對象。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別[17]。利用KNN算法對污水處理過程中采集的數據集進行填充包括以下步驟:
1)獲取污水處理過程中采集的數據集,保留并供步驟7)使用;
2)將數據集中的數值型屬性列進行數據標準化處理,以滿足KNN模型支持的數據格式;
3)由于污水處理過程中每批次采集的無缺失值數據集的數據量不大,將2)中預處理后的數據隨機拆分為訓練數據集和驗證數據集;
4)設定KNN模型參數k的區間為[4,6],基于訓練數據集和不同的KNN模型參數k,構建KNN模型簇;
5)利用模型優化目標函數篩選最優KNN模型,由于污水參數數據缺失值類型為數值型數據,目標函數S為

其中m表示驗證集的數據樣本數,gf表示驗證集中每個樣本在缺失值數據列的真實值,g?f為gf對應的模型填充值,ε為平滑因子;
6)基于驗證數據集的原始數據和預測數據,依據模型優化目標函數對KNN模型簇篩選得到最優KNN模型MQ;
7)基于缺失值數據構建缺失值矩陣,帶入到模型MQ中得到預測數據集,并將其進行反標準化復原數據,完成缺失值的預測和智能填充。
為驗證KNN算法的填充效果,隨機選取某批次出水位置參數中TP列的100組數據,遍歷此列數據并找出缺失值,使用KNN算法進行缺失值填充,填充效果如圖2。

圖2 使用KNN填充后TP列數據
采用XGBoost算法進行軟測量建模,此算法是對梯度提升樹(GBRT)算法的優化,相較于GBRT算法,XGBoost算法將目標函數進行了泰勒展開,并加入正則項[18],可以有效降低模型過擬合的風險。

其中L(θ)為損失函數,Ω(θ)為正則化懲罰項,且回歸樹中的預測結果?為

其中K為回歸樹的數量,fk(xi)為每一棵樹的得分值,θ為使目標函數最小時所需要求出的參數。對式(2)進行整理可得:


其中T表示第t棵樹中總葉子節點的個數;ωj表示第j個葉子結點的得分值;α、λ為常數,表示正則懲罰中的參數[19]。
然后輸入采集的6個批次的污水水質參數數據進行模型訓練,對于第t輪迭代,模型的目標函數可表示為

其中ft(xi)表示加入的第t棵分類回歸樹;常數C表示前t-1棵樹的復雜程度。
進一步地,將第t輪迭代的目標函數用泰勒級數展開,可以得到:

其中gi表示對的一階導數;hi表示對的二階導數。
進一步化簡可以得到最終的目標函數:

其中Ij表示在第j個葉子結點上的樣本。
顯然,此時只需尋找一個最優的權重值,即可獲得最優的目標函數值。因此,將目標函數obj(t)對ωj求偏導并令其等于0,可以求出最優權重值為

將式(9)帶入式(8)可得最優的目標函數值為

XGBoost的參數調整一般指的是調整booster參數,booster參數取決于使用哪種booster,常用的booster有樹模型和線性模型,由于樹模型的性能一般比線性模型好得多,因此文中選擇使用樹模型并調整其相應的參數。
樹模型主要參數及其特征如下[20]:
1)eta
學習速率,默認值為0.3,通過減少每一步的權重,可以提高模型的魯棒性,典型值為0.01~0.4。
2)n_estimators
弱學習器的最大迭代次數,或者說最大的弱學習器的個數,默認值為100。
3)min_child_weight
決定最小葉子節點樣本權重和,默認值為1。這個參數用于避免過擬合。當它的值較大時,可以避免模型學習到局部的特殊樣本,但是如果這個值過高,會導致欠擬合。
4)max_depth
樹的最大深度,默認值為6。值越大,模型會學到更具體更局部的樣本。典型值為3~10。
5)gamma
指定了節點分裂所需的最小損失函數下降值,默認為0。這個參數的值越大,算法越保守。
6)subsample
控制對于每棵樹隨機采樣的比例,默認為1。典型值為0.5~1。
7)colsample_bytree
控制每棵隨機采樣的列數的占比(每一列是一個特征),默認為1。典型值為0.5~1。
針對上述參數的調整,采用網格搜索方法,按照參數調整順序,逐個尋找最優值。XGBoost參數調優的步驟如下。
1)確定eta為默認值0.1;
2)固定eta,確定n_estimators的搜索區間[50,800],通過網格搜索找到其最優值;
3)max_depth和min_child_weight參數調優,搜索區間分別為[1,15]和[1,5];
4)gamma參數調優,搜索區間為[0,1];
5)subsample和colsample_bytree參數調優,搜索區間均為[0,1];
6)保持eta和n_estimators的乘積不變,降低eta并使用更多的決策樹。
文中通過上述過程的參數調整,得到分別針對出水NH4-N和TP濃度的兩組booster參數如表1。

表1 調整后的參數值
將實際采集的6個批次水質參數數據輸入并訓練模型后,再使用兩個批次數據進行驗證,隨機選取某批次出水NH4-N和TP濃度的預測效果如圖3。

圖3 調參前出水NH4-N和TP濃度預測效果
由預測圖的擬合情況可以看出,在XGBoost算法中對于booster參數均使用其默認值的情況下,預測精度并不高,因此對參數的調整十分重要。
將booster參數按照2.3中的步驟調整后,該批次的預測結果如圖4。

圖4 調參后出水NH4-N和TP濃度預測結果
此時,從圖中即可明顯看出預測效果有了很大提升,為對比調參前后預測效果的變化,選擇回歸率(R-squared)、均方根誤差(RMSE)和平均絕對誤差(MAE)三個回歸指標進行比較,將調參前后的回歸指標保留4位小數記錄如表2。

表2 調參前后XGB算法回歸指標
對比調參前后回歸指標,參數調整后回歸率提升了7.75%,RMSE和MAE分別降低了42.93%和38.99%,顯然調參后的預測效果大大提高。
為檢驗XGBoost算法對于污水處理過程關鍵參數NH4-N和TP的預測精度情況,采用隨機森林(RandomForest)算法、GBRT算法和套袋(Bagging)算法[23]分別進行建模并仿真,對NH4-N濃度的預測效果如圖5、圖6和圖7所示。

圖5 RandomForest算法對出水NH4-N濃度預測效果

圖6 GBRT算法對出水NH4-N濃度預測效果

圖7 Bagging算法對出水NH4-N濃度預測效果
為對比上述三種軟測量方法與XGBoost算法對于出水NH4-N和TP濃度的預測效果差異,將四種軟測量方法下的回歸指標數據記錄如表3。由表中數據可以看出,在污水處理關鍵參數的軟測量問題上,使用RandomForest算法、GBRT算法和Bag?ging算法時,對于NH4-N和TP濃度的預測回歸率均在95%以下,而XGBoost算法預測效果則明顯優于RandomForest算法、GBRT算法和Bagging算法,且其回歸率均可達95%以上。

表3 四種軟測量方法下的回歸指標
為解決污水處理過程中關鍵參數NH4-N和TP難以實時在線測量的問題,首先使用KNN算法進行缺失值填充,有效解決了實際采樣數據存在缺失值的問題;進一步地,提出了一種基于XGBoost算法的軟測量方法并建立軟測量模型,實現了對出水NH4-N和TP的實時預測。仿真結果表明,該方法有較高的預測精度。