侯迪波,陳 玥,趙海峰,黃平捷,張光新
(浙江大學(xué)控制科學(xué)與工程系工業(yè)控制技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,浙江杭州310027)
隨著工業(yè)化和城市化的快速發(fā)展,大量污染物和廢棄物排入江、河、湖、海,給人類賴以生存的水體環(huán)境造成了嚴(yán)重的污染。為了及時發(fā)現(xiàn)和控制水體污染,提高水質(zhì)監(jiān)測系統(tǒng)的水質(zhì)異常檢測能力十分必要。
現(xiàn)有的大多數(shù)水質(zhì)監(jiān)測系統(tǒng)往往依據(jù)水質(zhì)實(shí)測值與標(biāo)準(zhǔn)值的差值進(jìn)行報警,忽略了水質(zhì)各指標(biāo)的特定變化趨勢,難以滿足及時準(zhǔn)確檢測所有水質(zhì)異常的需要。近年來,很多學(xué)者開展了水質(zhì)異常檢測方法的研究。Hall J[1],Kroll D[2]搭建實(shí)驗(yàn)平臺研究不同污染物對水質(zhì)各參數(shù)的影響;Yang Y J[3]通過處理實(shí)驗(yàn)數(shù)據(jù)減小背景數(shù)據(jù)噪聲的方法,提高對異常的檢測率。為了克服實(shí)驗(yàn)平臺環(huán)境相對簡單的缺點(diǎn),Klise K A[4],McKenna SA[5]采用實(shí)地在線監(jiān)測的數(shù)據(jù)進(jìn)行分析,提出了時間序列增量、線性濾波和多元最鄰近。以上3種水質(zhì)異常檢測方法包含2個步驟,首先預(yù)測當(dāng)前值,然后判斷預(yù)測的當(dāng)前值與實(shí)際測量值的差是否超過閾值來檢測是否存在異常。時間序列增量方法是基于長度為1的移動時間窗,未充分挖掘歷史數(shù)據(jù)變化趨勢。線性濾波方法通過對歷史數(shù)據(jù)的線性組合預(yù)測當(dāng)前值,更適合于線性平穩(wěn)時間序列預(yù)測。多元最鄰近方法融合不同類型的水質(zhì)指標(biāo),通過直接對原始水質(zhì)數(shù)據(jù)進(jìn)行聚類和多維歐氏距離判斷異常,其性能受背景數(shù)據(jù)正常波動的影響較大,非平穩(wěn)波動會導(dǎo)致較高的漏報率和誤報率。
為了克服上述方法的不足,充分考慮水環(huán)境的復(fù)雜性和水質(zhì)指標(biāo)時間序列的非線性特點(diǎn),本文提出了一種基于RBF神經(jīng)網(wǎng)絡(luò)和小波分析的水質(zhì)異常檢測算法,利用RBF神經(jīng)網(wǎng)絡(luò)做預(yù)測,利用小波分析對預(yù)測誤差進(jìn)行去噪以提高水質(zhì)異常檢測算法的性能,并進(jìn)行了實(shí)驗(yàn)驗(yàn)證。
鑒于水質(zhì)指標(biāo)時間序列的非線性特點(diǎn),本文首先利用RBF神經(jīng)網(wǎng)絡(luò)建立水質(zhì)指標(biāo)預(yù)測模型,然后對預(yù)測值和真實(shí)值相比較得到的殘差時間序列進(jìn)行特定滑動窗口內(nèi)的在線小波去噪,最后通過判斷誤差有無超過閾值以確定是否存在水質(zhì)異常。
實(shí)現(xiàn)本方法的具體步驟如下:
1)利用RBF神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)水質(zhì)指標(biāo)預(yù)測
使用RBF網(wǎng)絡(luò)進(jìn)行時間序列預(yù)測的方法是通過RBF神經(jīng)網(wǎng)絡(luò)的非線性逼近能力來實(shí)現(xiàn)預(yù)測原點(diǎn)和預(yù)測時域之間的定量關(guān)系[6]。分析實(shí)際監(jiān)測數(shù)據(jù)發(fā)現(xiàn),水質(zhì)指標(biāo)的變化是漸變的過程,本文構(gòu)建的預(yù)測模型描述為
式中 D(t)為t時刻某水質(zhì)指標(biāo)的監(jiān)測數(shù)據(jù),n為輸入層的節(jié)點(diǎn)數(shù),F(xiàn)為由神經(jīng)網(wǎng)絡(luò)確定的輸入—輸出映射關(guān)系。
使用Matlab對RBP神經(jīng)網(wǎng)絡(luò)進(jìn)行編程仿真。其實(shí)現(xiàn)步驟是:首先,按式xi=(x-xmin)/(xmax-xmin)對數(shù)據(jù)進(jìn)行歸一化處理;然后,確定網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù),按照式(1)生成輸入變量、輸出變量對,分成訓(xùn)練樣本和測試樣本;使用Matlab工具箱Newrbe函數(shù)創(chuàng)建精確的神經(jīng)網(wǎng)絡(luò),尋找最優(yōu)的基函數(shù)擴(kuò)展速度spread;使用sim函數(shù)對網(wǎng)絡(luò)進(jìn)行仿真,輸出測試樣本的預(yù)測值;對輸出反歸一化處理。
2)利用小波分析實(shí)現(xiàn)一維水質(zhì)預(yù)測誤差信號去噪[7]
a.選擇合適的小波基:考慮濾波的實(shí)時性,希望所選的小波能同時具有對稱性或反對稱性、較短的支撐、正交性和較高的消失矩,故選擇db3小波。
b.分解尺度j的確定:實(shí)際小波分解尺度通常小于log2N,具體大小應(yīng)考慮信號的采樣頻率、數(shù)據(jù)窗長度N和系統(tǒng)的截止頻率,由于水質(zhì)預(yù)測序列濾波缺乏先驗(yàn)知識,故利用大多數(shù)情況所取N=64,j=4。
c.實(shí)時濾波:為了進(jìn)行實(shí)時小波分析,同時消除在線分析的滯后和避免邊界效應(yīng)的影響,引入對稱添加的滑動數(shù)據(jù)窗口法?;瑒哟翱诖笮镹,第i時刻的采樣值為xi,經(jīng)過對稱添加形成浮動窗口數(shù)據(jù)為xi-N/2+1,xi-N/2+2,…,xi-1,xi,xi,xi-1,…,xi-N/2+2,xi-N/2+1,后的數(shù)據(jù)窗用 xi-N/2+1,…,xi-1,xi,xi+1,xi+2,…,xi+N/2表示,那么,i時刻的采樣值 xi經(jīng)過濾波后的值為(xi+1+xi+2)/2。
d.閾值函數(shù)的選取:濾波結(jié)果是為了消除預(yù)測誤差噪聲,使誤差曲線更光滑,選用軟閾值函數(shù)。
e.用閾值對各尺度上得小波系數(shù)進(jìn)行濾波處理以重構(gòu)誤差序列。
3)將小波處理后誤差值與規(guī)定閾值比較,如果大于閾值,則說明水質(zhì)存在異常;否則,預(yù)測誤差在允許的范圍內(nèi),水質(zhì)是正常的。
高檢出率和低誤報率是衡量異常檢測算法性能的主要標(biāo)準(zhǔn),大部分異常檢測算法采用受試者工作特性(receiver operating characteristic,ROC)曲線[8]作為檢驗(yàn)標(biāo)準(zhǔn),曲線下面積越接近1,說明算法性能越好。ROC曲線與y=1-x的交點(diǎn)所對應(yīng)的閾值為判定水質(zhì)異常的最佳閾值。
目前,很多水質(zhì)在線監(jiān)測站僅僅配備單個或少數(shù)監(jiān)測傳感器,本文針對這種監(jiān)測點(diǎn)少的情況分析單個因子異常變化,改變原來根據(jù)單因子閾值報警的現(xiàn)狀,提高異常檢出率。
選取某地表水水源水庫6 d的在線監(jiān)測的氨氮值,傳感器每15 min輸出一次監(jiān)測值,前3 d數(shù)據(jù)作為預(yù)測訓(xùn)練集,后3 d數(shù)據(jù)作為測試集。日常水質(zhì)指標(biāo)信息中包含的異常數(shù)據(jù)稀少,為驗(yàn)證算法性能,通過在實(shí)際數(shù)據(jù)的基礎(chǔ)上疊加某種分布來模擬突發(fā)污染事故引起水質(zhì)指標(biāo)的變化情況[9]。本文模擬的異常是標(biāo)準(zhǔn)正態(tài)分布密度函數(shù)曲線,即可用表示,如圖3所示,該類型曲線可模擬突發(fā)污染事故引起的水質(zhì)指標(biāo)變化過程,圖1中異常強(qiáng)度A為1,持續(xù)時間長度為10Δt。
圖1 模擬異常Fig 1 Simulation abnormal
對原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,得到均值為0、方差為1的數(shù)據(jù),然后疊加模擬的異常,最后反標(biāo)準(zhǔn)化得到包含有異常的數(shù)據(jù)集。本文分別模擬1.0,1.5,2.0,2.5強(qiáng)度的異常進(jìn)行分析,圖2為疊加強(qiáng)度1.5的異常前后對比圖,虛線部分表示異常,相對于正常的背景數(shù)據(jù),此異常強(qiáng)度比較明顯。
對某地表水水源水庫6 d的在線監(jiān)測的氨氮值先不疊加異常(即背景數(shù)據(jù))單獨(dú)測試RBF神經(jīng)網(wǎng)絡(luò)的預(yù)測性能。前3 d數(shù)據(jù)用作訓(xùn)練數(shù)據(jù)集,輸入維數(shù)為3,徑向基函數(shù)的擴(kuò)展速度spread選取240時得到最優(yōu)的模型作為水質(zhì)日常變化模型,然后用該模型預(yù)測后3 d數(shù)據(jù),結(jié)果如圖3。
圖2 疊加強(qiáng)度為1.5的異常前后水質(zhì)時間序列曲線對比Fig 2 water quality time series contrast curve for superimposed strength of 1.5 abnormalities
圖3 RBF神經(jīng)網(wǎng)絡(luò)預(yù)測值與實(shí)際值對比曲線Fig 3 Contrast curve of the RBF neural network prediction and actual values
由圖3可知,利用RBF神經(jīng)網(wǎng)絡(luò)有較好的水質(zhì)預(yù)測能力,預(yù)測曲線和實(shí)際曲線保持基本一致的變化趨勢,但與傳統(tǒng)時間序列增量方法一樣,都存在一定的滯后。時間序列增量方法首先在滑動窗口內(nèi)對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,然后無論是否有異常,都用前一步的實(shí)測值作為當(dāng)前的預(yù)測值,這種方法帶來的問題是,當(dāng)存在異常時,無法準(zhǔn)確預(yù)測出背景數(shù)據(jù)。然而,RBF神經(jīng)網(wǎng)絡(luò)預(yù)測方法充分挖掘了水質(zhì)的歷史變化趨勢,能夠比較準(zhǔn)確地預(yù)測出背景數(shù)據(jù)的值,于是當(dāng)預(yù)測值與實(shí)際值差別較大時,則認(rèn)為存在異常。
常規(guī)的水質(zhì)異常檢測算法是通過比較預(yù)測誤差和設(shè)定閾值,從而判斷是否發(fā)生水質(zhì)異常。由于預(yù)測誤差序列含有隨機(jī)噪聲,本文采用先對誤差序列進(jìn)行小波去噪,然后與設(shè)定閾值比較的方法實(shí)現(xiàn)水質(zhì)異常檢測。利用訓(xùn)練后的RBF模型對疊加異常強(qiáng)度為1.5的氨氮值進(jìn)行預(yù)測,再對預(yù)測誤差序列小波去噪。小波處理前后的誤差曲線如圖4所示。小波處理后,在無異常時的誤差更平穩(wěn)地接近于0,從而可以更清晰地判斷異常發(fā)生的時間點(diǎn),減小誤報率。
圖4 小波分析去噪前后絕對誤差Fig 4 Absolute error before and after wavelet analysis de-noising
為了驗(yàn)證異常檢測能力,本文疊加不同的異常強(qiáng)度,利用ROC曲線評估不同水質(zhì)異常檢測方法的有效性。方法一:時間序列增量預(yù)測和直接比較預(yù)測絕對誤差偏離零點(diǎn)的大小有無超過閾值;方法二:RBF神經(jīng)網(wǎng)絡(luò)預(yù)測和直接比較預(yù)測絕對誤差偏離零點(diǎn)的大小有無超過閾值;方法三:RBF神經(jīng)網(wǎng)絡(luò)預(yù)測和對預(yù)測的絕對誤差在滑動窗口中進(jìn)行小波分析。圖5和表1顯示了異常強(qiáng)度分別為1.0,1.5,2.0,2.5時3種方法進(jìn)行異常檢測能力。對于異常強(qiáng)度較低時,異常偏離背景數(shù)據(jù)的大小與預(yù)測誤差差別不明顯,3種方法的ROC曲線面積均低于0.75,有較低的檢測率。隨著異常強(qiáng)度的增加,ROC曲線的面積逐漸增大,即具有越來越強(qiáng)的檢測能力。由于預(yù)測精度高是異常檢測能力強(qiáng)的基礎(chǔ),所以,方法一和方法二ROC曲線面積相近,RBF神經(jīng)網(wǎng)絡(luò)方法略好。方法三是在方法二的基礎(chǔ)上進(jìn)行改進(jìn)的,利用db3小波對預(yù)測誤差進(jìn)行4層分解,對各尺度上的小波系數(shù)除噪后重構(gòu)信號,判斷重構(gòu)后的信號有無超過閾值以確定是否發(fā)生異常,由于預(yù)測誤差具有隨機(jī)性,利用小波可以減小背景數(shù)據(jù)部分預(yù)測誤差的波動,使異常部分誤差相對明顯,尤其在低異常強(qiáng)度時能增加對異常的敏感性,提高異常檢測能力。
圖5 不同異常強(qiáng)度下3種方法的ROC曲線Fig 5 ROC curves of the three methods under different abnormal intensity
表1 不同異常強(qiáng)度時3種方法的ROC曲線面積Tab 1 ROC curve area of the three methods in different abnormal intensity
本文提出了一種水質(zhì)異常檢測方法,該方法首先采用RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測,然后引入小波分析處理預(yù)測誤差。對于非線性比較明顯的水質(zhì)參數(shù),用RBF神經(jīng)網(wǎng)絡(luò)模型做預(yù)測效果較好。被稱為“數(shù)學(xué)顯微鏡”的小波變換是時間和頻域的局部變換,能有效地從提取預(yù)測誤差中提取信息并進(jìn)行多尺度細(xì)化分析,去除噪聲的影響。結(jié)合實(shí)驗(yàn)的結(jié)果分析可知,基于RBF神經(jīng)網(wǎng)絡(luò)和小波分析的水質(zhì)異常檢測方法有較強(qiáng)的在線檢測能力,尤其針對低強(qiáng)度的異常,檢測的精確性有著非常顯著的提升。
[1]Hall J,Zaffiro A D,Marx R B,et al.On-line water quality parameters as indicators of distribution system contamination[J].American Water Works Association,2007,99(1):66-77.
[2]Kroll d,King K.Laboratory and flow loop validation and testing of the operational effectiveness of an on-line security platform for the water distribution system[C]∥The8th Annual Water Distribution Systems Analysis Symposium,Cincinnati,OH,United States:A-merican Society of Civil Engineers,2007:173-188.
[3]Yang Y J,Haught R C,Hall J,et al.Adaptive monitoring to enhance water sensor capabilities for chemical and biological contaminant detection in drinking water systems[C]∥Int’l Conf on Optics and Photonics in Global Homeland Security II,Kissimmee,F(xiàn)L,USA,SPIE,2006:1-12.
[4]Klise K A,Mckenna SA.Multivariate applications for detectinganomalous water quality[C]∥The 8th Annual Water Distribution Systems Analysis Symposium,Cincinnati,OH,United States:A-merican Society of Civil Engineers,2007:130-140.
[5]Mckenna SA,Klise K A,Wilson M P.Testing water quality change detection algorithm[C]∥The 8th Annual Water Distribution Systems Analysis Symposium,Cincinnati,OH,United States:American Society of Civil Engineers,2007:149-163.
[6]段向軍.基于神經(jīng)網(wǎng)絡(luò)的預(yù)測控制方法研究[D].大慶:大慶石油學(xué)院,2005.
[7]李士心,劉魯源.基于小波閾值去噪方法的研究[J].儀器儀表學(xué)報,2002,23(3):478-479.
[8]Mckenna S A,Wilson M,Klise K A.Detecting changes in water quality data[J].Journal American Water Works Association,2008,100(1):74-85.
[9]Klise K A,Mckenna S A.Water quality change detection:Multivariate algorithms[C]∥Int’l Conf on Optics and Photonics in Global Homeland Security II,Kissimmee,F(xiàn)L,USA,SPIE,2006:1-9.