?

基于改進偏最小二乘法的多模態過程故障檢測方法

2019-01-07 12:25吳昊俁馮立偉
計算機應用 2018年12期
關鍵詞:青霉素方差模態

李 元,吳昊俁,張 成,馮立偉

(1.沈陽化工大學 信息工程學院,沈陽 110142; 2.沈陽化工大學 數理系,沈陽 110142)(*通信作者電子郵箱li-yuan@ mail.tsinghua.edu.cn)

0 引言

隨著科學技術的發展,現代工業生產系統變得越來越龐大和復雜,而這些系統一旦發生故障,便會造成不可估量的財產損失甚至人員傷亡[1]。工業生產過程中進行過程控制、監測、故障檢測及診斷能夠確保過程的穩定運行和安全可靠[2-3]。因此,人們迫切需要提高復雜系統的可靠性和可維護性。系統的故障診斷技術可以有效地提高系統的可靠性與安全性,降低事故風險,提高經濟效益。故障診斷技術通常采用解析模型的方法以及數據驅動等方法進行分析[4-6]。本文采用數據驅動的方法進行研究,因為數據驅動技術不需要事先已知一個系統的精確數學模型便能對它實現控制、故障診斷,而解析模型方法需要精確的數學模型所以很難實現[6-7]。

數據驅動的方法包含五大類:機器學習、信息融合、多元統計分析、粗糙集、信號處理[8]。本文采用的是多元統計分析的方法?;诙嘣y計分析方法的故障監測是利用過程中多個變量之間的相關性對過程進行故障檢測[9-10]。這類方法根據過程變量的歷史數據,利用多元投影方法將多變量樣本空間分解成由主元變量張成的較低維的投影子空間和一個相應的殘差子空間,并分別在這兩個空間中構造能夠反映空間變化的統計量,然后將觀測向量分別向兩個子空間投影并計算相應的統計量指標用于過程監控[11-13]。常用的多元投影方法主成分分析(Principal Component Analysis, PCA)、偏最小二乘法(Partial Least Squares, PLS),以及獨立主元分析(Independent Component Analysis, ICA)[13-17]。針對非線性和多工況等特征,基于K近鄰的故障檢測方法(Fault Detection method based onKNearest Neighbors, FD-KNN)利用局部距離之和D2檢測,該方法提高了非線性和多模態中大尺度故障的檢測能力;然而,當數據為多模態且方差差異較大時,其故障檢測能力降低。本文所采用的方法是基于偏最小二乘法(PLS)進行改進。

偏最小二乘法(PLS)是多元統計分析方法中的一種,PLS 通過將高維空間數據投影到低維特征空間,得到相應的特征向量,再建立特征向量間的線性回歸關系[18]。 PLS 利用輸入對輸出的預測作用選取特征向量,去除了對回歸無益的噪聲,能夠針對影響最終產品質量的故障進行診斷;同時還可以通過提取更少的主元去解釋更多的與質量相關的變化,因此更適合檢測與質量變量相關的故障。 該方法已經在過程建模、監控和故障診斷等領域得到了廣泛應用[19]。雖然基于 PLS 的質量相關的故障檢測技術已經在化工及制藥等生產過程中得到了廣泛應用,但是仍然存在一些問題:1)PLS 模型需要選擇較多的主元來描述與質量相關的變化,使得模型的解釋非常困難,而且這些主元中依然含有一些和質量變量正交的成分,對預測產品質量沒有幫助;2)多模態過程是多中心、非高斯、非線性的,而PLS 的監控指標T2元高斯分布,多模態過程數據具有多中心的結構不滿足該假設,因此應用 PLS對多模態數據進行故障檢測時效果不佳。針對多模態數據多中心和模態方差差異明顯問題,本文提出了一種基于局部近鄰標準化(Local Neighborhood Standardization, LNS)的PLS(PLS based on LNS, LNS-PLS)方法用于多模態過程故障檢測。

1 基于LNS-PLS的多模態過程故障檢測

1.1 PLS基本算法

對于某個工業生產過程的m個過程變量進行n次采樣,得到過程變量輸入矩陣X(X∈Rn×m) ,與此同時得到質量變量輸出矩陣Y(Y∈Rn×p),p為質量變量。然后使用非線性迭代偏最小二乘法(Non-linear Iterative PArtial Least Squares, NIPALS)算法將(X,Y)投影到一個由少量的潛在變量[t1,t2,…,tA]所組成的低維空間中,A為主元個數。

(1)

其中:T=[t1,t2,…,tA]為得分矩陣;P=[p1,p2,…,pA]和Q=[q1,q2,…,qA] 分別為X和Y的負載矩陣;E和F分別為X和Y的殘差矩陣。PLS的迭代過程具體步驟如下:

設i=1,H1=X。

1)取u為Y矩陣的第一列。

2)wi=HiTui/‖HiTui‖。

3)算出得分向量ti=Hiwi。

4)qi=YTti/tiTti在T中把Y的各列進行回歸。

5)算出Y的新得分ui=Yqi,此時判斷ti是否收斂,如果是那么跳轉到第6)步;如果不是,則跳轉到第2)步。

6)算出X的負載矩陣pi=HiTti/(tiTti)。

7)算出殘差矩陣Hi+1=Hi-tipiT。

取i=i+1,返回第1)步,直到所有潛變量都被提取。對PLS的模型求解需要解決下面的最優化問題:

max{wiTXiTYiqi}

(2)

s. t. ‖wi‖= ‖qi‖= 1

式中:wi與qi是權重向量,用來計算隱變量ti=Xiwi,ui=Yiqi。令W=[w1,w2,…,wA],由于T不能由X計算得出的W表示,令R=[r1,r2,…,rA],且T=XR,R為權重矩陣。已知:

(3)

其中R和P的關系為PTR=RTP=IA。PLS在原始變量的投影空間表達為:

(4)

PLS建模使用監控指標平方預測誤差(Squared Prediction Error, SPE)也被稱為Q統計量以及Hotelling T2來檢測過程是否發生異常,其中:

(5)

1.2 LNS算法

在日常的工業生產活動中,通常采用Z-score的方法進行標準化,即對所有數據集求均值和標準差的數據預處理方法,進一步解釋是指對已知數據進行平移變換和伸縮變換,使得數據的中心平移到新坐標系的原點,并使得數據在各個坐標方向的變化幅度相同。 由于 Z-score 標準化計算時使用的是整體的均值和標準差,因此在處理模態方差顯著不同的多模態數據時,達不到消除多模態特征的目的。

Ai=(xi-m(N(xi)))/s(N(xi))

(6)

式中:xi近鄰集的均值是m(N(xi));方差是s(N(xi))。而LNS標準化的方法實際上解決了兩個問題:1)消除多模態數據中心差異;2)解決了多模態數據的離散程度不同的問題。

如圖1所示,原始數據是兩個模態,經過LNS處理后,變成一個模態。由式(6)中可以看出,當減掉均值后,分子變小,使得兩個模態的中心更加靠近原點,而同時除以標準差后,使得疏密程度得到進一步調整,變成一個模態。LNS 處理后降低了兩個模態結構方差差異明顯的影響,解決了多模態數據多中心的問題,同時解決了多模態數據的疏密程度不同的問題。

1.3 基于LNS-PLS 的多模態故障檢測過程

當利用PLS建模進行過程檢測時,在用Z-score進行標準化之后,數據集的分布依然是多中心的,多模態的數據集是多中心的且模態方差差異明顯,而PLS的假設條件是數據是單峰分布,不滿足假設條件,所以檢測效果并不理想。本文提出用局部近鄰標準化(LNS)方法進行數據處理,再進行PLS建模,來解決上述問題?;贚NS-PLS的故障檢測由建立模型和在線監測兩個部分組成。

圖1 原始數據與LNS處理后的數據散點圖Fig. 1 Scatter plot diagrams of raw data and LNS processed data

離線建模步驟如下:

1)找出樣本集X中每個樣本xi的k個局部近鄰集N(xi),樣本Y中每個樣本yi的k個局部近鄰集N(yi);

2)用xi的近鄰集的均值m(N(xi))和方差s(N(xi))來標準化xi,同時用yi近鄰集的均值m(N(yi))和方差s(N(yi))來標準化yi;

3)用LNS方法標準化后,再利用PLS提取主元和降維;

4)計算SPE 統計量和T2統計量及其控制限。

在線檢測步驟如下:

1)對于一個新來的樣本xj和yj,用訓練集xj的近鄰集的均值m(N(xj))和方差s(N(xj))來標準化xj,同時用yj近鄰集的均值m(N(yj))和方差s(N(yj))來標準化yj;

2)將LNS方法標準化后的數據利用負載矩陣投影到PLS的主元空間和殘差空間;

3)計算新來樣本xj和yj的SPE 統計量和T2統計量,并與控制限比較確定檢測結果。

2 仿真結果與分析

2.1 數值實例分析

本節采用LNS-PLS方法進行性能的檢測,同時與PLS、PCA、KNN等方法進行比較分析。原始數據中輸入X包括3個變量,輸出Y包含2個變量。

訓練數據如下:

模態一x1~N(5,2)y1=20x1-3x2-x3

x2~N(5,1.2)y2=10x1-5x2+2x3

x3~N(5,0.7)

模態二x1~N(-5,0.5)y1=20x1-3x2-x3

x2~N(-5,0.2)y2=10x1-5x2+2x3

x3~N(-5,0.1)

在開始產生600組訓練數據,模態一、模態二各300組;再產生20組校驗數據,模態一、模態二各10 組;最后在3個變量上設置偏移產生6 個故障,分別為:F1(-5,-5,-6),F2(1,-1,-1),F3(0,0,1),F4(-5.5,5,-6),F5(5,7,10),F6(10,7,10)。

由圖2可以看出,6個故障點散落在兩個模態之間,模態一稀疏,模態二密集;2、3故障在兩個模態之間;5、6故障在一模態上方;1、4模態在二模態下方。實驗中分別使用 PLS、KNN、PCA、LNS-PLS進行故障檢測,由累計貢獻率的方法得出 PLS、PCA和 LNS-PLS中主元數為 2;通過尋優測試,KNN 中近鄰數K為 3,LNS-PLS中局部近鄰數K為 10;以上方法都采用 99%控制限對過程進行監控。

圖2 原始數據散點圖Fig. 2 Original data scatter plot diagram

實驗仿真結果如圖3~7所示。

圖3 PLS檢測結果Fig. 3 Detection results of PLS

圖4 PLS主元空間數據散點圖Fig. 4 Scatter plot diagram of PLS principal component spatial data

圖5 KNN檢測結果Fig. 5 Detection results of KNN

PLS 的檢測結果如圖 3所示,圖 3(a)中 PLS 算法的SPE檢測出了故障 5,T2沒有檢測出故障,且兩個模態數據的統計值差異較大。圖4為 PLS 主元空間散點圖,故障2和3投影到主元空間后分布在兩個模態之間,故障1和4靠近數據分布密集的模態二,而PLS 在主元空間的控制限是一個橢圓,無法將正常數據和故障數據區分,由于兩個模態方差差異明顯,控制限由方差較大的模態決定,因此只有故障5被檢測出來,檢測率僅為16%。KNN的檢測結果如圖5所示,KNN算法檢測出故障2、3、5、6,檢測率為66.7%。KNN算法正常樣本兩個模態的統計值D2分兩個部分,并沒有消除模態結構信息:當兩個模態的方差差異較大時,KNN 兩個模態的樣本的統計量D2差異較大,此時控制限由方差較大的模態一所決定;故障1和4為較小方差的模態二發生的微弱故障,此時D2統計量的值介于兩個模態之間,所以KNN方法無法檢測。PCA的檢測結果如圖6所示,由于生成的數值例子為多模態數據,且不服從高斯分布,所以PCA并沒有檢測出任一故障。LNS-PLS的檢測結果如圖7所示。圖7(a)中LNS-PLS的SPE 統計量檢測出所有故障,圖7(b)中LNS-PLS 的 T2統計量檢測出故障 1、4、5、6,綜合兩個指標LNS-PLS 算法檢測出所有故障,檢測率達到100%。由于 LNS 標準化后數據消除了模態結構信息,故障和正常數據完全分離,使得檢測效果更好,驗證了該方法對模態方差差異明顯的多模態過程進行故障檢測的有效性。

圖6 PCA檢測結果Fig. 6 Detection results of PCA

圖7 LNS-PLS檢測結果Fig. 7 Detection results of LNS-PLS

2.2 青霉素過程的故障檢測

青霉素的生產過程是一個典型的非線性、多模態的生產過程,其發酵過程可以分為三個階段:菌體的快速生長階段,菌體合成青霉素階段,以及菌體自溶階段[20-21]。青霉素發酵過程流程如圖8所示。

本文采用基于青霉素生產過程的 Pensim 仿真平臺,驗證基于PLS以及 LNS-PLS 的故障檢測方法的有效性 。Pensim 仿真平臺是由伊利諾科技學院(Illinois Institute of Technology, IIT)的Cinar 教授為學科帶頭人領導過程建模及控制研究小組創建開發的青霉素發酵過程仿真軟件,該軟件的內核采用基于Bajpai機理模型改進的Birol 模型,此軟件可以模擬實現青霉素發酵過程的一系列參數變化,已經有很多相關研究成果表明,該仿真軟件具有很高的有效性和實用性。青霉素發酵過程仿真軟件已成為當今科學界驗證多元統計方法在間歇過程故障診斷與監測的有效途徑,彌補了間歇過程數據難采集等困難。Pensim 仿真平臺有 5 個輸入變量來控制發酵過程參數變化,9 個過程變量是菌體合成及生長中產生的,5 個質量變量影響青霉素的產量[22],本文選取其中的12 個主要變量,如表1所示。

圖8 青霉素發酵過程流程Fig. 8 Flow chart of penicillin fermentation process表1 青霉素變量類型Tab.1 Penicillin variable types

序號變量序號變量序號變量1通氣率5底物濃度9發酵反應器溫度2攪拌功率 6容氧濃度10反應產生的熱量3底物流加速率7CO2濃度 11菌體濃度4底物流加溫8pH值12青霉素(產物)濃度

本文使用 Pensim 對青霉素發酵仿真過程生產數據,仿真時間設定為400 h,采樣時間設定為1 h。在正常工況下生產一批數據作為訓練樣本。 青霉素生產過程數據分為兩個模態:前43 h為青霉菌生長階段,樣本比較稀疏;43 h~400 h為青霉素生產階段,樣本比較密集。青霉素生產過程能對前3個變量(通氣率、攪拌功率和底物流加速率)引入干擾,故障擾動的類型有階越和斜坡兩種,然后進一步設定兩種擾動的幅度、擾動的引入時間和終止時間。 為了測試檢測算法的有效性,實驗中對青霉素發酵過程設置了 6 個不同類型的故障作為待檢測數據樣本,如表2所示。

采用PLS方法、KNN方法、PCA方法以及LNS-PLS方法對青霉素發酵過程進行故障檢測,故障ft1、ft6的檢測結果如圖9~10。測試過程中,PLS、PCA、LNS-PLS的主元數為4;KNN方法的近鄰數取K=10;LNS-PLS方法的近鄰數取K=10。 圖中黑色實線為99%控制限,全部故障的檢測結果如表3所示。

表2 青霉素生產過程中的6個故障Tab. 2 Six faults in penicillin production process

表3不同方法故障檢測率對比%

Tab. 3 Fault detection rate comparison of different methods %

本文選取了對6組實驗中具有代表性的2組實驗進行分析:圖9中ft1故障為大尺度階躍故障,所以由表3可以看出,四種方法的檢測率都很高;圖10中ft6是斜坡故障,故障剛引入時很微弱,所以在開始檢測時有一部分漏報,因此幾種方法都存在一定的故障延遲,但LNS-PLS方法延遲最小,故障檢測率最高。

青霉素生產過程數據分為兩個模態,并且模態密度顯著不同,由于數據不服從多元高斯分布,使得 PCA和PLS的統計量 T2和 SPE對故障 ft3、ft4、ft5、ft6 的檢測效果不佳,故障 ft1、ft2的幅度為 1%、1 L/h,為大尺度故障,所以 PCA與PLS檢測率較高。

KNN 能夠對一般的多階段過程故障進行檢測,但當兩個階段數據的疏密程度不同時,其控制限被密集階段數據決定,造成對密集階段的微弱故障檢測率明顯下降,故障 ft3、ft5、 ft6正處在密集模態,故KNN方法檢測不到故障,故障 ft1、ft2、ft4 發生在稀疏階段, 能被KNN 檢測出。

在經過LNS處理后,兩個階段數據融合為單一模態數據,并且數據近似服從多元高斯分布,降低了兩個模態結構方差差異明顯的影響,解決了多模態數據疏密程度不同的問題,LNS-PLS方法中檢測指標T2和 SPE 的假設得到滿足,所以 LNS-PLS 方法對所有故障的檢測率都較高。

圖9 ft1故障不同方法檢測結果Fig. 9 ft1 fault detection results of different methods

圖10 ft6故障不同方法檢測結果Fig.10 ft6 fault detection results of different methods

3 結語

本文提出了一種基于改進偏最小二乘法(PLS)的多模態過程故障檢測方法LNS-PLS,利用了局部近鄰標準化(LNS)方法進行數據的標準化,再使用偏最小二乘法(PLS)進行故障檢測。 該方法改善了傳統的PLS 處理多模態問題的不足,解決了多模態數據多中心和模態方差差異明顯的問題,使故障檢測結果更加準確。 實際上,因為前期對PLS進行LNS處理使得數據近似變成多元高斯分布,而PLS正適用于多元高斯分布,使得檢測率提高。

將 LNS-PLS應用于工業過程的統計監視青霉素發酵過程的實驗結果表明,相比其他方法,LNS-PLS方法可以在誤報率相差不多的情況下,有比較好的檢測效果。該方法可以推廣到多模態過程的故障檢測。

猜你喜歡
青霉素方差模態
基于BERT-VGG16的多模態情感分析模型
多模態超聲監測DBD移植腎的臨床應用
“青霉素皮試”5誤區,你中招了么
“青霉素皮試”5誤區,你中招了么
跨模態通信理論及關鍵技術初探
概率與統計(2)——離散型隨機變量的期望與方差
細菌為何能“吃”青霉素
方差生活秀
青霉素的發明者—萊明
揭秘平均數和方差的變化規律
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合