(武漢大學 動力與機械學院,武漢 430072)
主元分析PCA是一種多變量分析技術,在數據壓縮、模式識別、信號處理和過程監控等領域均獲得廣泛運用[1-3]。PCA將原始的高維度數據投影到低維空間,以消除各個變量之間的弱相關性,降低數據的復雜度;從而能夠更容易地從海量歷史數據中提取有用信息[4]。PCA將數據空間分解為2個正交子空間:主元空間PCS(principal component sub space)和殘差空間 RS(residual subspace),利用主元模型求取SPE、T2統計量[5]。由于工業現場存在噪聲且噪聲不滿足高斯分布,使得PCA在工業現場傳感器故障檢測中存在一定程度的故障誤檢測問題。為此,如何削弱工業現場噪聲的影響,降低故障誤檢測率值得進行研究。
小波分析是信號處理的有力工具,可保證在信號品質不受影響的前提下濾去信號中的噪聲[6-8]。1984 年,文獻[9]提出了“小波”(wavelet)的概念,提出用一個函數的時移性和尺度組合表示信號的新思想。1989年,文獻[10]提出信號的多分辨率分析與快速重構算法,隨后小波變換快速走向實用化。小波去噪在工業過程也獲得了廣泛運用,文獻[11]通過滑動窗將小波分析與PCA結合,用于TE化工過程故障檢測,論證了該方法的可行性。
本文結合小波去噪和PCA,通過滑動窗對PCA的SPE、T2統計量進行小波去噪,削弱噪聲對SPE、T2統計量的影響。文中提出的方法在電廠水處理過程中進行了仿真,結果表明該方法可有效減少故障誤檢測。
設工業生產過程有m個傳感器,PCA故障檢測包含以下3個步驟:
步驟1數據收集和標準化。構造測量數據矩陣 X1=[x1,x2,…,xn]T∈Rn×m,其中 X1的每一列表示一個變量,每一行表示一個樣本。對X1的每一個樣本 xi(i∈[1,n])進行標準化處理,得到新樣本集 X。
步驟2特征值分解及SPE和Hotelling T2控制限求取。X按照式(1)分解:

步驟3在線計算SPE和Hotelling T2統計量并檢測故障。對實測樣本x∈R1×m(已經標準化處理),計算其SPE和Hotelling T2統計量。按照故障檢測邏輯診斷當前系統運行狀態:當SPE>SPElim或時,則判定故障產生,否則判定無故障。有關PCA故障檢測可參考文獻[12-14]。
PCA故障檢測在工業現場運用時,SPE、T2統計量波動劇烈,容易超過控制限導致故障誤檢測。為了降低故障誤檢測率,本文利用小波方法濾除SPE、T2統計量的噪聲。
連續小波變換CWT(continuous wavelet transform)的數學表達式為

式中:a,τ分別為尺度因子和平移因子;ψ(t)為母函數;ψ*(t)為其共軛函數。尺度因子a控制函數的伸縮:當a增大時,函數時窗變寬;當a減小時,函數時窗變窄。這樣小波變換就可以對信號進行多尺度細化,同時得到良好的時間、頻率分辨率。
式(2)中尺度因子a連續變換,導致計算量大,實際工程應用中,常用離散小波變換DWT(discrete wavelet transform)。能在保證信號不失真的同時,減小計算量。文獻[10]中提出了正交小波快速算法,得到了廣泛運用。本文也采用這種算法進行小波分解,得到各尺度的小波系數和近似系數,然后通過離散小波逆變換IDWT(inverse discrete wavelet transform)重構信號。
以信號f(t)的小波三層分解為例,小波分解如圖1所示。

圖1 信號的小波三層分解Fig.1 Three level decomposition of signal
圖1中:H0,H1分別為低通、高通濾波器;↓2代表下采樣過程。信號f(t)三層分解后得:

文獻[6-8]提出了非線性小波變換閾值去噪法,得到了廣泛運用。小波變換可將信號的“能量”集中于少數小波系數;而白噪聲由于其無序性,其“能量”分散于各小波系數。隨著分解的進行,白噪聲的小波系數變小,信號的小波系數遠大于白噪聲的小波系數。因此,可找到合適的閾值δ,將小于δ的小波系數濾去,得到純凈的小波系數。最后將去噪后的小波系數進行重構即可獲得濾波后的信號。
Matlab小波工具箱提供了小波去噪函數,本文即采用Matlab工具箱實現信號去噪[15]。
傳統PCA故障檢測方法在實際工程應用中SPE和T2統計量波動劇烈,易導致故障誤檢測。本文采用小波去噪濾除SPE和T2統計量的噪聲,以減少PCA故障誤檢測率。結合小波去噪的PCA故障檢測流程如下:
①PCA離線建模。利用歷史正常工況下的數據得到負載矩陣Pa、得分矩陣T、主元個數a,以及SPElim和控制限。
②PCA統計量在線計算。對于實測數據樣本x∈R1×m,計算其對應的 SPE 和 T2統計量。
③小波去噪。通過滑動窗對SPE和T2統計量進行小波去噪。構建長度為wlen的SPE和T2統計量滑動窗,根據小波函數、分解層數lev、閾值、閾值處理方式和閾值重調規則進行小波去噪,獲得去噪后的統計量。
以上步驟中,小波去噪是關鍵環節,對故障誤檢測率影響大。故需要研究小波去噪的參數選取問題。
①小波函數選?。涸谛〔ǚ治鲋嘘懤m出現了一系列經典小波系,例如Haar小波、Daubechies小波系、Symlets小波系、Coiflets小波系和Spline小波系等[9]。其中,正交小波系可根據快速算法得到信號完全重構,計算量較小。故本文采用正交小波系作為基小波。正交小波系有 Haar小波、Daubechies、Symlets和Coiflets小波系。
Haar小波是Daubechies小波系中第一個小波函數。Daubechies小波系和Symlets小波系分別有45種小波。小波序號越大,小波函數計算量越大,本文選取了Daubechies小波系和Symlets小波系的前15 個小波,即 db1,…,db15 和 sym1,…,sym15。
Coiflet小波系包含5種小波函數,它們所需的計算量不大。在后續敏感性分析中選取Coiflet小波系全部5個小波函數,即coif1,…,coif5進行對比分析。
②閾值處理方式。小波去噪有2種通用的閾值處理方式:軟閾值法和硬閾值法。設WT為小波系數,δ為閾值,軟、硬閾值法可表示為
i)硬閾值法(hard)

ii)軟閾值法(soft)

硬閾值法處理方式簡單,但會造成處理后小波系數的不連續,引起重構信號振蕩;而軟閾值法處理后小波系數的連續性好,在工業上運用更廣泛。
③閾值選取規則。Matlab工具箱中,有4種閾值選取規則[15]:固定式閾值(sqtwolog)、Stein 無偏估計閾值(rigrsure)、啟發式閾值(heursure)和極大極小值閾值(minimax)。不同的閾值對去噪效果造成影響。
④閾值重調方法:Matlab小波工具箱里,有3種閾值重調方法:one、sln、mln。它們規定了各層小波系數采用的閾值是否重調的規則。
⑤分解層數。分解層數lev受滑動窗長度wlen影響。例如wlen=8,由于下采樣過程使小波系數樣本數減半,則lev最大為3。滑動窗長度wlen限制了分解層數lev的大小。
⑥滑動窗參數?;瑒哟皡蛋ɑ瑒哟伴L度wlen和滑動窗步長wstep。本文選取滑動窗長度wlen為2的正整數倍,以避免邊界失真,保證信號重建的準確性[16]?;瑒哟安介Lwstep應小于或等于wlen,還需考慮計算量因素。
本文以1000 MW熱力發電廠補給水處理流程為對象驗證本文提出的方法。水處理工藝如圖2所示。原水分別經預處理——陽床/陰床——混床,最終出水。陽床、陰床、混床中的混合離子樹脂置換水中的鹽,達到凈化水質的目的。水處理流程配備了大量的傳感器,對水質指標進行實時監測[17]。本文從水處理流程選取了12個主要傳感器作為故障檢測對象,如表1所示。

圖2 陽-陰-混床水處理流程Fig.2 Flow chart of cation-anion-mixed bed

表1 傳感器列表Tab.1 List of sensors
首先從電廠SIS系統中選取正常、穩定的運行數據為學習樣本,采樣時間為5 s,樣本容量100。以該段數據為訓練樣本建模主元模型。再選擇同一工況下另一組穩態數據為檢測樣本集,采樣時間5 s,樣本容量1000。分別采用傳統PCA和結合小波去噪的PCA進行水處理過程故障檢測,2種方法的驗證結果分別如圖3和圖4所示。
圖4中小波去噪參數設置如下:db10小波函數、軟閾值、固定式閾值、mln閾值重調、wlen=64、wstep=6、lev=3)。

圖3 傳統PCA SPE、T2控制Fig.3 SPE,T2statistics of classical PCA method

圖4 結合小波去噪PCA SPE、T2控制Fig.4 SPE,T2statistics of PCA combined with wavelet denoising
為了便于書寫,本文將小波去噪參數寫為以下形式:(db10,soft,sqtwolog,mln,wlen=64,wstep=6,lev=3)。
圖3表明傳統PCA方法檢測樣本SPE、T2控制量存在“毛刺”,且SPE、T2的峰值超出了對應的控制限,導致故障誤報。雖然故障誤判的持續時間短,僅為1~5個采樣時刻,但這些短時間的故障誤判影響了PCA故障檢測方法的實際使用效果。圖4表明用小波去噪后,PCA SPE、T2控制量在保留信號趨勢的同時,濾除了毛刺,有效解決了故障誤報的問題。
傳統PCA方法與結合小波去噪PCA方法的故障誤報性能如表2所示。

表2 傳統PCA與結合小波去噪PCA性能統計Tab.2 Comparison between classical PCA and PCA combined with wavelet denoising
表2表明,通過對PCA SPE、T2統計量進行小波去噪,能有效消除故障誤報,使PCA方法在工業生產過程的運用更加實用。圖4為一種去噪參數組合下的特例分析,為了更加徹底地理解小波參數的影響,以下將對小波去噪參數的敏感性進行分析,以指導PCA小波去噪參數的選取。
小波去噪是影響PCA故障誤報的關鍵環節。小波去噪參數多,對去噪性能都有影響,故需要對小波去噪參數的敏感性進行分析。本文小波去噪最終服務于降低故障誤報率,故將系統的故障誤報次數作為小波去噪效果的評判標準。若某一小波參數降低了故障誤報次數,判斷該參數組合優化;反之,則判定參數組合劣化。
首先對小波系進行分析,在其他參數固定時分別選用 Symlets、Daubechies和Coiflets小波系的小波函數進行對比研究。各小波系小波函數濾波效果如圖 5 所示, 其他參數設置為(soft,sqtwolog,mln,wlen=64,lev=3,)。圖5中將誤報次數作為優劣評判指標。

圖5 各小波系濾波效果對比Fig.5 Comparison among wavelet species
圖5表明,隨著小波函數序號的增大,各小波系都能減少誤報次數。其中sym2、sym10和db2對系統性能的提升作用較差,Symlets小波系濾波效果不穩定,Coiflet小波系對性能敏感性較低。Daubechies小波系中小波函數序號大于8的小波都能消除誤報,比Symlets和Coiflet小波系穩定;且Daubechies小波系比Symlets小波系計算量小。故Daubechies小波系,特別是小波函數序號大于8的小波函數具有優勢。以下參數分析就將重點針對Daubechies小波系開展。
當其他參數設置為(Daubechies小波系,sqtwolog,mln,wlen=64,wstep=4,lev=4),軟、硬閾值濾波效果對比如圖6所示。

圖6 軟硬閾值濾波效果對比Fig.6 Comparison between soft and hard threshold
圖6表明,對Daubechies小波系的各個小波,軟閾值對性能的提升都遠好于硬閾值,且軟閾值濾波效果更加穩定。
取其他小波參數為(Daubechies小波系,soft,mln,wlen=64,wstep=4,lev=4),閾值選取規則濾波效果對比如圖7所示。

圖7 各閾值濾波效果對比Fig.7 Comparison among threshold selection rule
圖7表明,對Daubechies小波系的各個小波,sqtwolog閾值濾波效果良好、穩定,具有較大優勢。
取其他小波參數為(Daubechies小波系,soft,sqtwolog,wlen=64,wstep=4,lev=4),閾值重調濾波效果對比如圖8所示。

圖8 閾值重調濾波效果對比Fig.8 Comparison among threshold rescaling method
圖8表明,對Daubechies小波系的各個小波,mln參數濾波效果最好。這是由于水處理過程現場存在非高斯白噪聲,在每一層都需要進行閾值重調。
當其他小波參數選取為(Daubechies小波系,soft,sqtwolog,wlen=64,wstep=4,lev=4),分解層數濾波效果對比如圖9所示。

圖9 分解層數濾波效果對比Fig.9 Comparison among decomposition level
圖9表明,隨著lev的上升,系統故障誤報數明顯下降,濾波效果顯著提升。當lev=4時,已滿足系統正常運行要求,繼續增加lev對性能的提升不敏感,且增加了計算量。綜合考慮計算量與濾波效果,建議lev為4或者5。
滑動窗長度wlen與滑動窗步長wstep對濾波效果無明顯的影響。分解層數lev受wlen的限制,當lev=4時,系統故障誤報率滿足系統要求,綜合考慮建議wlen為64或者128,滑動窗步長wstep為4~10。
傳統PCA在工業現場故障診斷中易出現故障誤檢測問題,本文將小波去噪應用于PCA,旨在提升故障檢測的性能。以某1000 MW熱力發電廠補給水處理流程為對象,以該流程典型工況下運行數據為基礎驗證了小波PCA故障檢測算法,結果表明結合小波去噪的PCA方法能有效減少系統誤報次數。
本文還對小波去噪參數進行了敏感性分析,對小波濾波參數的設置提出了建議。建議使用Daubechies小波系小波序號大于8的小波函數,采用軟閾值、sqtwolog、mln、4或 5層分解,滑動窗長度為64或128,滑動窗步長為4~10。本文提出了利用小波去噪降低故障誤報率的方法和步驟,提升了PCA故障檢測的性能,使其更加實用化。
[1]張大海,劉宇穗,張世榮,等.發電廠水處理流程傳感器故障檢測系統研究[J].自動化與儀表,2014,29(5):9-13.
[2]Chen G,Qian S E.Denoising of hyperspectral imagery using principal component analys is and waveletshrinkage[J].Geoscience and Remote Sensing,IEEE Transactionson,2011,49(3):973-980.
[3]王健,馮健,韓志艷.基于流形學習的局部保持PCA算法在故障檢測中的應用[J].控制與決策,2013(5):683-687.
[4]周東華,李鋼,李元.數據驅動的工業過程故障診斷技術:基于主元分析與偏最小二乘的方法[M].北京:科學出版社,2011.
[5]Shams B,Budman H M,Duever T A.Fault detection,identification and diagnosis using CUSUM based PCA[J].Chemical Engineering Science,2011,66(20):4488-4498.
[6]Donoho D L.Adapting to unknown smoothnessvia wavelet shrinkage[J].J Amer Statist Assoc,1995,90:1200-1224.
[7]Donoho D L,Johnstone I.Wavelet shrinkage asymptopia[J].Journal of Royal Statistical Society,1995,57(2):301-369.
[8]Donoho D L.Denoising by soft-thresholding[J].IEEE Transaction on Information,1995(3):613-627.
[9]Grossmann A,Morlet J.Decomposition of hardy functions into square integrable wavelets of constant shape[J].SIAM journal on mathematical analysis,1984,15(4):723-736.
[10]Mallat S,Hwang W L.Singularity detection and processing with wavelets[J].Information Theory,IEEE Transactions on,1992,38(2):617-643.
[11]Li S,Wen J.A model-based fault detection and diagnostic methodology based on PCA method and wavelet transform[J].Energy and Buildings,2014,68:63-71.
[12]牛征,劉吉臻,牛玉廣.動態多主元模型故障檢測方法在變工況過程中的應用[J].動力工程,2005,25(3):426-426.
[13]Ding S,Zhang P,Ding E,et al.On the application of PCA technique to fault diagnosis[J].Tsinghua Science& Technology,2010,15(2):138-144.
[14]Jeng J C.Adaptive process monitoring using efficient recursive PCA and moving window PCA algorithms[J].Journal of the Taiwan Institute of Chemical Engineers,2010,41(4):475-481.
[15]Michel M,Yves M,Georges O,et al.Wavelet toolbox for use with MATLAB[J].Wavelet Toolbox User’s Guilde,1997.
[16]Strang G,Nguyen T.Wavelets and Filter Banks[M].SIAM,1996.
[17]Faust S D,Aly O M.Adsorption Processes for Water Treatment[M].Elsevier,2013.