甘 超,陸 遠(yuǎn),李 娟,胡 瑩
(1.南昌大學(xué) 機(jī)電工程學(xué)院,南昌 330031; 2.中國北方車輛研究所 車輛傳動(dòng)重點(diǎn)實(shí)驗(yàn)室,北京 100072)
?
基于Apriori算法的設(shè)備故障診斷技術(shù)的研究*
甘 超1,陸 遠(yuǎn)1,李 娟2,胡 瑩1
(1.南昌大學(xué) 機(jī)電工程學(xué)院,南昌 330031; 2.中國北方車輛研究所 車輛傳動(dòng)重點(diǎn)實(shí)驗(yàn)室,北京 100072)
設(shè)備故障診斷是設(shè)備安全運(yùn)行的保障,合理分析大量的故障數(shù)據(jù)能為設(shè)備管理提供重要的參考價(jià)值。論文采用特征建模技術(shù)描述故障設(shè)備的特征信息,根據(jù)故障數(shù)據(jù)的特點(diǎn),以及Apriori算法在故障診斷中應(yīng)用的瓶頸,采用一種改進(jìn)的Apriori算法,將故障數(shù)據(jù)映射為0-1矩陣,根據(jù)對(duì)矩陣的剪枝和處理計(jì)算出故障數(shù)據(jù)的頻繁項(xiàng)集,挖掘多故障之間和故障與運(yùn)行參數(shù)之間的關(guān)聯(lián)關(guān)系,為設(shè)備管理提供有力支持。最后給出了該方案的可行性實(shí)例驗(yàn)證。
Apriori算法;故障診斷;數(shù)據(jù)挖掘
設(shè)備是企業(yè)制造資源的重要組成部分,是企業(yè)生產(chǎn)能力的基本保障。隨著制造業(yè)信息化的不斷發(fā)展和市場(chǎng)競(jìng)爭(zhēng)的日益激烈,機(jī)械設(shè)備持續(xù)向復(fù)雜化、智能化、大型化、高速化和多功能化發(fā)展[1-2]。設(shè)備的結(jié)構(gòu)越來越復(fù)雜,故障機(jī)理呈現(xiàn)多樣性和突發(fā)性,設(shè)備故障對(duì)企業(yè)日常運(yùn)作的影響越來越嚴(yán)重。設(shè)備故障診斷能為設(shè)備的安全運(yùn)行提供保障。傳統(tǒng)的故障診斷技術(shù)難以分析多故障同時(shí)發(fā)生時(shí)各故障之間的關(guān)聯(lián)關(guān)系,并不能做出相應(yīng)的決策[3],且難以處理海量數(shù)據(jù)。目前,國內(nèi)外對(duì)故障診斷的研究取得了豐碩的成果,主要有基于小波變換和人工神經(jīng)網(wǎng)絡(luò)的旋轉(zhuǎn)軸承故障診斷方法[4];基于近場(chǎng)聲全息技術(shù)利用聲場(chǎng)空間分布特征診斷滾動(dòng)軸承故障[5];基于模糊Petri網(wǎng)的數(shù)控機(jī)床主軸故障診斷[6];利用局部化方法提出非線性PCA模型用于汽車引擎的故障診斷[7]。本文采用一種Apriori改進(jìn)算法對(duì)故障數(shù)據(jù)進(jìn)行挖掘,將故障數(shù)據(jù)庫映射為0-1矩陣,通過對(duì)矩陣的分析處理,得到故障數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,最終以實(shí)例驗(yàn)證算法的可行性。
企業(yè)生產(chǎn)過程中,隨著設(shè)備使用時(shí)間的推移,維修記錄越來越多,隨之產(chǎn)生的故障數(shù)據(jù)也是海量的。同時(shí),隨著設(shè)備監(jiān)控技術(shù)的發(fā)展,很多制造企業(yè)為關(guān)鍵設(shè)備配備了監(jiān)控系統(tǒng),在設(shè)備運(yùn)行過程中,生成了巨大的狀態(tài)數(shù)據(jù)和故障信息。如何對(duì)這些海量的數(shù)據(jù)存儲(chǔ)、分析和管理,找到一種合理的設(shè)備故障建模方案是其中的關(guān)鍵。
結(jié)合企業(yè)和設(shè)備自身的特點(diǎn),本文采用特征建模技術(shù)描述故障設(shè)備的特征信息。特征信息模型如圖1所示。
圖1 故障設(shè)備特征信息模型
故障設(shè)備特征信息采用結(jié)構(gòu)化存儲(chǔ)方式,模型由靜態(tài)屬性和動(dòng)態(tài)屬性構(gòu)成,可以分為五大類:
(1)管理屬性信息:主要包括設(shè)備維修單管理相關(guān)的信息,如維修單號(hào)、設(shè)備編號(hào)、最近一次維修時(shí)間、維修類別等;
(2)經(jīng)濟(jì)屬性信息:指設(shè)備發(fā)生故障所產(chǎn)生的費(fèi)用信息,如臺(tái)時(shí)費(fèi)用、維修費(fèi)用估算、備件費(fèi)用等;
(3)故障特征信息:主要描述與設(shè)備故障有關(guān)的屬性信息,如故障代碼、故障標(biāo)簽、故障發(fā)生時(shí)間、故障等級(jí)等;
(4)狀態(tài)參數(shù):指設(shè)備運(yùn)行過程當(dāng)中,監(jiān)測(cè)系統(tǒng)監(jiān)測(cè)到的設(shè)備狀態(tài)信號(hào),如轉(zhuǎn)速信號(hào)、轉(zhuǎn)矩信號(hào)、溫度信號(hào)、電壓信號(hào)等;
(5)關(guān)聯(lián)信息:與設(shè)備發(fā)生故障有關(guān)的信息,主要包括備件信息和維修人員信息,如:備件編號(hào)、備件名稱、維修員工號(hào)等。
隨著多功能型設(shè)備的增多,多故障同時(shí)發(fā)生越來越普遍。通常設(shè)備發(fā)生故障會(huì)產(chǎn)生一個(gè)或多個(gè)故障代碼。如表1所示,采用二元變量表示故障數(shù)據(jù),每行對(duì)應(yīng)一個(gè)維修單,每列對(duì)應(yīng)一個(gè)故障代碼,如果某故障在維修單中出現(xiàn),則對(duì)應(yīng)的值為1,否則為0。
表1 維修單故障代碼的二元表示
所以,故障數(shù)據(jù)可以表示如下:
Dmxn={d[i,j]}
(1)
i=1,2,...,m;j=1,2,...,n;
其中D表示設(shè)備故障數(shù)據(jù)庫,f表示故障代碼,r表示維修單。0代表維修單中沒有出現(xiàn)該故障,1代表維修單中出現(xiàn)該故障。
同理,故障代碼與運(yùn)行中設(shè)備的狀態(tài)參數(shù)關(guān)系表示如下:
Dsmxn={ds[i,j]}
(2)
i=1,2,...,m;j=1,2,...,n;
其中Ds表示故障代碼及其對(duì)應(yīng)的設(shè)備狀態(tài)信息數(shù)據(jù)庫,s表示狀態(tài)參數(shù)信號(hào),f表示故障代碼。0代表發(fā)生故障時(shí)沒出現(xiàn)該狀態(tài)信號(hào),1代表發(fā)生故障時(shí)出現(xiàn)該狀態(tài)信號(hào)。
2 Apriori算法改進(jìn)描述
Apriori算法是由數(shù)據(jù)庫專家R.Agrawal 在1993年設(shè)計(jì)出來的[8],是關(guān)聯(lián)規(guī)則最為經(jīng)典的算法。該算法主要用于在生產(chǎn)數(shù)據(jù)、關(guān)系數(shù)據(jù)或其他信息載體中,搜索存在于項(xiàng)目集合之間的關(guān)聯(lián)性、頻繁模式或因果結(jié)構(gòu)。
Apriori算法能有效的產(chǎn)生關(guān)聯(lián)規(guī)則,且具有算法結(jié)構(gòu)簡(jiǎn)單,推導(dǎo)過程方便等優(yōu)點(diǎn)。但用于設(shè)備故障診斷有一下幾個(gè)弊端[9-10]:
(1)設(shè)備故障數(shù)據(jù)量龐大,Apriori算法在逐層迭代時(shí)會(huì)在內(nèi)存中存儲(chǔ)、分析和處理大量的候選頻繁項(xiàng)集,普通計(jì)算機(jī)難于滿足要求,而高端計(jì)算機(jī)會(huì)加大企業(yè)的信息化投入成本;
(2)需要重復(fù)掃描計(jì)算機(jī),掃描數(shù)據(jù)庫開銷大;
(3)設(shè)備故障診斷中的數(shù)據(jù)具有較強(qiáng)的動(dòng)態(tài)性。運(yùn)行中的設(shè)備能監(jiān)測(cè)出大量的狀態(tài)信息。隨著監(jiān)測(cè)時(shí)間的推移,產(chǎn)生海量的數(shù)據(jù),診斷速度變慢,難于滿足故障診斷實(shí)時(shí)性的要求。
基于以上原因,在考慮企業(yè)財(cái)政和計(jì)算機(jī)配置有限的情況下,本文采用一種Apriori改進(jìn)算法對(duì)設(shè)備故障診斷進(jìn)行研究。
(4)Apriori改進(jìn)算法的步驟如下:
1)將故障數(shù)據(jù)庫轉(zhuǎn)換為0-1矩陣
0-1矩陣中每一行代表一個(gè)事務(wù)Ti,每一列代表一個(gè)項(xiàng)目Ij。將故障數(shù)據(jù)庫Dmxn轉(zhuǎn)換為對(duì)應(yīng)的0-1矩陣M,其中0代表項(xiàng)目Ij沒在事務(wù)Ti中,1代表項(xiàng)目Ij在事務(wù)Ti中。
2)增加列求和、行求和,得到矩陣M0
矩陣M每行求和,得到每一個(gè)事務(wù)的項(xiàng)目數(shù);每列求和,得到每一個(gè)項(xiàng)目的支持?jǐn)?shù),并將項(xiàng)目的支持?jǐn)?shù)從大到小排列。生成(m+1)行和(n+1)列的矩陣M0。
3)計(jì)算最小支持?jǐn)?shù)minSupport_Count
最小支持度minSupport與事務(wù)數(shù)的相乘,取大于或等于它的最小整數(shù)即為項(xiàng)集最小支持?jǐn)?shù)minSupport_Count。
4)求頻繁N項(xiàng)集L[n]
由于在求頻繁N項(xiàng)集支持?jǐn)?shù)時(shí)需要進(jìn)行向量?jī)?nèi)積運(yùn)算,只有所有項(xiàng)都為1時(shí),結(jié)果才為1,否則為0。所以在求頻繁N項(xiàng)集時(shí)可以刪除項(xiàng)目數(shù)小于n的行。
刪除項(xiàng)目數(shù)小于n的行后,重新對(duì)列求和,按支持?jǐn)?shù)從大到小重新排列。刪除支持?jǐn)?shù)小于最小支持?jǐn)?shù)的列,重新對(duì)行求和,最后反復(fù)循環(huán)計(jì)算,得到候選N項(xiàng)集C[n]。通過向量?jī)?nèi)積運(yùn)算計(jì)算各項(xiàng)集的支持?jǐn)?shù),與最小支持?jǐn)?shù)比較,得到頻繁N項(xiàng)集L[n]。
算法偽代碼如下:
輸入:故障數(shù)據(jù)庫Dmxn、最小支持度minSupport。
輸出:Dmxn中的頻繁K項(xiàng)集L[k]。
1)for(i=0;i 2)for(j=0;j 3)if(Ij∈Ti) {setd[i,j]=1} 4)else{setd[i,j]=0} }} // 若項(xiàng)目Ij在事務(wù)Ti中,則對(duì)應(yīng)位置為1,否則為0; 5)endfor;endfor; 6)d[i,n+1] = ∑d[i,j] 其中i=1,2,...,m;j=1,2,...,n; // 行求和,計(jì)算(n+1)列 7)d[m+1,j] = ∑d[i,j] 其中i=1,2,...,m;j=1,2,...,n; // 列求和,計(jì)算 (m+1) 行 8)if(d[m+1,i] 9){temp=Column[i] ;Column[i] =Column[j] ;Column[j] =temp; } 10)minSupport_Count=Math.Ceiling(minSupport*m)//計(jì)算最小支持?jǐn)?shù),m為事務(wù)數(shù)量; 11)L[1] = {Ij∈C1|d[m+1,j] >=minSupport_Count} // 頻繁1項(xiàng)集; 12)for(i=0;i 13)if(d[i,n+1] 14)刪除i行后,i行后面的事務(wù)往前移動(dòng);m-- ; // 行數(shù)減1; 15)for(j=0;j 16)if(d[m+1,j] 17)刪除j列后,j列后面的項(xiàng)目往前移動(dòng);n--; // 列數(shù)減1; 18)重新進(jìn)行行列就和; 19)for(h= 1 ;h<=m;h++) // 計(jì)算頻繁k-1項(xiàng)集L(k-1)組合后的支持?jǐn)?shù)(做向量?jī)?nèi)積運(yùn)算) 20)t=d[h,i] *d[h,j];s+=t; 21)L[k] = {C[k] |s>=minSupport_Count}; // 得到頻繁項(xiàng)集L[k] 表2為某汽車企業(yè)部分故障數(shù)據(jù),表示機(jī)械設(shè)備某次維修出現(xiàn)的故障代碼。這里只列出普通設(shè)備故障,其中包括機(jī)床主動(dòng)力部位故障、機(jī)床工作臺(tái)部位故障、機(jī)床傳動(dòng)部位故障、機(jī)床升降工作臺(tái)部位故障、機(jī)床輔助功能部位故障、機(jī)床工藝裝備部位故障、機(jī)床安全防護(hù)部位故障,對(duì)應(yīng)的故障代碼為P01、P02、P03、P04、P05、P06、P07。 表2 某汽車企業(yè)部分故障數(shù)據(jù)二元表示 掃描故障數(shù)據(jù)庫,轉(zhuǎn)換為0-1矩陣M: 分別對(duì)行列求和,并將項(xiàng)目的支持?jǐn)?shù)按降序排列,得到矩陣M0: 設(shè)最小支持度為40%,最小支持?jǐn)?shù): minSupport= 6x40%=2.4 取整數(shù)3; 求頻繁1項(xiàng)集L[1],刪除最后一行中支持?jǐn)?shù)小于3的列,保留剩余的列,剪枝后的矩陣M1: 所以頻繁1項(xiàng)集L[1]={{P05},{P03},{P02},{P01}}。 求頻繁2項(xiàng)集L[2],刪除最后一列中項(xiàng)目數(shù)小于2的行,保留剩余的行,剪枝后的矩陣M2: 對(duì)頻繁1項(xiàng)集中的項(xiàng)進(jìn)行組合,得到候選2項(xiàng)集: C[2]={{P05,P03},{P05,P02},{P05,P01},{P03,P02},{P03,P01},{P02,P01}} 計(jì)算候選2項(xiàng)集的支持?jǐn)?shù) minSupport_Count(P05*P03)=[1,1,1,1,1]*[1,1,1,1,0]=4 同理:minSupport_Count(P05*P02)=2,minSupport_Count(P05*P01)=3,minSupport_Count(P03*P02)=2,minSupport_Count(P03*P01)=3minSupport_Count(P02*P01)=1; 找出不小于最小支持?jǐn)?shù)的項(xiàng),得到頻繁2項(xiàng)集L[2]={{P05,P03},{P05,P01},{P03,P01}}。 求頻繁3項(xiàng)集L[3],刪除最后一列中項(xiàng)目數(shù)小于3的行,保留其他的行,剪枝后的矩陣M3: 對(duì)頻繁2項(xiàng)集中的項(xiàng)進(jìn)行組合,得到候選3項(xiàng)集: C[3]={{P05,P03,P01}} 支持?jǐn)?shù)minSupport_Count(P05*P03*P01)=3,不小于最小支持?jǐn)?shù),所以頻繁3項(xiàng)集L[3]={{P05,P03,P01}}。因?yàn)轭l繁3項(xiàng)集中只有一個(gè)項(xiàng)集,候選4項(xiàng)集的個(gè)數(shù)則為0,所以頻繁3項(xiàng)集是最大頻繁項(xiàng)集。 根據(jù)Apriori改進(jìn)算法,本例中的故障數(shù)據(jù)頻繁項(xiàng)集為: L[1]∪L[2]∪L[3]={{P05},{P03},{P02},{P01},{P05,P03},{P05,P01},{P03,P01},{P05,P03,P01}}}。 由此可以分析出故障P05,P03,P01有一定的關(guān)聯(lián),據(jù)此可以為設(shè)備的診斷提供依據(jù)。同理,對(duì)式(2)按照同樣的方法進(jìn)行數(shù)據(jù)挖掘,能得出故障代碼與設(shè)備狀態(tài)信息之間的關(guān)聯(lián)關(guān)系。這些分析結(jié)果為設(shè)備的后續(xù)運(yùn)維提供很好的決策支持。 設(shè)備故障診斷的結(jié)果是設(shè)備故障維修、計(jì)劃?rùn)z修和工藝編制過程中設(shè)備選取的重要參考。采用特征建模技術(shù)描述故障設(shè)備的特征信息,基于一種Apriori改進(jìn)算法,將故障數(shù)據(jù)映射為0-1矩陣,減少了傳統(tǒng)Apriori算法的運(yùn)算次數(shù),提高了計(jì)算效率。通過數(shù)據(jù)挖掘技術(shù)找到故障數(shù)據(jù)的頻繁項(xiàng)集,分析多故障之間和故障與運(yùn)行參數(shù)之間的關(guān)聯(lián)關(guān)系,從而預(yù)測(cè)設(shè)備的運(yùn)行趨勢(shì),提高設(shè)備維修效率和設(shè)備管理水平。 [1] 周桂平,王宏. 故障診斷在現(xiàn)場(chǎng)總線設(shè)備管理系統(tǒng)中的應(yīng)用[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2012(9): 94-97. [2] 楊叔子,吳波,李斌. 再論先進(jìn)制造技術(shù)及其發(fā)展趨勢(shì)[J]. 機(jī)械工程學(xué)報(bào), 2006(1): 1-5. [3] 周煥銀,劉金生,李明,等. 基于故障診斷的數(shù)據(jù)挖掘算法研究[J]. 微計(jì)算機(jī)信息, 2008(1): 151-153. [4] Al-Raheem KF, Roy A, Ramachandran KP, 等. Application of the Laplace wavelet combined with ANN for rolling bearing fault diagnosis[J]. Journal of Vibration and Acoustics, Transactions of the ASME, 2008,130(5): [5] 魯文波,蔣偉康. 利用聲場(chǎng)空間分布特征診斷滾動(dòng)軸承故障[J]. 機(jī)械工程學(xué)報(bào), 2012(13): 68-72. [6] 申桂香, 王志瓊, 張英芝, 等. 基于模糊Petri網(wǎng)的數(shù)控機(jī)床主軸故障診斷[J]. 制造技術(shù)與機(jī)床, 2012(3): 124-127. [7] Wang X, Kruger U, Irwin GW, 等. Nonlinear PCA with the local approach for diesel engine fault detection and diagnosis[J]. IEEE Transactions on Control Systems Technology, 2008,16(1): 122-129. [8] Agrawal R, Imielinski T, Swami A. Mining association rules between sets of items in large databases[A]. Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, May 26 - 28 1993[C]. Washington, DC, United states: Publ by ACM, 1993:207-216. [9] 崔貫勛,李梁,王柯柯,等. 關(guān)聯(lián)規(guī)則挖掘中Apriori算法的研究與改進(jìn)[J]. 計(jì)算機(jī)應(yīng)用, 2010(11): 2952-2955. [10]朱其祥,徐勇,張林. 基于改進(jìn)Apriori算法的關(guān)聯(lián)規(guī)則挖掘研究[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2006(7): 102-104. (編輯 李秀敏) Equipment Fault Diagnosis Technology Based on Apriori Algorithm GAN Chao1, LU Yuan1, LI Juan2,HU Ying1 (1.School of Mechanical & Electrical Engineering,Nanchang University, Nanchang 330031, China; 2.Science and Technology on Vehicle Transmission Laboratory, China North Vehicle Research Institute, Beijing 100072, China) Equipment fault diagnosis is the safeguard of the safe operation of equipment. Mining massive fault data legitimately provides an important reference for equipment management. Based on the characteristics of fault data and the deficiency of Apriori algorithm using in fault diagnosis, the feature information of faulty equipment is described by feature modeling technology, and an improved Apriori algorithm is proposed. The incidence relation is exhumed among the fault or between the fault and operating parameters by converting fault data to 0-1 matrix and calculating the frequent itemsets of fault data by pruning and handling the matrix. A strong support is provided for equipment management. At last an example is given to prove the feasibility. apriori algorithm; fault diagnosis; data mining 1001-2265(2014)01-0100-04 10.13462/j.cnki.mmtamt.2014.01.028 2013-04-09 國家自然科學(xué)基金(50905083) 甘超(1988—),男,江西豐城人,南昌大學(xué)碩士研究生,主要從事制造過程與管理方面的研究,(E-mail)gpangus@163.com。 TH165.+3;TG65 A4 實(shí)例驗(yàn)證
4 總結(jié)