唐徐佳, 盧偉鵬, 顏學(xué)峰
(華東理工大學(xué)能源化工過程智能制造教育部重點(diǎn)實(shí)驗(yàn)室, 上海 200237)
隨著科學(xué)技術(shù)的進(jìn)步,工業(yè)過程的生產(chǎn)規(guī)模不斷擴(kuò)大并且生產(chǎn)環(huán)境變得更加復(fù)雜,人們對(duì)產(chǎn)品質(zhì)量和安全生產(chǎn)提出了更高的要求,對(duì)復(fù)雜工業(yè)過程的監(jiān)測(cè)尤為重要。工業(yè)分布式系統(tǒng)和傳感器的廣泛應(yīng)用可以方便地收集大量數(shù)據(jù)[1],數(shù)據(jù)的存儲(chǔ)和傳輸更加高效,為數(shù)據(jù)驅(qū)動(dòng)方法提供了數(shù)據(jù)基礎(chǔ)[2]。多元統(tǒng)計(jì)方法在實(shí)際故障監(jiān)測(cè)中被廣泛應(yīng)用,其基本方法有主成分分析(Principal Component Analysis, PCA)、偏最小二乘法、獨(dú)立成分分析和典型相關(guān)分析[3]。為了監(jiān)測(cè)非線性工業(yè)過程,Lee 等[4]將核主成分分析(Kernel Principal Component Analysis, KPCA)應(yīng)用于故障監(jiān)測(cè),而后基于該思想的監(jiān)測(cè)方法相繼被提出。然而,在實(shí)際過程中,變量的線性和非線性特征有著復(fù)雜的聯(lián)系,需要進(jìn)一步研究。為了解決這一問題,Jiang 等[5]提出了一種基于判別算法的并行PCA - KPCA 方法;首先將變量分為線性和非線性兩類,接著對(duì)變量分別使用PCA 和KPCA 進(jìn)行監(jiān)測(cè)。Jiang 等[6]進(jìn)一步解釋為一些特征值大的特征可能對(duì)故障不敏感。
隨著海量數(shù)據(jù)和日益復(fù)雜的工業(yè)流程,在線特征選擇變得耗時(shí)。集成學(xué)習(xí)方法的出現(xiàn)為敏感特征提取提供了新的思路。集成建模的思想是通過形成和組合大量的基礎(chǔ)模型來提高系統(tǒng)性能。利用不同的數(shù)據(jù)集提取不同的變量,采用不同的組合方法都可以形成差異化子模型。在過程監(jiān)控領(lǐng)域,Li 等[7]使用了11 種不同核參數(shù)的基模型來監(jiān)控復(fù)雜的非線性過程。Zhan 等[8]發(fā)現(xiàn)不同的局部和全局占比系數(shù)會(huì)影響系統(tǒng)性能,而后,整合不同局部全局比例參數(shù)的子模型,可以提高模型的監(jiān)測(cè)效果。
基于上述分析,為了提取對(duì)當(dāng)前故障最有效的特征,提出了一種基于PCA 和KPCA方法的集成模型,即自適應(yīng)集成殘差PCA (Adaptive Ensemble Residual Principal Component Analysis, AERPCA)。
KPCA 是最常用的非線性過程監(jiān)測(cè)方法,對(duì)于一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)集X∈Rn×m(其中n和m分別是樣本數(shù)量及變量個(gè)數(shù)),對(duì)于第i個(gè)和第j個(gè)樣本,核矩陣K計(jì)算如下:
其中:K需要中心化為,ker 代表核函數(shù),常用的核函數(shù)是高斯核函數(shù),新的特征可以通過以下方式得到:
其中:n表示樣本個(gè)數(shù), αi和di分別代表第i個(gè)特征向量和特征值。
通過計(jì)算累積百分率(Cumulative Percent Variance,CPV)方法,可以得到主成分?jǐn)?shù)量kN。對(duì)于樣本點(diǎn)s,樣本數(shù)據(jù)xs∈Rm,其第i個(gè)主成分的計(jì)算方法為:
其中:t代表主成分;核向量ks∈Rn,其第i個(gè)元素為[ks]i=ker(xi,xs)。
為了進(jìn)行系統(tǒng)監(jiān)測(cè),指標(biāo)T2和Q分別用于主空間和殘差空間的監(jiān)控,對(duì)于樣本點(diǎn)s,兩個(gè)指標(biāo)的計(jì)算式分別如下:
其中: Λ=diag(di) ,控制限和Qlim都是通過核密度估計(jì)(Kernel Density Estimation, KDE)[4]計(jì)算得來。
圖1 示出了AERPCA 的整體結(jié)構(gòu),其中PL,dL表示將選出的特征放在前面,其余特征放在后面。圖2 示出了每個(gè)殘差空間對(duì)應(yīng)的集成KPCA 子模型的計(jì)算步驟,其簡(jiǎn)化了KPCA 子模型的挑選步驟,其中PN,i,dN,i表示在第i個(gè)殘差空間下KPCA 的特征值和特征向量。
圖1 AERPCA 的整體結(jié)構(gòu)Fig.1 Overall structure of AERPCA
圖2 集成KPCA 的結(jié)構(gòu)Fig.2 Structure of KPCA integration
該模型主要由以下3 個(gè)步驟組成:(1)在主空間中生成mL個(gè)PCA 子模型;(2)在每個(gè)殘差空間中生成對(duì)應(yīng)的綜合KPCA 子模型;(3)通過使用自適應(yīng)算法選擇最終模型。具體為:
(1)第1 層:PCA 特征層。對(duì)于第iL個(gè)PCA 子模型,隨機(jī)選擇fL個(gè)特征,用以形成主空間線性特征,剩余的殘差空間線性特征組成。由=可獲得由所選主成分(Principal Component, PC)所構(gòu)成的得分矩陣,由此可將原始數(shù)據(jù)矩陣分解為以下兩部分:
對(duì)于第iL個(gè)線性子模型,在樣本點(diǎn)xs,其主空間的監(jiān)測(cè)指標(biāo)計(jì)算如下:
(2)第2 層:KPCA 特征層??紤]到有效信息分散在剩余空間中,為了聚集這些信息,就需要將提取得到的非線性特征做進(jìn)一步劃分,以形成KPCA 子模型。對(duì)于第j個(gè)KPCA 子模型,在樣本點(diǎn)xs下,其監(jiān)測(cè)指標(biāo)為:
在獲得用于聚集有效殘差特征的殘差子空間之后,使用貝葉斯集成來組合這些子空間以獲得監(jiān)測(cè)指標(biāo)并監(jiān)控整個(gè)殘差空間。貝葉斯推理方法將監(jiān)控結(jié)果與加權(quán)平均相結(jié)合,以獲得最終概率結(jié)果[9]。在殘差空間的新樣本xs,其第j個(gè)KPCA 子模型發(fā)生故障的概率計(jì)算如下:
其中: F 和 N 分別表示異常和正常狀態(tài);p(F) 和p(N)分別表示異常和正常狀態(tài)的先驗(yàn)概率,值分別為 1?α 和 α ; α 表示置信水平,通常為95%~99%。異常和正常狀態(tài)的條件概率計(jì)算分別如下:
在獲得所有mN個(gè)KPCA 子模型的后,第i個(gè)集成KPCA 子模型的監(jiān)測(cè)指標(biāo)計(jì)算如下:
在本模型中,所有PCA 和KPCA 子模型都是由差異子模型生成策略產(chǎn)生的。在本小節(jié)中,將以第iL個(gè)PCA 子模型為例,說明子模型的生成原理,其中1 ≤iL≤mL。
對(duì)于PCA 方法,通過分解協(xié)方差矩陣 Σ ,將得到特征向量矩陣和特征向量通過隨機(jī)選擇fL∈[1,m] 個(gè)具有相同權(quán)重且不同的特征向量來獲得候選PCA 子模型。重復(fù)mCL次上述操作,其中mCL?mL,可以獲得mCL個(gè)候選PCA 子模型。
對(duì)于第iCL候選子模型,∈Rm表示挑選出的特征,其每個(gè)元素由0 和1 組成,其中1 表示相同位置的特征被選擇,若該特征不被選擇則值為0。表示兩個(gè)子模型之間的差異。在生成mCL個(gè)候選子模型之后,通過篩選機(jī)制,挑選出差異最大的mL個(gè)PCA 子模型。
篩選機(jī)制采用了一種自底向上的層次聚類算法single-linkage clustering[10]。首先,將每個(gè)候選模型用作基模型,然后在算法的每個(gè)步驟中將兩個(gè)最近的聚類進(jìn)行聚合。其中,對(duì)于兩個(gè)簇A和B,其距離可以由式(14)計(jì)算得來:
當(dāng)達(dá)到預(yù)設(shè)的聚類數(shù)量即預(yù)期的子模型數(shù)量mL時(shí),將在每個(gè)類別中隨機(jī)選擇一個(gè)代表性模型作為PCA 子模型。
為了讓每個(gè)子模型對(duì)最終指標(biāo)具有相同的影響,就需要將mL個(gè)PCA 子模型和mL個(gè)集成KPCA子模型的監(jiān)測(cè)指標(biāo)標(biāo)準(zhǔn)化。對(duì)于i個(gè)PCA 子模型,標(biāo)準(zhǔn)化后的監(jiān)測(cè)指標(biāo)如下:
自適應(yīng)模型選擇的原理是:在該樣本點(diǎn)的滑動(dòng)窗口w中,選擇具有最佳監(jiān)測(cè)效果的模型。具體來說,使用故障檢測(cè)數(shù)(Fault Detection Number, FDN)判斷子模型的監(jiān)測(cè)效果,如果子模型的故障報(bào)警率(Fault Alarm Rate, FAR)太高,那么此時(shí)的FDN 是無效的。因此,一部分驗(yàn)證數(shù)據(jù)被用來挑選出FAR ≤1?α的子模型。當(dāng)沒有達(dá)到窗口w的寬度時(shí),則由所有模型的平均值作為此時(shí)的監(jiān)測(cè)指標(biāo)AT2。對(duì)于樣本xs,自適應(yīng)模型選擇的公式為:
其 中 :best=index[max(FDN(pT12,s),FDN(PT22,s),···,FDN())],代表在區(qū)間 [s?w,s] 中具有最佳監(jiān)測(cè)效果的模型編號(hào)。滑動(dòng)窗口w是一個(gè)待定的參數(shù),建議取值為 50 ~250[11]。
2.4.1 離線建模階段檢測(cè)步驟
(1)訓(xùn)練集Xtr和驗(yàn)證集Xver標(biāo)準(zhǔn)化,并確定模型的相關(guān)參數(shù):置信度 α 、自適應(yīng)選擇的窗口w、PCA 子模型的個(gè)數(shù)mL、每個(gè)殘差空間的KPCA 子模型個(gè)數(shù)mN。
(2)由訓(xùn)練集Xtr計(jì)算得到協(xié)方差矩陣,而后對(duì)其特征值分解,以獲得PCA 的特征向量矩陣PL和特征值向量dL。
(3)使用子模型生成策略,生成mL個(gè)PCA 子模型,而后計(jì)算每個(gè)子模型的負(fù)載矩陣、得分矩陣和殘差空間,其中,i=1,2,···,mL。
(5)使用子模型生成策略,為每個(gè)殘差空間產(chǎn)生mN個(gè)KPCA 子模型,而后使用貝葉斯集成這mN個(gè)子模型,以形成該空間下的監(jiān)測(cè)指標(biāo)。
(6)使用驗(yàn)證集Xver計(jì)算與,接著使用KDE 方法計(jì)算控制限。
(1)將在線數(shù)據(jù)標(biāo)準(zhǔn)化為Xte,而后輸入到模型中。
(2)使用Xte計(jì)算每個(gè)PCA 子模型的監(jiān)測(cè)指標(biāo)和殘差空間。
(4)使用式(15)~式(17),將PCA 子模型與集成KPCA 子模型集成起來,以形成最終的監(jiān)測(cè)指標(biāo)AT2。
(5)如果AT2>=1 ,代表故障已經(jīng)發(fā)生了。
由文獻(xiàn)[4]提出的基于真實(shí)工業(yè)過程的田納西-伊士曼工廠(Tennessee Eastman Plant, TEP)過程已被學(xué)術(shù)界廣泛用作標(biāo)準(zhǔn)測(cè)試平臺(tái)。在過程數(shù)據(jù)中,有52 個(gè)變量和21 種故障,詳細(xì)描述可在文獻(xiàn)[12]中找到。數(shù)據(jù)集有兩種,分別是500 個(gè)樣本的正常數(shù)據(jù)和960 個(gè)樣本的測(cè)試數(shù)據(jù),如果該數(shù)據(jù)集包含故障,則故障在第161 個(gè)樣本點(diǎn)引入。
本研究選擇了22 個(gè)測(cè)量變量XMEAS(1)~XMEAS(22)和11 個(gè)操縱變量XMV(1)~XMV(11)進(jìn)行監(jiān)測(cè)。500 個(gè)樣本的數(shù)據(jù)集用于訓(xùn)練模型參數(shù),960 個(gè)樣本的驗(yàn)證集用于確定子模型的控制限。KPCA、串行PCA (serial PCA, SPCA)、自適應(yīng)殘差PCA(Adaptive Residual PCA, ARPCA)和AERPCA 使用高斯核函數(shù)。文獻(xiàn)[13]指出,核的寬度為c=500m時(shí),將取得較好的性能,其中m代表變量個(gè)數(shù)。SPCA、KPCA、PCA 和ARPCA的PC 數(shù)量為CPV=85%時(shí)的數(shù)量。為了消除噪聲的影響,選擇CPV 為99.9%的特征作為備選特征,PCA和KPCA 的備選特征數(shù)分別為26 和60。表1 列出了通過試錯(cuò)法得到的AERPCA的具體參數(shù)。
表1 AERPCA 中的參數(shù)設(shè)置Table 1 Parameter setting of AERPCA
通過模型不同層級(jí)間的比較實(shí)驗(yàn),來顯示每層特征選取與集成的作用,其比較實(shí)驗(yàn)結(jié)果如表2 所示。自適應(yīng)PCA(Adaptive PCA, APCA)表示通過選擇不同的線性特征形成不同的模型。ARPCA 表示將每個(gè)殘差空間中的Q指標(biāo)也作為子模型,監(jiān)測(cè)指標(biāo)為FAR 與FDR。根據(jù)TEP 數(shù)據(jù)的特點(diǎn),可進(jìn)一步定義為:
表2 每個(gè)層級(jí)之間的比較Table 2 Comparison between each level
其中 FF 和 TF 分別表示過程正常但被診斷為故障與過程有故障且被診斷為故障的樣本數(shù)。MFDR(Mean FDR)和MFAR (Mean FAR)分別代表21 個(gè)故障的平均FDR 和FAR。
由表2 可知,首先,APCA 的檢測(cè)效果優(yōu)于PCA,PCA 使用正常運(yùn)行數(shù)據(jù)來選擇特征。而APCA 選擇差異化的特征來形成模型,這樣就可以選擇特征值小但對(duì)故障敏感的特征。
其次,ARPCA 的檢測(cè)效果優(yōu)于僅集成PCA 主空間子模型的APCA。原因是APCA 的殘差空間中的故障信息沒有被使用。而某些故障在殘差空間呈現(xiàn),但在主空間中很難檢測(cè)到。因此,在子模型中加入殘差空間的監(jiān)測(cè),也有助于提高監(jiān)測(cè)效果。
最后,AERPCA 的檢測(cè)效果優(yōu)于ARPCA。具體來說, AERPCA 的MFDR 比ARPCA 的MFDR 高3.78,而AERPCA 的MFAR 相比ARPCA 略微下降了2.05。在ARPCA 中,對(duì)故障敏感的特征在殘差空間中的比例很小,這就降低了Q指標(biāo)的故障監(jiān)測(cè)效果。鑒于殘差空間具有很強(qiáng)的非線性,KPCA 可以提取更有效的特征。
故障10 是由物料溫度導(dǎo)致的隨機(jī)故障。圖3和圖4 分別顯示了PCA、KPCA 和AERPCA 的監(jiān)測(cè)圖。在故障監(jiān)測(cè)圖中,藍(lán)色表示正常狀態(tài),紅色表示此時(shí)發(fā)生故障,虛線表示控制限,在PCA、KPCA 監(jiān)測(cè)圖中,Q指數(shù)的監(jiān)測(cè)性能最好。AERPCA 進(jìn)一步提高了監(jiān)測(cè)性能:當(dāng)誤報(bào)率為1.2%時(shí),83.6%的故障可以被發(fā)現(xiàn)。
圖3 TEP 故障F10 的監(jiān)測(cè)圖Fig.3 Monitoring charts for the TEP fault F10
圖4 TEP 故障F10 的AERPCA 監(jiān)測(cè)圖Fig.4 Monitoring charts of AERPCA for the TEP fault F10
為了進(jìn)一步解釋子模型的作用,圖5 和圖6 分別顯示了自適應(yīng)模型挑選策略選擇的模型編號(hào)及每個(gè)子模型的監(jiān)測(cè)圖。其中圖5 縱軸編號(hào)1~4 代表PCA 子模型1~4,5~8 代表集成KPCA 模型1~4。由圖5 可見主空間的模型沒有被選擇。
圖5 TEP 故障F10 的自適應(yīng)挑選子模型過程Fig.5 Adaptive process of each base model for the TEP fault F10
圖6 TEP 故障F10 的每個(gè)子模型的監(jiān)測(cè)圖Fig.6 Monitoring charts of each sub-model for the TEP fault F10
與KPCA 和PCA 的監(jiān)測(cè)圖類似,剛開始主空間的監(jiān)測(cè)效果也不理想。因此,自適應(yīng)算法所選擇的在線模型都來自于殘差空間,而且在不同的時(shí)間選擇不同的模型。為了進(jìn)一步分析這種不同選擇的原因,分別選擇了樣本453、454、455 和樣本873、874、875,分析TEP 故障F10 在樣本區(qū)間的監(jiān)測(cè)圖,如圖7所示。
圖7 TEP 故障F10 在不同樣本區(qū)間的監(jiān)測(cè)圖Fig.7 Monitoring charts for the different sample intervals of the TEP fault F10
在453~455 區(qū)間,所有殘差模型的監(jiān)測(cè)效果都比主空間中的PCA 子模型效果明顯。因此,在線挑選的是殘差模型。然而,同一故障在不同的時(shí)刻會(huì)發(fā)生變化,因此并不是由一個(gè)特定的模型完成所有時(shí)間的監(jiān)測(cè),而是出現(xiàn)了模型間的切換,最終由不同的模型監(jiān)測(cè)。對(duì)于873 號(hào)樣本,選擇了殘差空間中的KPCA2。對(duì)于873、874、875 號(hào)樣本,只有PCA3子模型和KPCA1 子模型可以同時(shí)監(jiān)測(cè)這3 個(gè)樣本點(diǎn)的故障。所選出來的殘差模型更敏感,確實(shí)可以更好地監(jiān)測(cè)當(dāng)前過程。
為了進(jìn)一步驗(yàn)證所提出的AERPCA 模型的有效性,將該方法與經(jīng)典的KPCA 集成方法(Ensemble KPCA (EKPCA)[7]和Ensemble Global Local Preserving Projections (EKGLPP)[8])進(jìn)行比較,并同時(shí)比較了PCA 整合方法 (CPCA)[14],以及PCA和KPCA 組合方法如SPCA[15]。表3 示出了這些模型的MFAR 和MFDR,其中較好的數(shù)據(jù)用粗體字表示。
表3 相關(guān)方法實(shí)驗(yàn)對(duì)比Table 3 Result comparison with relevant methods
由表3 可知,SPCA 取得了良好的效果,在殘差空間的MFDR 為78.55%。該方法使用PCA 和KPCA來表達(dá)特征信息。然而,基于離線數(shù)據(jù)的建模不能適應(yīng)不斷變化的故障。
CPCA 是PCA 集成方法,在殘差空間有更好的識(shí)別效果。其MFDR 為73.30%,表明殘差空間中存在更多的故障信息。然而,為殘余空間建立一個(gè)整體的Q指數(shù)不能完全突出有效信息,而且可能會(huì)受到噪聲的干擾。此外,僅從PCA 的角度提取故障信息并不適合監(jiān)測(cè)復(fù)雜的工業(yè)過程。
EKPCA 和EKGLPP 是KPCA 的集成方法。與單一KPCA 相比,集成模型有一定優(yōu)勢(shì)。然而,與本研究中的方法相比,僅有KPCA 模型的集成有一定的缺陷。原因是KPCA 方法對(duì)某些故障信息的提取可能沒有簡(jiǎn)單的PCA 方法好。在AERPCA 中,主空間的PCA 子模型是通過使用差異化的特征來構(gòu)建的,每個(gè)殘余空間都由差異化的KPCA 模型來監(jiān)控。AERPCA 模型不僅從不同角度提取故障信息,而且還考慮了故障敏感特征,使用自適應(yīng)算法,能夠選擇最符合當(dāng)前故障的模型,因而獲得了更好的結(jié)果。
本文提出了一種基于集成思想的雙層特征提取模型AERPCA,以充分提取復(fù)雜工業(yè)過程中的故障信息。在雙層特征提取中,首先選擇不同的PCA 特征來構(gòu)建子模型,以聚合具有小特征值卻對(duì)故障敏感的特征。然后考慮到殘差空間的有效特征分散與非線性,使用集成KPCA 模型完成殘差空間的劃分和聚合。在得到不同的特征組合后,采用自適應(yīng)方法,根據(jù)在線數(shù)據(jù)選擇具有最佳監(jiān)測(cè)性能的模型。最后,不僅與自身不同層級(jí)間的實(shí)驗(yàn)比較,還與現(xiàn)有方法,如基于集成思想的模型和混合等方法進(jìn)行了比較。實(shí)驗(yàn)結(jié)果顯示了所提出模型在復(fù)雜工業(yè)監(jiān)測(cè)中的優(yōu)勢(shì)。