郭小萍 劉詩洋 李元
隨著計算機技術、自動化技術、網絡技術的迅猛發(fā)展,現(xiàn)代生產過程的自動控制水平不斷提高,使得進行過程監(jiān)視與故障診斷,提升過程的安全性與可靠性,保證過程穩(wěn)定與產品的質量成為可能.生產過程發(fā)生故障輕則造成產品質量不合格、資源浪費等后果,重則引起火災、爆炸等危害人員安全和影響社會安定的惡性事件[1].實際工業(yè)生產過程中,生產負荷、產品特性、原料組分等因素的改變會導致生產工況發(fā)生變化,產生多工況過程.多工況過程的數(shù)據(jù)具有非高斯、非線性、多模態(tài)、中心漂移等特征,各工況中心不同,其變量至少有一個是多峰分布,因此多工況過程的故障檢測技術更加復雜且對于保證過程穩(wěn)定與安全具有重要意義.
針對多工況過程,常用的兩種研究方法[2]為:多模型法和全局模型法.多模型法利用各工況數(shù)據(jù)建立多個局部模型,通過多次建模將局部單工況過程擴展成為多工況過程.該方法首要問題即為如何將數(shù)據(jù)分離成不同子集對應的多個工況.如許仙珍等[3]對傳統(tǒng)主成分分析(Principle component analysis,PCA)不能有效解決多工況問題的缺點進行了改進,提出了一種基于PCA混合模型的多工況過程故障監(jiān)測方法,該方法的優(yōu)點在于能自動獲取工況數(shù)目,無需過程先驗知識.熊偉麗等[4]針對不同穩(wěn)態(tài)工況之間的過渡過程提出了一種基于多工況識別的過程監(jiān)測方法,利用獨立主成分分析(Independent component analysis,ICA)和PCA提取各階段數(shù)據(jù)的信息.Ge等[5]針對多工況間歇過程提出了一種新的基于貝葉斯推理的過程監(jiān)測方法,該方法采用ICA-PCA提取數(shù)據(jù)特征,利用支持向量數(shù)據(jù)描述(Support vector data description,SVDD)方法進行故障檢測,構造超球體,以超球體的半徑作為控制限.Zhao等[6]提出了一種能夠同時解決多工況多階段問題的故障監(jiān)視方法.孫賢昌等[7]提出了一種基于高斯混合模型(Gaussian mixture models,GMM)的多工況過程故障診斷方法,該方法使用GMM 方法對數(shù)據(jù)進行聚類分析,得到工況數(shù)和不同工況的分布參數(shù),而后采用PCA方法建模進行故障檢測.多模型法的優(yōu)點在于步驟分明、監(jiān)控結果易于解釋,故障識別和診斷相對容易,但在實際應用中存在依賴過程知識、在線識別工況、模型集優(yōu)化和模型切換策略等問題.
全局模型法直接從具有多工況特性的歷史數(shù)據(jù)中學習全局模型,構建表征各工況特性的統(tǒng)一檢測指標,可以避免多模型法存在的問題.郭紅杰等[8]提出了一種基于局部近鄰標準化策略的故障檢測方法,該方法運用局部近鄰標準化策略對數(shù)據(jù)進行預處理,消除數(shù)據(jù)的多工況特性.王國柱等[9]提出了一種加權KNN(K-nearest neighbor,KNN)重構的故障診斷方法,文中采用KNN規(guī)則進行故障檢測,基于KNN的故障檢測方法是以距離為衡量,將數(shù)據(jù)的非高斯、非線性、多工況的特點隨著建模數(shù)據(jù)直接包含在所建的模型中.Ge等[10]將SVDD方法應用于多工況過程,通過在特征空間構造一個最小超球體將故障數(shù)據(jù)與正常數(shù)據(jù)區(qū)分.鐘娜等[11]提出了一種基于局部熵成分分析(Local entropy component analysis,LECA)的故障檢測方法,通過KNN-Parzen窗方法估計變量的局部概率密度,利用信息熵理論挖掘局部信息熵,最后采用ICA方法建模進行故障檢測.針對多模態(tài)問題,Ning等[12]提出了基于標簽一致性字典學習算法(Label consistent dictionary learning,LCDL)和稀疏貢獻圖的過程故障診斷方法,該方法通過標簽一致性K-SVD方法從正常歷史數(shù)據(jù)中得到字典,加入一個單位矩陣擴展字典,運用擴展字典對檢測樣本進行稀疏編碼,最后以重構誤差作為統(tǒng)計量進行在線監(jiān)控,該方法對字典進行擴展,增加了數(shù)據(jù)的復雜度和計算量,而且以重構誤差作為統(tǒng)計量的誤報率偏高.
本文針對多工況過程,提出一種在稀疏殘差空間構建k近鄰距離統(tǒng)計量的故障檢測方法.將多工況正常數(shù)據(jù)混合在一起標準化用于建立全局模型,避免工況識別的工作;采用稀疏編碼方法提取分布散、特征不夠集中的多工況數(shù)據(jù)的字典和稀疏編碼,保持工況特征的同時突出數(shù)據(jù)特征;采用多工況正常數(shù)據(jù)的近似值和原始值的偏差構建新的樣本空間–稀疏殘差空間,提出在稀疏殘差空間引入距離統(tǒng)計量作為故障檢測指標,通過稀疏殘差空間數(shù)據(jù)間k近鄰距離大小衡量數(shù)據(jù)的相似性,兼得k近鄰算法解決非高斯、非線性、多工況問題的優(yōu)點,改善多工況過程故障檢測效果.
本文提出在稀疏殘差空間引入距離統(tǒng)計量,簡稱SRD(Sparse residual distance),具體構建內容如下:
定義多工況正常數(shù)據(jù)矩陣X∈Rn×m,其中n是變量個數(shù),m是樣本個數(shù),使用式(1)所示Z-score方法對矩陣X進行標準化處理,得到均值為0,方差為1的矩陣X0∈Rn×m;
其中,xij是矩陣X第i行、第j列的數(shù)值,是矩陣X第j列的均值,為矩陣X第j列的方差,為標準化后矩陣X0第i行、第j列的數(shù)值.
其中 ?k在 (ωk(j),j)處為 1,其余為 0.重新計算,對進行 SVD 分解,即,更新字典原子為U的第一列,更新相應的稀疏編碼為V的第一列乘以?(1,1).重復上述更新計算至達到稀疏級別上限.以上字典Dic和稀疏編碼A全部更新完畢.
根據(jù)得到的字典Dic和稀疏編碼A計算Xtr的近似值及兩者之間的殘差矩陣R(Residual):
將R矩陣的每一列看作一個樣本,構建新的樣本空間,計算新樣本間的歐氏距離[15].
其中,dij表示第i個樣本與其第j個樣本之間的距離.將得到的距離從小到大排列,取前l(fā)個,即為第i個新樣本的l個近鄰樣本.計算l個近鄰樣本距離平方和,構建距離統(tǒng)計量進行故障檢測.
SRD方法分為離線建模和在線檢測兩部分.
1.2.1 離線建模
1)收集多工況正常數(shù)據(jù)矩陣X,使用Z-score方法對X進行標準化處理,得到矩陣X0;
2)確定初始字典D和訓練數(shù)據(jù)Xtr,根據(jù)式(2)獲得與D對應的稀疏編碼A,使用訓練數(shù)據(jù)更新D和A,得到更準確表達數(shù)據(jù)特征的字典和稀疏編碼;
3)由式(4)計算X0的近似值,由式(5)得到殘差,構造殘差空間R;
4)將殘差空間R的每一列看作一個樣本,根據(jù)式(6)計算各樣本間l個近鄰的距離平方和,作為計算控制限的統(tǒng)計指標;
5)使用核密度估計法求出置信水平為α的控制限.
1.2.2 在線檢測
1)收集待檢測數(shù)據(jù),使用建模數(shù)據(jù)的均值及方差進行標準化處理,得到標準化后的數(shù)據(jù)矩陣為Xnew;
2)保持建模時的字典不變,根據(jù)式(2)計算矩陣Xnew的稀疏編碼Anew;
4)將R0矩陣的每一列看作一個樣本,由式(6)計算各樣本間l個近鄰的距離平方和;
具體流程圖如圖1所示.
圖1 過程檢測模型建立流程圖Fig.1 Flow chart of establishing process detection model
使用的模型如下[16]:
其中,x1、x2、x3、x4、x5為模型的 5個變量,是潛在變量,是服從均值為0,標準差為0.01的高斯分布的5個獨立的白噪聲.給出兩個模態(tài)的數(shù)據(jù)代表不同工況:
所用建模數(shù)據(jù)由兩種工況分別產生400個樣本組成正常訓練樣本集,因此訓練數(shù)據(jù)共有800個樣本.隨機選取訓練樣本中300個正常樣本作為初始字典,剩余的500個樣本作為初始訓練數(shù)據(jù),通過OMP算法得到的稀疏編碼為300×500維.在工況1中,T=401時刻起在變量x5上加一個幅值為4的階躍信號作為故障,即測試數(shù)據(jù)的前400個樣本為正常樣本,剩余400個樣本為故障樣本,共800個樣本.通過使用建模過程獲得的字典計算測試數(shù)據(jù)的稀疏編碼為300×800維.本數(shù)值案例的稀疏距離統(tǒng)計量參數(shù)的選取采用交叉檢驗法,選取適合的近鄰個數(shù)為3.選取變量x1和x2兩個變量方向,分別繪制建模數(shù)據(jù)投影圖、標準化處理后數(shù)據(jù)投影圖和SRD處理后的數(shù)據(jù)投影圖,分別如圖2(a)、圖2(b)和圖2(c)所示.
由圖2(a)可以看出,建模數(shù)據(jù)分為兩個工況,工況1的數(shù)據(jù)分布在30至80之間,數(shù)據(jù)中心大約為(?10,50),工況2的數(shù)據(jù)分布在0至20之間,數(shù)據(jù)中心大約為(5,10),數(shù)據(jù)跨度較大,分布較散,中心不夠明確;由圖2(b)可以看出,標準化后,數(shù)據(jù)依然分為兩個工況,此時工況1的中心為(?1,1),工況2的中心為(1,?1),兩個工況數(shù)據(jù)的中心呈中心對稱;在圖2(c)中,數(shù)據(jù)的中心與圖2(b)一樣,與圖2(a)相比,數(shù)據(jù)的分布形態(tài)基本一致,且提取數(shù)據(jù)特征后的數(shù)據(jù)跨度明顯減小,數(shù)據(jù)分布相對更集中,數(shù)據(jù)特征得到強化,更加明顯突出,由此說明本文方法是針對具有多工況特征過程的方法.
使用本文所提SRD算法的故障檢測結果如圖3所示,由圖可以看出,前400個樣本基本全部位于控制限以下,誤報率為0.25%;剩余400個樣本全部位于控制限上方,故障全部被檢測出來,漏報率為0,說明該方法能夠有效解決多工況問題.
圖2 數(shù)值投影圖Fig.2 Numerical data projection
TE過程是1993年由Downs和Vogel以伊斯曼化學品公司的實際工藝流程為基礎,改進后提出的一個復雜非線性過程[17],TE過程適合于研究過程控制技術、過程監(jiān)控、故障檢測與診斷等方向.該過程由反應器、冷凝器、壓縮機、汽提塔和汽/液分離器5個主要的操作單元組成,包括8種成分,有6種生產模式,如表1所示.過程中有41個測量變量和12個控制變量,詳細的工藝流程如圖4所示.
圖3 SRD故障檢測結果Fig.3 Fault detection results by SRD
TE過程各種工況的采樣頻率均是3分鐘/次,每次仿真都運行48個小時.仿真從正常工況開始進行,在仿真開始8小時后引入故障,共有21種故障可以引入,本文驗證算法有效性采用的故障如表1所示.本文仿真實驗采用TE過程生產模式1和3,如表2所示,分別代表工況1和工況2,將兩個工況的數(shù)據(jù)混合使用,用于建模的兩個工況的正常樣本數(shù)為1200,用于檢測的樣本數(shù)為1200,檢測的樣本中包含正常數(shù)據(jù)200和故障數(shù)據(jù)1000.采用的變量為41個測量變量和12個控制變量,共53個變量.
在基于SRD的故障檢測方法中,為避免不同工況過渡過程對檢測效果產生影響,本文首先對多工況數(shù)據(jù)進行合理選取,通過交叉檢驗法選取建模數(shù)據(jù)集(53×1200).隨機選取建模數(shù)據(jù)集中400個樣本作為初始字典,其維數(shù)為53×400;剩余800個樣本為訓練數(shù)據(jù),其維數(shù)為53×800;二者通過OMP計算后獲得的稀疏編碼為400×800維.對于檢測的數(shù)據(jù)集,使用建模數(shù)據(jù)集的字典(53×400)計算得到的稀疏編碼為400×1200維.為驗證SRD方法能夠準確提取數(shù)據(jù)特征,任取兩個變量方向分別繪制建模數(shù)據(jù)投影圖、標準化處理后數(shù)據(jù)投影圖和SRD處理后的數(shù)據(jù)投影圖,分別如圖5(a)、圖5(b)和圖5(c)所示.
表1 TE過程故障Table 1 Failures of TE process
表2 本文采用的TE過程生產模式Table 2 TE process production model used in this paper
圖4 TE過程工藝流程圖Fig.4 TE process flow chart
圖5 數(shù)據(jù)投影圖Fig.5 Data projection
由圖5(a)可以看出,建模數(shù)據(jù)分為兩個工況,工況1的數(shù)據(jù)分布在3600至3750之間,工況2的數(shù)據(jù)分布在5100至5250之間,數(shù)據(jù)跨度較大,分布較散,中心不夠明確,特征不夠突出;由圖5(b)可以看出,標準化后,數(shù)據(jù)依然分為兩個工況,工況1的中心為(1,?1),工況2的中心為(?1,1);在圖5(c)中,數(shù)據(jù)依然分為兩個工況,中心也保持不變,工況1的數(shù)據(jù)分布在?1.3至?0.7之間,工況2的數(shù)據(jù)分布在0.7至1.3之間,數(shù)據(jù)跨度明顯減小.圖5(c)和圖5(a)中數(shù)據(jù)的分布形態(tài)基本一致,而且提取數(shù)據(jù)特征后的數(shù)據(jù)分布相對更集中,數(shù)據(jù)特征得到強化,更加明顯突出,便于捕捉,在此基礎上構建多工況數(shù)據(jù)的故障檢測統(tǒng)計量會更準確,由此也說明本文方法是針對具有多工況特征過程的方法.
實驗過程中,構建稀疏距離統(tǒng)計量的參數(shù)l的選取采用交叉檢驗法,通過多次試驗選取合適的l值,即l=3,故后續(xù)實驗涉及到的參數(shù)l均選取3.
本文驗證所提SRD方法有效性的同時,還與以SPE為統(tǒng)計量的KSVD-R(K-singular value decomposition residual)方法的檢測結果進行了比較.以故障6和故障13為例對故障檢測結果進行說明.故障6和故障13的故障檢測結果如圖6、圖7所示,從圖中可以看到數(shù)據(jù)具有多工況特征,分為兩個工況,前600個樣本為工況1,后600個樣本為工況2;每一工況的前100個樣本為正常樣本,后500個為故障樣本.
由表1知,故障6(A進料損失)為階躍故障,經過多次試驗發(fā)現(xiàn)變量45(總進料量)體現(xiàn)階躍最明顯,具有明顯的故障特征,視其為影響故障的主要變量,具體趨勢見圖6(a).圖6(b)為以SPE為統(tǒng)計量的KSVD-R故障檢測方法的故障檢測結果圖,由圖可知故障全部位于置信度為99%的控制限上方,正常樣本基本位于該控制限下方,僅有少數(shù)幾個樣本位于其上方,顯然該方法存在誤報樣本.圖6(c)為本文所提SRD方法的故障檢測結果圖,由圖可知故障樣本全部位于置信度為99%的控制限上方,正常樣本全部位于該控制限下方,顯然SRD方法誤報率極低,趨近于0.將圖6(a)和圖6(c)進行比較,可以看出,數(shù)據(jù)趨勢基本一致,說明SRD算法可以在保證數(shù)據(jù)結構、工況特征不變的基礎上進行故障檢測.將圖6(b)和圖6(c)進行比較,可以看出SRD方法的誤報樣本少于KSVD-R方法,且SRD方法正常樣本和故障樣本數(shù)值差距稍大,說明在殘差空間引入的距離統(tǒng)計量確實能夠使故障樣本和正常樣本區(qū)分更加明顯.
由表1知,故障13(反應動態(tài))為慢偏移故障,經過多次試驗發(fā)現(xiàn)變量21(反應器冷卻水出口溫度)和變量51(反應器冷卻水流量)具有明顯的數(shù)據(jù)特征,視其為影響故障的主要變量,具體趨勢見圖7(a).圖7(b)為KSVD-R方法的故障檢測結果圖,由圖可見大部分故障位于置信度為99%的控制限上方,正常樣本基本位于該控制限下方,僅有少數(shù)幾個樣本位于其上方,顯然該方法存在誤報樣本和漏報樣本.
圖6 故障6故障檢測結果Fig.6 Fault 6 fault detection results
圖7(c)為SRD方法的故障檢測結果圖,由圖可知絕大部分故障樣本位于置信度為99%的控制限上方,正常樣本全部位于該控制限下方,顯然SRD方法檢測率更高,誤報率更低.將圖7(a)和圖7(c)進行比較,可以看出,數(shù)據(jù)趨勢基本一致,再次驗證SRD方法可以保持原始數(shù)據(jù)特征.將圖7(b)和圖7(c)進行比較,可以看出SRD方法的誤報樣本明顯少于KSVD-R方法,圖7(b)中工況1的故障樣本和工況2的正常樣本界限模糊,存在交叉現(xiàn)象,而圖7(c)中正常樣本和故障樣本數(shù)值差距更大,區(qū)分更加明顯,更加說明在殘差空間引入的距離統(tǒng)計量確實能夠使故障樣本和正常樣本區(qū)分更加明顯.
圖7 故障13故障檢測結果Fig.7 Fault 13 fault detection results
由圖6(c)和圖7(c)可以看出,各工況故障檢測效果均良好,說明SRD方法無需對待檢測樣本進行工況識別仍能夠檢測到不同工況的故障,由此說明SRD方法使用的多工況數(shù)據(jù)混合建模方式是有效的,適用于解決多工況問題.
選取幾個對比較明顯的故障,將其誤報率及檢測率匯總成表,如表3所示.由表3可以看出:
1)對于誤報率,依據(jù)置信度為95%的控制限,與KSVD-R方法相比,SRD方法的誤報率降低了2.5%;依據(jù)置信度為99%的控制限,則降低了0.1%;由此說明距離統(tǒng)計量對誤報率的改進起一定作用;
2)對于故障1、故障4、故障6、故障7,無論使用哪種方法,故障檢測率均為100%;
3)依據(jù)置信度為95%的控制限,故障2、故障13、故障16使用SRD方法的故障檢測率比KSVDR方法分別提高了1.4%、8.1%、4.5%;依據(jù)置信度為99%的控制限,故障13、故障16使用SRD方法的故障檢測率比KSVD-R方法分別提高了8.2%和8.4%;進一步說明殘差空間引入距離統(tǒng)計量確實可以改進故障檢測性能.
表3 誤報率及檢測率匯總表Table 3 False alarm rate and detection rate summary table
本文提出了一種新的基于稀疏分解殘差距離的多工況過程故障檢測方法.該方法將多工況數(shù)據(jù)混合建模,提取數(shù)據(jù)特征,依據(jù)獲得的數(shù)據(jù)特征計算近似值及其與測量值的殘差,在殘差空間首次引入k最近鄰距離統(tǒng)計量進行故障檢測.SRD方法與KSVD-R方法相比,故障檢測效果有明顯提高.同時該方法可以避免進行線性化、高斯化、分工況等數(shù)據(jù)預處理,提高了多工況過程故障檢測的有效性.將SRD方法運用于多工況過程的故障定位、故障分類將是進一步研究的內容.