馮立偉,張 成,李 元,謝彥紅
(1.沈陽化工大學 數(shù)理系,沈陽 110142; 2.沈陽化工大學 過程故障診斷研究中心,沈陽 110142)(*通信作者電子郵箱li-yuan@mail.tsinghua.edu.cn)
大量工業(yè)產(chǎn)品的生產(chǎn)需要經(jīng)過多個生產(chǎn)階段(工序),多階段生產(chǎn)過程的故障檢測成為一個重要問題?;跀?shù)據(jù)驅動的多元統(tǒng)計監(jiān)控(Multivariate Statistical Process Monitoring, MSPM)技術已在工業(yè)過程中得到廣泛應用。經(jīng)典的過程故障監(jiān)控方法主要有主元分析(Principal Component Analysis, PCA)[1-3]、偏最小二乘(Partial Least Square, PLS)[4-5]和獨立元分析(Independent Component Analysis, ICA)[6-7]等。
在多階段生產(chǎn)過程中,由于系統(tǒng)在不同階段處于不同運行模態(tài),使得過程數(shù)據(jù)具有多中心、各階段結構不同等特征。因為PCA和PLS方法中統(tǒng)計量T2和SPE(Squared Prediction Error)要求過程數(shù)據(jù)服從單一階段的多元高斯分布,在多階段過程中使用PCA和PLS進行檢測會出現(xiàn)大量故障的漏報。而ICA也是一種單階段故障檢測方法,不能直接應用于多階段過程中。
針對多階段過程數(shù)據(jù)的多中心特征,一些學者提出了多模型監(jiān)控策略。Ge等[8]用k均值聚類方法進行數(shù)據(jù)子集的劃分,再用二維貝葉斯方法對非線性多工況復雜工業(yè)過程進行監(jiān)控。Teppola等[9]利用自適應模糊c-均值聚類方法解決過程漂移引起的均值變化。高斯混合模型(Gaussian Mixture Model, GMM)方法[10-12],對各工序使用PCA、PLS等方法構造檢測子模型,再使用貝葉斯推理來綜合各模型檢測結果。多模型方法存在子模型劃分的困難,在復雜工業(yè)過程中難于應用。
如何對多階段過程建立單一全局檢測模型成為研究重點。Hwang等[13]給出了一種基于層次聚類和超PCA模型的監(jiān)控方法,此方法只對數(shù)據(jù)差異小、變量之間非線性弱的情況有效。Lane等[14]提出一種特征子空間的擴展PCA算法,但該方法只局限于存在通用的特征子空間的假設前提下。He等[15]提出了基于k近鄰故障檢測(Fault Detection usingkNearest Neighbors, FD-kNN)方法。FD-kNN方法使用累積近鄰距離作為故障檢測指標,有效降低非線性和多中心的影響,成功實現(xiàn)對非線性和多中心過程的故障檢測。針對FD-kNN計算量大的缺點,出現(xiàn)了將不同降維技術與kNN結合的故障檢測方法[16-17]。針對不同變量方向上尺度不同的問題,出現(xiàn)了采用馬氏距離的kNN方法[18-19]。當數(shù)據(jù)還具有各階段結構不同的特征時,kNN方法的統(tǒng)計量會錯誤地被方差大的階段數(shù)據(jù)所決定,造成對方差小階段的微弱故障的漏報和方差大階段的部分正常樣本的誤報。
李元等[20]提出局部鄰近標準化(Local Neighborhood Standardization, LNS)和kNN結合的故障檢測方法。Ma等[21-22]提出了局部近鄰標準化策略故障檢測方法。LNS使用樣本的局部近鄰集的均值和標準差對樣本標準化,不僅能將各個階段的數(shù)據(jù)中心平移到原點還能調整各階段的離散程度使之近似相同,提高了方差不同的多階段過程故障檢測能力;但是,當標準化時所用的近鄰樣本來自不同的階段,標準化會出現(xiàn)嚴重錯誤。
針對多階段過程數(shù)據(jù)的上述特征,本文提出一種基于改進的局部近鄰標準化策略與k近鄰相結合的故障檢測(Improved Local Neighborhood Standardization andkNearest Neighbors, ILNS-kNN)方法。改進的近鄰標準化將多階段數(shù)據(jù)融合為單階段數(shù)據(jù)。ILNS-kNN的統(tǒng)計量準確度量了故障樣本與正常樣本間的差異。通過青霉素生產(chǎn)過程實例進行仿真實驗,將ILNS-kNN與PCA、kPCA(kernel Principal Component Analysis)、FD-kNN方法作比較分析。
k近鄰方法(FD-kNN)的基本思想是使用樣本與其近鄰的距離度量樣本的差異。首先,在訓練數(shù)據(jù)集中尋找樣本x的前k個近鄰樣本x1,x2,…,xf,…,xk,并計算x到x1,x2,…,xf,…,xk的距離d1,d2,…,dk,其次使用式(1)計算這k個距離的平方和作為檢測指標:
(1)
當多階段樣本數(shù)據(jù)集疏密程度近似相同時,F(xiàn)D-kNN方法能夠較好地完成故障檢測[15]。
當多階段樣本數(shù)據(jù)集疏密程度顯著不同,且故障數(shù)據(jù)是屬于密集階段的微弱故障時,使用FD-kNN進行故障檢測就會出現(xiàn)嚴重問題。
使用數(shù)值例子進行說明,具有2個變量的正常樣本集由兩個階段的各300個數(shù)據(jù)組成:
密集階段1x1~N(-5,0.5),x2~N(-5,0.5)
稀疏階段2x1~N(25,8),x2~N(25,8)
使用同樣分布產(chǎn)生各60個校驗數(shù)據(jù)。再產(chǎn)生分別屬于兩個階段的各5個故障數(shù)據(jù):
f1~f5:x1~N(-3,0.2),x2~N(-3,0.2)
f6~f10:x1~N(2,0.2),x2~N(2,0.2)
所有數(shù)據(jù)分布如圖1(a),正常數(shù)據(jù)是疏密不同的多階段數(shù)據(jù),兩類故障偏離正常樣本集。
圖1 原始數(shù)據(jù)分布及FD-kNN檢測結果
當數(shù)據(jù)集具有多中心且階段數(shù)據(jù)方差差異顯著的特征時,LNS-kNN方法可以完成對大多數(shù)故障的檢測。LNS-kNN先對數(shù)據(jù)進行局部近鄰標準化(LNS)處理,再使用kNN進行故障檢測。
LNS使用樣本所在局部近鄰樣本集的特征對樣本進行標準化。設樣本x是原始數(shù)據(jù)集Xnm中一個樣本,首先尋找其前k近鄰樣本集N(x)={x1,x2,…,xf,…,xk},其次,按式(2)~(3)計算此樣本集的均值m(N(x))和標準差s(N(x)):
(2)
(3)
使用式(4)對樣本x進行標準化:
(4)
對前文的數(shù)據(jù)使用LNS處理,其中k=5,結果如圖2(a),正常樣本集融合為一個階段,故障f1~f5和f8偏離正常樣本,但其余故障混入正常樣本中。所有故障樣本的前5近鄰樣本如表1,正常訓練樣本中前300個樣本屬于第一階段,其余屬于第二階段。
圖2 LNS處理后數(shù)據(jù)分布及LNS-kNN的檢測結果
Tab. 1 Neighbor sets of fault samples in LNS
對于正常樣本而言,其近鄰樣本集N(x)中樣本均來自同一階段。稀疏階段樣本經(jīng)式(4)處理后中心平移到原點且變得比較密集;密集階段樣本經(jīng)式(4)處理后中心也平移到原點且變得比較稀疏。綜上,差操作使兩個階段數(shù)據(jù)中心都平移到原點;商操作調整兩個階段數(shù)據(jù)的疏密程度,使之近似相同。經(jīng)過LNS處理后,兩個階段數(shù)據(jù)融為疏密程度相同的單階段數(shù)據(jù)。
LNS方法對正常樣本的處理達到了所需要效果,對部分故障樣本的標準化卻出現(xiàn)了錯誤,原因在于標準化所使用的樣本集來自不同階段。對樣本x進行標準化時,為了避免所用的近鄰集中的樣本來自不同階段,將式(4)中的N(x)替換為樣本x的第f近鄰樣本xf的近鄰集N(xf),并對結果進行平均化處理,進一步消除樣本的隨機波動,得到一個改進的局部近鄰標準化(ILNS)方法如式(5),使用ILNS方法對x標準化的詳細描述如下。
(5)
ILNS中差操作將各階段數(shù)據(jù)中心都平移到原點,商操作調整各階段數(shù)據(jù)的疏密程度,使之近似相同。
對于故障樣本x而言,其每個近鄰樣本xf為某一階段的正常樣本,xf的近鄰集N(xf)一定都屬于xf所在階段數(shù)據(jù)集,如表2所示,所有故障的第1近鄰的前5近鄰樣本都屬于同一階段,不會出現(xiàn)近鄰樣本集跨越不同階段的情況,除非K的值大于最少樣本階段的樣本數(shù),故用xf的近鄰集N(xf)的均值和標準差能夠有效地對故障樣本進行標準化,換句話說,經(jīng)過ILNS處理后的故障樣本都偏離正常樣本的軌跡。
使用ILNS對前文的數(shù)據(jù)進行處理,其中k=4,K=5,結果如圖3(a),多階段正常樣本集融合為一個階段,且所有故障樣本都偏離正常樣本。
將ILNS方法和kNN相結合,得到基于改進的局部近鄰標準化和k近鄰的故障檢測(ILNS-kNN)方法:首先使用ILNS方法對樣本進行標準化,獲得標準樣本;其次使用kNN計算標準樣本的統(tǒng)計量D2,并將其與控制限進行比較,判定其是否為故障。ILNS-kNN方法的具體計算過程如下。
1)離線建模。
表2 ILNS中故障樣本的第1近鄰的前5近鄰集
圖3 ILNS處理后數(shù)據(jù)分布及ILNS-kNN的檢測結果
2)在線檢測。
圖3(b)為ILNS-kNN方法的故障檢測結果,統(tǒng)計量D2檢測出全部故障。
參數(shù)選取原則 ILNS-kNN中近鄰數(shù)K越大越好,但不能超過各階段樣本數(shù)的最小值。各階段樣本數(shù)事先未知,可以在離線建模時以經(jīng)ILNS處理后數(shù)據(jù)和高斯分布的吻合程度最優(yōu)為基準來選取。
青霉素發(fā)酵過程可分為兩個階段:1)青霉菌適應生長繁殖階段,青霉菌經(jīng)過短時間的適應開始快速生長和繁殖,此階段伴隨著葡萄糖底料的快速消耗;2)青霉菌合成青霉素階段,青霉菌開始生產(chǎn)青霉素,此階段為了保持生長速率和青霉素的高質量,需要向反應器中補充葡萄糖物料。
Pensim平臺可以實現(xiàn)青霉素發(fā)酵過程的仿真,能夠模擬在不同生產(chǎn)條件下青霉素發(fā)酵過程變量的變化,有很多相關研究成果已表明該仿真軟件具有很高的有效性和實用性,它為使用基于數(shù)據(jù)驅動的多元統(tǒng)計方法進行過程故障診斷與監(jiān)測提供了一個標準平臺[23-25]。Pensim包含5個輸入變量可以控制發(fā)酵過程參數(shù)變化,9個過程變量是菌體合成及生長中產(chǎn)生的,5個質量變量影響青霉素的產(chǎn)量??梢栽?個變量:空氣流量、攪拌功率、底物流速率上引入擾動產(chǎn)生故障,擾動的類型有階越和斜坡兩種,并可進一步設定兩種擾動的幅度,擾動的引入時間和終止時間[23]。
本文使用Pensim平臺對青霉素發(fā)酵過程進行仿真來生產(chǎn)數(shù)據(jù),仿真時間設定為500 h,采樣時間設定為0.5 h。全部采用系統(tǒng)默認參數(shù)產(chǎn)生一個正常批次數(shù)據(jù),用來建模。從圖4(a)可看出正常樣本分為兩個階段。另外,在空氣流量、攪拌功率、底物流速率三個變量上分別設置階越和斜坡信號,其余參數(shù)均采用默認值,生產(chǎn)6個批次故障數(shù)據(jù),故障數(shù)據(jù)描述如表3。
表3 故障樣本
本文選取空氣流量、攪拌功率、底物流速率、底物流溫度、底物濃度、溶解氧濃度、菌體濃度、青霉素濃度、CO2濃度、PH值、反應器溫度、反應熱等12個主要變量作為故障檢測變量。使用ILNS-kNN與PCA、kPCA、FD-kNN方法對青霉素發(fā)酵過程進行故障檢測,并對檢測結果進行對比分析。表4給出了所有方法的故障檢測率,圖5給出了故障f4的檢測。
從空氣流量和攪拌功率變量圖5(a)可看出,發(fā)酵過程明顯分為兩個階段,前43 h為青霉菌生長階段,43 h后為青霉素生產(chǎn)階段。發(fā)酵過程數(shù)據(jù)分為兩部分,不滿足PCA和kPCA的統(tǒng)計量T2和SPE對變量服從多元高斯分布的假設,這使得PCA和kPCA的統(tǒng)計量T2和SPE對故障f2、 f4、 f5、 f6的檢測效果不佳。
表 4 4種方法的故障檢測率對比
圖4 正常青霉素樣本
圖5 過程故障監(jiān)測
FD-kNN能夠對階段數(shù)據(jù)方差差異不明顯的多階段過程故障進行檢測,但當兩個階段數(shù)據(jù)的方差顯著不同時其控制限錯誤地被稀疏階段數(shù)據(jù)決定,造成對密集階段的某些微弱故障檢測率明顯下降[19-20],故障f5、 f6正是此類故障。
從圖5(b)可看出經(jīng)ILNS處理后正常兩階段數(shù)據(jù)融合為一個階段,且其概率分布圖5(d)表明其近似服從多元高斯分布,所以ILNS-kNN方法對微弱故障f5、 f6的檢測率較高。
另外,圖6給出了FD-kNN和ILNS-kNN方法統(tǒng)計量的相關性。FD-kNN方法不同時刻樣本的統(tǒng)計量顯著相關,與圖5(c)中訓練樣本的統(tǒng)計值具有變化趨勢相一致,ILNS-kNN方法消除了樣本間的相關性,使得不同時刻樣本的統(tǒng)計量不相關,與圖5(d)中訓練樣本的統(tǒng)計值平穩(wěn)趨勢相一致。
圖6 統(tǒng)計量的自相關性
多階段過程的階段數(shù)據(jù)方差不同的特性使得FD-kNN方法對密集階段的微弱故障出現(xiàn)了誤報。本文提出了一種改進的局部近鄰標準化和kNN相結合的故障檢測方法,使用樣本的局部近鄰樣本的局部近鄰集的均值和標準差來標準化樣本,克服了多階段過程數(shù)據(jù)的多中心和不同階段數(shù)據(jù)方差差異顯著的缺點,同時避免了所用近鄰集跨越不同階段的缺陷,使樣本集融合為近似符合多元高斯分布的單一階段數(shù)據(jù)。ILNS-kNN在保持對一般多階段過程故障的檢測能力的同時,能夠對各階段方差差異明顯的多階段過程故障進行檢測。