郭 金 玉,李 濤,李 元
(沈陽化工大學 信息工程學院,遼寧 沈陽 110142 )
在現(xiàn)代工業(yè)中,過程監(jiān)控旨在快速準確地檢測和診斷故障,以確保生產安全和產品質量。分布式控制系統(tǒng)和數(shù)據(jù)存儲技術的快速發(fā)展和應用,使得工業(yè)過程數(shù)據(jù)能夠被收集,從而為基于數(shù)據(jù)驅動的過程監(jiān)控提供了基礎[1]。以主元分析(PCA)方法為代表的多元統(tǒng)計過程監(jiān)測方法發(fā)展迅速,在工業(yè)生產過程的故障檢測和監(jiān)視領域應用廣泛[1-3]。PCA算法處理的數(shù)據(jù)需要滿足高斯分布,但在實際工業(yè)生產中,過程變量往往表現(xiàn)出不同的分布,因此該方法具有一定的局限性。為了克服PCA的局限性,Atoui等[4]提出一種基于高斯框架的故障檢測方法,該方法在數(shù)據(jù)服從高斯網(wǎng)絡的前提條件下,運用PCA和二次檢驗統(tǒng)計量方法進行故障檢測,該方法雖然在一定程度上提高了系統(tǒng)的故障檢測率,但是仍然不適用于非高斯過程。為了提高非高斯過程的故障檢測性能,Kano等[5]將獨立主元分析(ICA)應用于故障檢測領域。ICA算法的主要思想是假設原始樣本之間相互獨立,不要求數(shù)據(jù)服從高斯分布,使每個分量最大化獨立,便于提取非高斯過程的隱藏信息,以此來提高故障檢測的性能。為了進一步提高非高斯過程的故障檢測性能,Ge等[6]將ICA與PCA相結合,提出一種基于ICA-PCA的故障檢測方法,提取數(shù)據(jù)的主元和獨立元,運用距離相似度作為統(tǒng)計量實現(xiàn)對故障的有效檢測。針對實際工業(yè)生產過程中數(shù)據(jù)分布不同的問題,Huang等[7]提出一種基于變量分布特征的統(tǒng)計過程檢測方法(VDSPM)。該方法通過d檢驗將數(shù)據(jù)劃分為高斯分布和非高斯分布,并在高斯子空間和非高斯子空間中建立PCA和ICA故障檢測模型,運用貝葉斯方法將統(tǒng)計量進行統(tǒng)一,提高故障檢測性能。PCA和ICA應用T2(或I2)和SPE兩個統(tǒng)計量進行過程狀態(tài)監(jiān)控。它們能夠較好完成過程監(jiān)控的前提條件是變量服從多元高斯分布且樣本間相互獨立。事實上,眾多工業(yè)生產過程,變量間存在較強的非線性、非高斯特征且樣本間存在自相關特征[8],這些顯著特征制約了PCA和ICA方法的故障檢測性能。
針對非線性和小樣本的故障檢測問題,支持向量機(SVM)方法[9-12]也一直是研究熱點,由于其較強的泛化能力和魯棒性能,被廣泛應用于故障檢測與診斷領域。SVM方法通過尋找空間最大分離超平面,實現(xiàn)將不同類別的數(shù)據(jù)有效分離。值得注意的是,SVM方法在進行模型訓練時,需要加入正常數(shù)據(jù)和故障數(shù)據(jù)。經過訓練,SVM模型能有效地學習到故障數(shù)據(jù)的特征變化特點,因此在模型測試時能夠保持較高的精確度。運用SVM算法可以實現(xiàn)故障檢測,但是,面對高維數(shù)據(jù),其運行時間較長,一般需要對原始數(shù)據(jù)進行變換,在保證一定檢測精度的前提下,減少維數(shù),使故障檢測工作又快又準確。為了提高SVM的故障檢測性能,Ji等[13]運用獨立元分析提取隱藏獨立分量并與SVM方法結合,有效地對故障進行檢測和診斷。為了提高ICA-SVM方法的故障檢測性能,Hsu等[14]將ICA與SVM結合,利用ICA獲取隱藏非高斯信息,計算T2統(tǒng)計量作為SVM模型的輸入。對SVM的輸入增加時滯和時差輸入特性,該方法能有效地降低樣本間的自相關性,提高SVM的故障檢測性能以及對隱藏非高斯信息的提取。眾多的研究與應用旨在提高SVM的故障檢測性能和豐富其應用場景。
數(shù)據(jù)特征提取的好壞直接影響SVM算法的檢測性能,而且文獻[15]指出數(shù)據(jù)間的自相關性是影響故障檢測性能的重要因素。因此,針對工業(yè)生產過程中過程變量服從不同分布的問題,同時降低數(shù)據(jù)間的自相關性對SVM檢測性能的影響,本研究提出一種基于高斯和非高斯雙子空間SVM(DSSVM)的故障檢測方法。運用KS檢驗對過程變量信息進行正態(tài)分布特性分析,分別建立高斯空間PCA和非高斯空間ICA故障檢測子模型,能夠更好地提取過程變量樣本特征,并對主元和獨立元矩陣引入時滯和時差輸入特性,在一定程度上減小樣本間的自相關性,使數(shù)據(jù)特征更加顯著,從而提高SVM算法的故障檢測性能。
正態(tài)性檢驗方法中常用的有t檢驗,w檢驗,d檢驗以及偏態(tài)系數(shù)和峰態(tài)系數(shù)等,本研究采用KS方法檢驗原始數(shù)據(jù)中過程變量的正態(tài)分布特性,因為KS檢驗是一種非參數(shù)檢驗方法[16],不要求知道原始數(shù)據(jù)的分布情況,可以直接對原始數(shù)據(jù)的觀測值進行檢驗,因此對數(shù)據(jù)的利用較為完整。此外,KS檢驗的數(shù)據(jù)分布必須是連續(xù)的,工業(yè)過程中對樣本的采樣通常為連續(xù)值,故該方法在檢驗時不會導致顯著性下降。假設X=[x1,x2,…,xm]是包含m個樣本的數(shù)據(jù)集,其中xi∈Rn(i=1,2,…,m)。對于隨機變量xi,由樣本數(shù)據(jù)集得到經驗累積分布函數(shù)為Fn,理論累積分布函數(shù)為F,其中|Fn(xi)-F(xi)|在隨機變量上的最大值為KS檢驗統(tǒng)計量,則是否接受高斯分布的概率值為
(1)
式中:n為變量總數(shù)。
假設α為置信度水平,該值通常取0.05。根據(jù)KS檢驗臨界表可知P0(n,α),原假設H0是兩組數(shù)據(jù)符合理論分布或者分布一致,那么對于變量xi,若H0=0且P在5%置信水平上,則隨機變量xi服從高斯分布。反之,若H0=1且P在5%置信水平下,則隨機變量xi服從非高斯分布。
運用KS檢驗方法能夠有效判斷原始數(shù)據(jù)集是否服從高斯分布,進而將原始數(shù)據(jù)集分為高斯子空間Y1和非高斯子空間Y2,實現(xiàn)對數(shù)據(jù)特征的有效提取。
1.2.1 高斯子空間模型
將原始數(shù)據(jù)集劃分為高斯和非高斯空間后,對于服從高斯分布的數(shù)據(jù)矩陣Y1,建立PCA檢測模型,對數(shù)據(jù)進行標準化處理,即
(2)
定義標準化后樣本集Y的協(xié)方差矩陣為
(3)
對協(xié)方差矩陣S進行特征值分解,并將求解出的特征值按大小降序排列。由累計方差貢獻率(cumulative percent variance,CPV)[17]確定主元個數(shù)k,如式(4)。
(4)
式中:λi為協(xié)方差矩陣的特征根,其中由前k個特征向量構成的矩陣就是負載矩陣P1。那么主元矩陣為
T=YP1
(5)
正常數(shù)據(jù)通過主元矩陣構造時滯輸入特性Tnormal(t-1)和時差輸入特性Tnormal(t)-Tnormal(t-1),并將其組合成增廣矩陣,如式(6)。
Tnormal=[Tnormal(t),Tnormal(t-1),Tnormal(t)-Tnormal(t-1)]
(6)
在故障操作條件下獲取故障數(shù)據(jù),同樣在PCA模型中建立故障數(shù)據(jù)的增廣矩陣,如式(7)。
Tfault=[Tfault(t),Tfault(t-1),Tfault(t)-Tfault(t-1)]
(7)
將正常數(shù)據(jù)和與故障數(shù)據(jù)的增廣矩陣進行組合,作為SVM模型的訓練數(shù)據(jù),定義為
Ttrain=[Tnormal,Tfault]
(8)
運用PCA模型對高斯子空間數(shù)據(jù)進行特征提取,滿足PCA的統(tǒng)計指標要求數(shù)據(jù)服從多元高斯分布的前提假設,能夠有效地反映數(shù)據(jù)變化的測度。時滯和時差輸入特性的引入,增加模型輸入的復雜程度,在一定程度上降低樣本間的時刻相關性,從而達到預期的檢測效果。
1.2.2 非高斯子空間模型
(9)
ICA算法對數(shù)據(jù)中心化和白化預處理后,使得觀測變量的協(xié)方差矩陣為單位陣。對中心化后Y2的協(xié)方差矩陣進行奇異值分解,即
(10)
式中:U為特征向量組成的矩陣,Λ為Y2協(xié)方差矩陣的特征值組成的對角陣。
白化向量計算如式(11)。
z=QY2
(11)
(12)
于是,獨立元s的估計值為
(13)
式中:B為分離矩陣,W和B的關系可表示為
W=BTQ
(14)
(15)
式中:H為SVM模型訓練數(shù)據(jù)集。
通過PCA的高斯子空間和ICA的非高斯子空間對數(shù)據(jù)特征的提取,以及時差與時滯特性的引入,能夠更大程度地減小樣本間自相關性,保留數(shù)據(jù)特性和隱藏非高斯特性,使得SVM模型能夠對故障數(shù)據(jù)實現(xiàn)有效的識別并分類。
SVM算法在解決數(shù)據(jù)集規(guī)模相對較小、樣本呈現(xiàn)非線性和局部極小值等問題方面具有許多優(yōu)點。在樣本訓練集空間H中找到一個最大分離超平面,才能把不同類別的樣本有效的分類。假設訓練集有m個訓練樣本,H={(hi,yi)|i=1,2,…,m},hi∈Rm,yi∈{+1,-1},分離超平面可表示為wTh+b=0。其中w=(w1,w2,…,wd)是權重向量,b是位移項。為了找到最大間隔的超平面,實現(xiàn)最大程度的分類,需要找到參數(shù)w和b,使得間隔最大??紤]到一些無法分類的樣本以及支持向量機在一些樣本上分類出錯的情況,為了提高支持向量機的容錯率,引入懲罰因子C和松弛變量ξi。松弛變量的引入使SVM分類具有一定的容錯性,懲罰因子通常設置為一個常數(shù)。那么SVM的基本型可表示為
(16)
式中:ξi≥0,C>0是一個常數(shù)。
為了求解式(16),需要將其轉化為“對偶問題”,并運用拉格朗日乘數(shù)法求解,則拉格朗日函數(shù)可寫為
(17)
在實際工業(yè)過程中,數(shù)據(jù)并不只是服從線性分布,更多情況是非線性分布,為了對數(shù)據(jù)更好地分類,需要通過非線性映射φ(h)將其投影到高維特征空間。為了避免高維運算,引入核函數(shù),通過核函數(shù)計算后該模型為
(18)
因此,SVM在對數(shù)據(jù)進行分類時,若數(shù)據(jù)呈現(xiàn)線性分布,SVM對其進行線性分類,若數(shù)據(jù)呈現(xiàn)非線性分布,SVM可以將其映射到高維空間,并引入核函數(shù)解決高維計算問題,進而高效準確地對數(shù)據(jù)實現(xiàn)分類。
基于DSSVM的故障檢測步驟分為離線建模過程和在線檢測。
1.4.1 離線建模過程
獲取正常操作條件的歷史數(shù)據(jù)集X1和故障操作條件下的歷史數(shù)據(jù)集X2;運用KS檢驗方法將歷史數(shù)據(jù)集劃分為高斯子空間和非高斯子空間;在雙子空間中分別建立PCA和ICA故障檢測模型,提取數(shù)據(jù)的主元和獨立元矩陣;將主元和獨立元矩陣引入時滯和時差特性并進行組合,作為SVM模型的輸入,訓練得到判別分類函數(shù)。
1.4.2 在線檢測
對新來的測試數(shù)據(jù)運用離線建模數(shù)據(jù)的均值和方差進行標準化;根據(jù)建模數(shù)據(jù)的劃分方法,把標準化后的數(shù)據(jù)劃分高斯子空間和非高斯子空間;測試數(shù)據(jù)集分別投影到PCA和ICA模型上計算主元和獨立元矩陣;結合主元和獨立元矩陣的時滯和時差特性輸入SVM模型進行故障分類。分類結果將正常數(shù)據(jù)定義為標簽0,故障數(shù)據(jù)定義為標簽1。
構造具有5個變量的數(shù)值例子[18]來驗證DSSVM的性能,該數(shù)據(jù)模型為
(19)
G(t)=Z(t)+V(t)
(20)
式中:V是服從非高斯分布的噪聲序列,K是相關輸入且滿足:
(21)
式中:M服從[-2,2]的均勻分布。當t=1時,設置K(0)=[0 0]T,M(0)=[-1 1]T,過程相關輸入K和過程相關輸出G共同組成監(jiān)控數(shù)據(jù)集。
由上述模型運行產生660個正常樣本,在第661個樣本點引入幅值為1.1的階躍故障,將500個正常樣本和500個故障樣本作為模型訓練,160個故障數(shù)據(jù)用于模型測試,通過大量的樣本對模型進行訓練,能夠有效提高SVM算法對樣本特征的識別,進而較準確地對故障數(shù)據(jù)分類。
表1 KS檢驗結果Tab.1 Results of the KS test
表2是各種算法故障檢測率(FDR)的對比。從表2中可以看出,DSSVM的故障檢測率高達94.34%,相較于其他方法都有不同程度的提高,該結果進一步驗證了DSSVM方法的有效性。
表2 各種算法對數(shù)值例子及TE過程故障檢測率Tab.2 Comparisons of fault detection rate of various algorithms on numerical examples and TE process %
田納西-伊斯曼過程(Tennessee Esatman,TE)過程已成為國際上通用的工業(yè)過程模型仿真平臺[21-23],在故障檢測和診斷領域,被國內外學者廣泛使用。TE過程包括5個主要操作單元、4種氣體進料、2個氣液放熱反應生成的2種主產品和2個衍生放熱反應生成的2種副產品等,過程工藝復雜,具有較多變量。TE過程具體的模型流程圖如圖3所示。將TE過程仿真產生的數(shù)據(jù)集用于模型測試,仿真器運行期間每隔3 min進行一次采樣記錄。
圖3 TE過程模型流程圖Fig.3 Flow chart of TE process
本例中在TE工業(yè)過程正常操作條件下選取500組正常樣本和500組故障樣本作為訓練數(shù)據(jù)集,用于SVM和DSSVM方法的模型訓練,在故障操作條件下選取160組樣本用于模型測試。運用KS檢驗方法對TE過程變量正態(tài)分布特性進行分析,變量7、9、13、16、18、19、37、38、39、41和50服從非高斯分布,而其余變量服從高斯分布。對服從高斯分布和非高斯分布的數(shù)據(jù)分別建立PCA和ICA模型,并對主元和獨立元矩陣構造時滯和時差特性,輸入SVM模型進行故障檢測。
以故障19為例,對比各種方法的檢測性能。通過尋優(yōu)測試將懲罰因子C設置為4,窗寬g設置為1.9。PCA、ICA和VDSPM方法的主元和獨立元個數(shù)由累計方差貢獻率確定。圖4是各種算法對故障19的檢測結果對比圖。從圖4中可以看出,PCA和ICA方法的檢測效果不理想,由于原始數(shù)據(jù)中存在高斯和非高斯信息,與PCA和ICA方法的假設條件相悖,因此無法取得較好的檢測效果。VDSPM能夠將高斯空間和非高斯空間分開,但是TE過程樣本間存在的時刻相關性仍然制約著故障檢測的效果,導致檢測效果不理想。SVM方法雖然對故障數(shù)據(jù)的檢測效果優(yōu)于前者,但誤報的樣本較多,樣本間的自相關性影響了SVM方法的檢測性能。DSSVM方法具有較高的故障檢測率,將正常數(shù)據(jù)與故障數(shù)據(jù)分開,這是由于時滯與時差特性的引入有效降低了樣本間的自相關性,增強了SVM的檢測性能。
(g)T2-VDSPM
(a)T2-VDSPM
(g)T2-VDSPM
從表2中可以看到對TE過程中大部分故障類型,DSSVM方法的故障檢測率相較于其他檢測方法都有不同程度的提高。DSSVM的平均故障檢測率為96.68%,與其他方法相比,DSSVM的故障檢測效果最好,驗證了該方法的有效性。
針對工業(yè)生產過程中過程變量服從不同分布的問題,同時降低數(shù)據(jù)間的自相關性對SVM檢測性能的影響,本研究提出一種基于高斯和非高斯雙子空間SVM的故障檢測方法。在對非線性工業(yè)過程數(shù)據(jù)進行故障檢測時,該方法將原始數(shù)據(jù)空間劃分為高斯子空間和非高斯子空間,有效地提取數(shù)據(jù)的高斯和非高斯特性。通過對主元和獨立元矩陣引入時滯和時差輸入特性,降低了數(shù)據(jù)自相關性對傳統(tǒng)SVM算法檢測性能的影響,從而提高了SVM的故障檢測性能。