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