郭金玉,張安寶, 李 元
(沈陽(yáng)化工大學(xué) 信息工程學(xué)院, 遼寧 沈陽(yáng) 110142)
近年來(lái),因?yàn)榭萍寂c自動(dòng)化水平的提高,工業(yè)生產(chǎn)過(guò)程變得越來(lái)越繁雜,這促使過(guò)程監(jiān)測(cè)控制越來(lái)越得到大家的關(guān)注[1-3].現(xiàn)在有關(guān)數(shù)據(jù)驅(qū)動(dòng)的故障檢測(cè)算法已成為國(guó)內(nèi)和國(guó)外學(xué)術(shù)界的研究熱點(diǎn),用獨(dú)立成分分析(independent component analysis,ICA)和主成分分析(principal component analysis,PCA)做引領(lǐng)的多元統(tǒng)計(jì)分析方法快速興起,而且衍生出大量新的故障檢測(cè)方法[4-6].PCA是一種對(duì)數(shù)據(jù)進(jìn)行全局信息提取的方法,會(huì)造成局部信息的丟失,而且處理多模態(tài)問(wèn)題效果不理想.多模態(tài)間歇過(guò)程的特征是非線性、時(shí)變性和多工況等,這使得多模態(tài)間歇過(guò)程的故障檢測(cè)具有挑戰(zhàn)性.近十幾年來(lái),大量學(xué)者提出了多種多模態(tài)故障診斷方法[7-8].為了處理多模態(tài)間歇過(guò)程的故障檢測(cè)問(wèn)題,He等[9]提出基于k近鄰(k-nearest neighbor,KNN)的故障檢測(cè)方法.KNN 算法對(duì)多模態(tài)問(wèn)題是有效的,不過(guò)對(duì)于樣本量大的數(shù)據(jù)集KNN計(jì)算量很大,并且對(duì)方差差別很大的多模態(tài)樣本,檢測(cè)效果不理想.另外,KNN每進(jìn)行一次檢測(cè)都會(huì)再次執(zhí)行整體計(jì)算.馬賀賀等[10]提出用局部離群因子(local outlier factor,LOF)的方法實(shí)現(xiàn)多模態(tài)過(guò)程的監(jiān)視與控制.由于LOF值對(duì)基于相異密度的數(shù)據(jù)集群都適用,因此,可以通過(guò)獲取目標(biāo)的LOF值來(lái)更加準(zhǔn)確地?cái)喽ㄔ肼朁c(diǎn).不過(guò)該算法也有一定的局限性,其計(jì)算比較繁雜,準(zhǔn)確性不高.最近幾年,以實(shí)時(shí)監(jiān)測(cè)多工況生產(chǎn)過(guò)程中的故障為目的,劉幫莉等[11]提出關(guān)于局部密度估量的多模態(tài)過(guò)程監(jiān)視控制方法;Deng等[12]提出關(guān)于局部近鄰相似度分析的多模態(tài)故障診斷方案,并運(yùn)用到連續(xù)過(guò)程的故障診斷中;Yang等[13]提出了一個(gè)混合概率主成分分析(aligned mixture probabilistic principal component analysis,AMPPCA)的多模態(tài)故障診斷算法;Jiang等[14]提出基于聯(lián)合概率密度和雙加權(quán)的獨(dú)立成分分析的方法對(duì)多模態(tài)過(guò)程進(jìn)行故障診斷.關(guān)于非等長(zhǎng)的多模態(tài)問(wèn)題,Guo等[15]提出了局部近鄰標(biāo)準(zhǔn)化矩陣(local neighbor normalized matrix,LNNM)的多模態(tài)故障診斷方案.
傳統(tǒng)的PCA算法能準(zhǔn)確地對(duì)工業(yè)過(guò)程中的線性數(shù)據(jù)實(shí)現(xiàn)故障診斷,不過(guò)對(duì)繁雜的多模態(tài)過(guò)程檢測(cè)效果不理想.Guo等[16]提出了加權(quán)差分主成分分析(weighted differencial principal component analysis,WDPCA)的多模態(tài)故障診斷算法,這算法能讓離散程度差異不大的多模態(tài)數(shù)據(jù)在預(yù)處理后大致服從高斯分布.在每個(gè)模態(tài)間離散程度差異很大時(shí),WDPCA對(duì)離散程度較小的模態(tài)中微弱故障點(diǎn)的檢測(cè)效果較差.為此本文提出一種基于二階差商PCA(second-order difference quotient PCA,SODQPCA)的故障檢測(cè)算法,用二階差商的方法對(duì)原始數(shù)據(jù)實(shí)現(xiàn)預(yù)處理,剔除原始數(shù)據(jù)的多模態(tài)特性;把通過(guò)預(yù)處理后的數(shù)據(jù)使用PCA 實(shí)現(xiàn)故障檢測(cè).該方法能有效提升傳統(tǒng) PCA 在多模態(tài)數(shù)據(jù)中的檢測(cè)效果.
假設(shè)X是m×n維數(shù)據(jù)矩陣,m為樣本數(shù),n為變量數(shù),數(shù)據(jù)X可分解為n個(gè)向量外積之和,即
(1)
一般數(shù)據(jù)的變化體現(xiàn)在前l(fā) (2) 式中:ti是得分(score)向量;Pi是負(fù)載(loading)向量;X的得分向量也稱為X的主元.用ti組建的矩陣T叫做得分矩陣,用Pi構(gòu)建的矩陣P叫做負(fù)載矩陣. 差分算法[17]是一種線性化方法,能將多模態(tài)數(shù)據(jù)預(yù)處理為單模態(tài)數(shù)據(jù)進(jìn)行檢測(cè).為了消除數(shù)據(jù)的多模態(tài)特性,將差分算法引入到數(shù)據(jù)預(yù)處理中,其計(jì)算方式為 (3) (4) (5) 一次差分消除數(shù)據(jù)的多中心結(jié)構(gòu),同時(shí)能保持當(dāng)前樣本與其近鄰之間的位置信息.為了描述數(shù)據(jù)的結(jié)構(gòu)差異,定義樣本xi的二次差分如下: dd=ω[d-d(k)]. (6) 這里的ω=1/‖d(k)‖是一個(gè)權(quán)重參數(shù).原始數(shù)據(jù)經(jīng)過(guò)二階差商運(yùn)算后,消除數(shù)據(jù)的多模態(tài)特性,也消除了模態(tài)間的方差差異. 傳統(tǒng)的PCA算法通常僅用在單模態(tài)線性數(shù)據(jù)的過(guò)程檢測(cè),對(duì)多模態(tài)數(shù)據(jù)的檢測(cè)性能下降.為了提升PCA在模態(tài)間離散程度差異顯著的多模態(tài)數(shù)據(jù)檢測(cè)中的性能,本文提出一種二階差商PCA的故障檢測(cè)算法.運(yùn)用二階差商算法消除原始數(shù)據(jù)中多模態(tài)特性和每個(gè)模態(tài)的方差差異,再運(yùn)用PCA進(jìn)行檢測(cè),能有效提升傳統(tǒng)PCA在離散程度差異顯著的多模態(tài)數(shù)據(jù)檢測(cè)中的效果.二階差商PCA算法對(duì)多模態(tài)過(guò)程實(shí)現(xiàn)故障檢測(cè),具體分為兩個(gè)步驟:離線建模與在線檢測(cè). 離線建模過(guò)程如下: (1) 獲取正常操作的數(shù)據(jù)集.如果有n個(gè)傳感器,每一個(gè)傳感器有m個(gè)采樣點(diǎn),則測(cè)量數(shù)據(jù)矩陣為X=[x1,x2,…,xm]T∈Rm×n,式中X的每一列為一個(gè)測(cè)量變量,X的每一行為一個(gè)測(cè)量樣本. (2) 利用二階差商法對(duì)X進(jìn)行預(yù)處理,消除原始數(shù)據(jù)中多模態(tài)特性和模態(tài)間的方差差異. (3) 把預(yù)處理之后的數(shù)據(jù)矩陣歸一化,讓它的每列具有均值為0和方差為1的特性,X1是歸一化后的矩陣. (4) 計(jì)算歸一化后矩陣X1的協(xié)方差矩陣S,求其特征向量與特征值. (7) (5) 選擇主元數(shù)l,負(fù)載矩陣P由前l(fā)個(gè)特征向量組成. (6) 計(jì)算得分矩陣T: T=XP. (8) (8) 計(jì)算檢測(cè)指標(biāo)SPE(Q)與T2: Q=eeT=X(I-PPT)XT, (9) T2=XTPΛ-1PTX. (10) (9) 運(yùn)用核密度估計(jì)法[18-19](kernel density estimation,KDE)分別求出SPE與T2的控制限. 在線檢測(cè)過(guò)程如下: (1) 對(duì)于新來(lái)的一個(gè)樣本xnew,運(yùn)用二階差商算法預(yù)處理后為xnew1,再使用建模數(shù)據(jù)的均值和方差將xnew1歸一化為xnew2. 現(xiàn)給出兩個(gè)例子,分別驗(yàn)證基于二階差商PCA的多模態(tài)過(guò)程故障檢測(cè)方法的有效性.第一個(gè)例子是具有稀疏多模態(tài)特性的數(shù)值例子;第二個(gè)例子是半導(dǎo)體生產(chǎn)過(guò)程數(shù)據(jù). 假設(shè)有兩個(gè)不同模態(tài)的數(shù)據(jù),每個(gè)模態(tài)都有400個(gè)樣本,每個(gè)樣本有6個(gè)變量,在每個(gè)模態(tài)中是獨(dú)立的.在模態(tài)1中,變量x1和x2均服從[-100,1]的正態(tài)分布,變量x3和x4均服從[18,26]的正態(tài)分布,變量x5和x6均服從[-23,7]的正態(tài)分布;在模態(tài)2中,變量x1和x2均服從[13,20]的正態(tài)分布,變量x3和x4均服從[-70,6]的正態(tài)分布,變量x5和x6均服從[10,22]的正態(tài)分布.圖1是訓(xùn)練樣本、校驗(yàn)樣本和故障樣本的數(shù)據(jù)分布散點(diǎn)圖. 圖1 數(shù)據(jù)分布散點(diǎn)圖Fig.1 Scatter plot of data distribution 對(duì)多模態(tài)數(shù)值例子,運(yùn)用PCA、差分主成分分析(differencial principal component analysis,DPCA)[17]、WDPCA和SODQPCA方法的檢測(cè)結(jié)果如圖2所示. 圖2 四種算法對(duì)多模態(tài)數(shù)值例子的檢測(cè)結(jié)果Fig.2 Detection results of four algorithms for multi-modal numerical examples 通過(guò)累計(jì)貢獻(xiàn)率來(lái)計(jì)算四種算法的主元數(shù).從圖2可以看出:PCA算法的SPE統(tǒng)計(jì)量檢測(cè)到3個(gè)故障樣本,誤報(bào)了28個(gè)樣本;T2統(tǒng)計(jì)量檢測(cè)到1個(gè)故障樣本,誤報(bào)了15個(gè)樣本.DPCA算法的SPE統(tǒng)計(jì)量檢測(cè)到3個(gè)故障樣本,誤報(bào)了22個(gè)樣本;T2統(tǒng)計(jì)量檢測(cè)到3個(gè)故障樣本,誤報(bào)了23個(gè)樣本.WDPCA算法的SPE統(tǒng)計(jì)量檢測(cè)到3個(gè)故障樣本,誤報(bào)了24個(gè)樣本;T2統(tǒng)計(jì)量檢測(cè)到3個(gè)故障樣本,誤報(bào)了9個(gè)樣本.SODQPCA算法的SPE統(tǒng)計(jì)量檢測(cè)到所有的故障樣本,誤報(bào)了17個(gè)樣本;T2統(tǒng)計(jì)量檢測(cè)到4個(gè)故障樣本,誤報(bào)了3個(gè)樣本.與 PCA、DPCA和WDPCA方法相比,SODQPCA故障檢測(cè)率較高,誤報(bào)率相對(duì)較低,從而驗(yàn)證SODQPCA算法的有效性. 表1為PCA、DPCA、WDPCA和SODQPCA算法對(duì)多模態(tài)數(shù)據(jù)的檢測(cè)結(jié)果. 表1 多模態(tài)數(shù)值例子的檢測(cè)結(jié)果Table 1 Detection results of multi-modal numerical example 從表1可以看出:SODQPCA算法有誤報(bào),但與其他三種算法相比,誤報(bào)率較低,而且算法的故障檢測(cè)效果也最好.綜上所述,SODQPCA檢測(cè)效果是四種算法中最好的,驗(yàn)證了該方法對(duì)多模態(tài)數(shù)據(jù)故障檢測(cè)的優(yōu)越性. 半導(dǎo)體生產(chǎn)過(guò)程作為一個(gè)完善的工業(yè)過(guò)程仿真平臺(tái),廣泛應(yīng)用于基于數(shù)據(jù)驅(qū)動(dòng)的故障檢測(cè)領(lǐng)域.現(xiàn)應(yīng)用半導(dǎo)體工業(yè)實(shí)例——A1堆腐蝕過(guò)程[20-23]的數(shù)據(jù)比較四種故障檢測(cè)方法的性能.半導(dǎo)體工業(yè)數(shù)據(jù)中有3個(gè)模態(tài)的108個(gè)正常硅片與21個(gè)故障硅片數(shù)據(jù).因?yàn)閮蓚€(gè)批次存在數(shù)據(jù)丟失,導(dǎo)致能用的僅有107個(gè)正常批次與20個(gè)故障批次的數(shù)據(jù).其中第一模態(tài)由1~34批次構(gòu)成,第二模態(tài)由35~70批次構(gòu)成,第三模態(tài)由71~107批次構(gòu)成.在每個(gè)模態(tài)中隨機(jī)選32個(gè)批次來(lái)建立模型,其他的正常批次當(dāng)作校驗(yàn)批次以證明模型的可靠性,所以建模批次為96個(gè),11個(gè)正常校驗(yàn)批次,20個(gè)故障批次.在40個(gè)測(cè)量變量中選取17個(gè)變量[15]. 每一個(gè)批次都是不等長(zhǎng)的,持續(xù)時(shí)間在95~112 s 之間.本文采取最短長(zhǎng)度法得到等長(zhǎng)的批次數(shù)據(jù).因?yàn)閭鞲衅鏖_(kāi)始時(shí)存在波動(dòng),丟棄開(kāi)始的5個(gè)樣本,用剩下的85個(gè)樣本來(lái)迎合最短的批次. 把三維建模數(shù)據(jù)X(96×85×17)、校驗(yàn)數(shù)據(jù)V(11×85×17)和故障數(shù)據(jù)F(20×85×17)分別沿著批次方向展開(kāi)為二維矩陣X(96×1445)、V(11×1445)和故障數(shù)據(jù)F(20×1445).對(duì)二維數(shù)據(jù)矩陣分別運(yùn)用PCA、DPCA、WDPCA和SODQPCA方法進(jìn)行建模,對(duì)11個(gè)校驗(yàn)批次與20個(gè)故障批次進(jìn)行故障檢測(cè).圖3為PCA、DPCA、WDPCA和SODQPCA算法對(duì)半導(dǎo)體數(shù)據(jù)的檢測(cè)結(jié)果.從圖3可以看出:PCA算法的SPE統(tǒng)計(jì)量檢測(cè)到17個(gè)故障批次,誤報(bào)了3個(gè)批次;T2統(tǒng)計(jì)量檢測(cè)到5個(gè)故障批次,沒(méi)有誤報(bào)批次.DPCA算法的SPE統(tǒng)計(jì)量檢測(cè)到18個(gè)故障批次,誤報(bào)了3個(gè)批次;T2統(tǒng)計(jì)量檢測(cè)到5個(gè)故障批次,沒(méi)有誤報(bào)批次.WDPCA算法的SPE統(tǒng)計(jì)量檢測(cè)到18個(gè)故障批次,誤報(bào)了1個(gè)批次;T2統(tǒng)計(jì)量檢測(cè)到15個(gè)故障批次,沒(méi)有誤報(bào)批次.SODQPCA算法的SPE統(tǒng)計(jì)量檢測(cè)到全部的故障批次,而且沒(méi)有誤報(bào)批次;T2統(tǒng)計(jì)量檢測(cè)出5個(gè)故障批次,沒(méi)有誤報(bào)批次. 圖3 四種算法對(duì)半導(dǎo)體過(guò)程數(shù)據(jù)的檢測(cè)結(jié)果Fig.3 Detection results of four algorithms for semiconductor process data 與其他三種算法相比,SODQPCA算法在半導(dǎo)體數(shù)據(jù)的故障檢測(cè)中效果最好,說(shuō)明該算法可以有效地處理多模態(tài)數(shù)據(jù),提高了傳統(tǒng)PCA算法對(duì)多模態(tài)數(shù)據(jù)的檢測(cè)效果. 表2為四種算法對(duì)半導(dǎo)體數(shù)據(jù)的檢測(cè)結(jié)果.由表2能夠看出:SODQPCA的故障檢測(cè)效果最好,SODQPCA算法的SPE檢測(cè)指標(biāo)檢測(cè)到所有的故障批次,而且沒(méi)有出現(xiàn)誤報(bào),明顯好于其他三種算法.綜上所述,與其他三種算法對(duì)比,SODQPCA算法有較低的誤報(bào)率與漏報(bào)率,說(shuō)明這個(gè)方法對(duì)多模態(tài)數(shù)據(jù)的故障檢測(cè)非常有效,驗(yàn)證了該算法的有效性和優(yōu)越性. 表2 四種算法對(duì)半導(dǎo)體數(shù)據(jù)的檢測(cè)結(jié)果Table 2 Detection results of four algorithms for semiconductor data 續(xù)表 提出一種基于二階差商PCA的多模態(tài)過(guò)程故障檢測(cè)方法.該算法適用于模態(tài)間稀疏程度不一致的多模態(tài)過(guò)程故障檢測(cè),可以最大化地分離多模態(tài)的正常數(shù)據(jù)和故障數(shù)據(jù).利用二階差商的方法對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,可以有效去除原始數(shù)據(jù)的多模態(tài)特性和模態(tài)間的方差差異,改良傳統(tǒng)PCA算法在多模態(tài)數(shù)據(jù)檢測(cè)過(guò)程中的不足.把這個(gè)方法應(yīng)用于數(shù)值例子和實(shí)際的半導(dǎo)體工業(yè)過(guò)程中,與傳統(tǒng)的故障檢測(cè)算法比較,該算法的故障檢測(cè)率最高,誤報(bào)率較低,證明了這個(gè)算法的優(yōu)越性.1.2 差分算法
1.3 二階差商預(yù)處理算法
1.4 二階差商PCA算法在故障檢測(cè)中的應(yīng)用
2 仿真結(jié)果與分析
2.1 數(shù)值例子
2.2 半導(dǎo)體生產(chǎn)過(guò)程數(shù)據(jù)
3 結(jié) 論