劉少武,張繼福,高崇仁
(太原科技大學(xué),太原030024)
起重機(jī)械是一種應(yīng)用廣泛的特種設(shè)備,其安全運(yùn)行顯得非常重要。為此特檢院會對其進(jìn)行安全檢驗(yàn),這樣會積累大量關(guān)于其安全性檢驗(yàn)的故障、缺陷、失效相關(guān)數(shù)據(jù)。目前對起重機(jī)械的檢驗(yàn)檢測還是采取人工拿儀器檢驗(yàn)、人工記錄、人工判斷有無問題等比較原始的方法,效率非常低,對以前檢驗(yàn)的數(shù)據(jù)也只是做了一些傳統(tǒng)的統(tǒng)計報表,沒有充分利用。隨著起重機(jī)械數(shù)量的增加,應(yīng)用復(fù)雜性的增加,對其安全性檢驗(yàn)的任務(wù)越來越多,檢驗(yàn)要求越來越苛刻。因此快速、高效的找出起重機(jī)械的故障、缺陷、失效,分析它們之間的關(guān)聯(lián)性[1-2],并提出改進(jìn)和預(yù)防措施,對保障起重機(jī)械的日常正常工作,提高運(yùn)行的可靠性有著重要的意義。
數(shù)據(jù)挖掘[3](Data Mining)是從存放在數(shù)據(jù)或其他信息庫中的大量的數(shù)據(jù)中,獲取有效的、新穎的、潛在有用的、最終可理解的模式的非平凡過程。數(shù)據(jù)挖掘技術(shù)在起重機(jī)械檢驗(yàn)中應(yīng)用方向主要是檢修決策、故障診斷、部件管理等。本文介紹了利用決策樹分類和關(guān)聯(lián)規(guī)則等數(shù)據(jù)挖掘技術(shù),開發(fā)出的起重機(jī)械檢驗(yàn)數(shù)據(jù)挖掘系統(tǒng),包括系統(tǒng)的結(jié)構(gòu)及功能,數(shù)據(jù)庫的設(shè)計、數(shù)據(jù)的預(yù)處理、數(shù)據(jù)挖掘技術(shù)和運(yùn)行的結(jié)果。在系統(tǒng)中用決策樹的C4.5算法實(shí)現(xiàn)對起重機(jī)械故障診斷,用關(guān)聯(lián)規(guī)則算法FP_growth實(shí)現(xiàn)缺陷、失效相關(guān)性分析、預(yù)測。開發(fā)系統(tǒng)的目的和意義在于為檢驗(yàn)起重機(jī)械安全運(yùn)行性提供了一種有效決策模型。
參照文獻(xiàn)[4],將關(guān)聯(lián)規(guī)則所要挖掘的數(shù)據(jù)集記作D,D={t1,t2,…,tk…tn},其中tk={i1,i2,…,ij…ip}(k=1,2,…n)為一事務(wù);tk中的元素ij(j=1,2,…p)稱為Item。I={i1,i2,…,ij,…im}是由 D中所有項(xiàng)的集合,I的任何子集稱為D中的項(xiàng)集,若|X|=k,則稱集合X是k項(xiàng)集。
D中包含項(xiàng)集X的事務(wù)數(shù)稱為項(xiàng)集X的支持?jǐn)?shù),記為 σ.記項(xiàng)集 X的支持度為:support(X)=其中 |D|是數(shù)據(jù)集D的事務(wù)數(shù)。若support(X)不小于預(yù)先指定的最小支持度,則稱X為頻繁項(xiàng)集。
若X,Y為項(xiàng)目集,且X∩Y=?,蘊(yùn)涵式X?Y稱為關(guān)聯(lián)規(guī)則,X,Y分別為關(guān)聯(lián)規(guī)則X?Y的前提和結(jié)論,項(xiàng)目集(X∪Y)的支持度稱為關(guān)聯(lián)規(guī)則X?Y的支持度,記作:support(X?Y),其中support(X?Y)=support(X∪Y)關(guān)聯(lián)規(guī)則X?Y的置信度記作:
一般情況用戶挖掘需要設(shè)定最小置信度記為minsup,支持度和置信度是關(guān)聯(lián)規(guī)則中重要的參數(shù),前一個用來衡量關(guān)聯(lián)規(guī)則在D中的統(tǒng)計重要性,后者用于衡量關(guān)聯(lián)規(guī)則的可信程度,而有用的關(guān)聯(lián)規(guī)則一般是支持度和置信度都較高的。挖掘關(guān)聯(lián)規(guī)則分為兩個子問題,STEP1找出存在于事務(wù)數(shù)據(jù)庫中支持度support(X)不小于用戶給定的最小支持度minsup的所有頻繁項(xiàng)目集。STEP2根據(jù)最小項(xiàng)目集和最小置信度產(chǎn)生關(guān)聯(lián)規(guī)則。參照文獻(xiàn)[4],在該系統(tǒng)中,挖掘FP-tree項(xiàng)目集采用了算法FP_growth(FP-tree,null).
決策樹分類是數(shù)據(jù)挖掘核心技術(shù)算法之一,它通過大量的訓(xùn)練集得出規(guī)則,從中找出潛在的、對決策有價值的信息,用在一些分類模型中。決策樹分類的核心思想是采用信息論中的概念,用信息增益作為決策屬性分類判別能力的度量,進(jìn)行決策節(jié)點(diǎn)屬性的選擇。決策樹算法中比較有影響的算法是ID3,后有其改進(jìn)算法能處理連續(xù)屬性的C4.5,主要用途是提取分類規(guī)則,進(jìn)行分類預(yù)測。
設(shè)S是由s個數(shù)據(jù)樣本的組成的集合。假設(shè)類別標(biāo)示屬性有m個不同的值,定義m個不同類Ci(i=1,2,…,m)。設(shè)si是類Ci中的樣本數(shù),對給定樣本分類所需期望信息為:I(s1,s2,…,sm) =-式中pi是樣本屬于Ci的概率,并且用si/s估計。設(shè)屬性Ai有k個不同值{a1,a2,…,ak},可以由Ai劃分為k個子集{S1,S2,…Sk},其中Sj包含S中這樣樣本,它們在Ai上具有值aj,1≤j≤k.如果Ai選作測試屬性,則這些子集對應(yīng)于由包含集合S的節(jié)點(diǎn)生長出來的分枝。
設(shè)si是子集Sj中類Ci的樣本數(shù),由A劃分成子集的熵給出:Esm),其中項(xiàng)充當(dāng)?shù)趈個子集的權(quán),并且等于子集中的樣本個數(shù)除以S中的樣本總數(shù)。熵值越小,子集純度越高。在Ai上分枝將獲得的編碼信息是Gain(Ai)=I(s1,s2,…,sm)-E(Ai),換句話說,Gain(Ai)是由屬性Ai的值而導(dǎo)致的熵的期望壓縮。產(chǎn)生一棵枝節(jié)較為豐富的樹之后,需要有選擇性地修剪,得到一個精簡的子樹。
參照文獻(xiàn)[5],系統(tǒng)采用了C4.5決策樹分類算法。
系統(tǒng)在結(jié)構(gòu)上分為五個部分(他們之間的關(guān)系如圖1所示):原始MYSQY數(shù)據(jù)庫,一定意義上的數(shù)據(jù)倉庫,數(shù)據(jù)挖掘引擎(分為決策樹和關(guān)聯(lián)規(guī)則),規(guī)則庫,圖形用戶界面。用戶主要分三類:特檢院檢驗(yàn)員、一般用戶、特檢院系統(tǒng)管理員。他們在系統(tǒng)的使用過程中扮演不同的角色。
根據(jù)實(shí)際的需求分析,系統(tǒng)實(shí)現(xiàn)的主要功能有:特檢院檢驗(yàn)員能夠存儲不同起重機(jī)械的檢驗(yàn)數(shù)據(jù),并能方便有效地實(shí)現(xiàn)相應(yīng)數(shù)據(jù)的操作和管理,主要包括檢驗(yàn)信息的錄入、刪除和修改以及關(guān)鍵字的查詢;特檢院系統(tǒng)管理人員能夠?qū)z驗(yàn)數(shù)據(jù)進(jìn)行預(yù)處理并形成相應(yīng)的預(yù)處理數(shù)據(jù)庫。當(dāng)輸入相應(yīng)的參數(shù),對數(shù)據(jù)進(jìn)行分類挖掘,相關(guān)性挖掘。最終生成規(guī)則庫,并方便的對規(guī)則庫進(jìn)行刪除修改以及查詢;一般用戶當(dāng)輸入相應(yīng)的參數(shù)時能夠根據(jù)規(guī)則庫里面的規(guī)則對故障進(jìn)行分類,對缺陷、失效進(jìn)行預(yù)測,最后顯示給用戶。系統(tǒng)還能夠提供一定的安全機(jī)制,提供數(shù)據(jù)信息授權(quán)訪問,防止隨意刪改。系統(tǒng)功能如圖2所示。
圖2 系統(tǒng)功能Fig.2 System function
系統(tǒng)開發(fā)的環(huán)境是集成的MyEclipse,采用Stucts框架設(shè)計出基于J2EE的Web應(yīng)用系統(tǒng),服務(wù)器為Apache-tomcat-6.0.28,數(shù)據(jù)庫為Mysql-essential-5.1.48,系統(tǒng)運(yùn)行在雙核1.3G內(nèi)存2G的Windows XP操作系統(tǒng)上。
好的數(shù)據(jù)庫是設(shè)計整個系統(tǒng)的基礎(chǔ)。由于關(guān)聯(lián)規(guī)則和決策樹用的預(yù)處理數(shù)據(jù)和得到的結(jié)果不同,所以在設(shè)計數(shù)據(jù)庫表時分別為其設(shè)計了表。系統(tǒng)在MYSQL中建立數(shù)據(jù)庫名為qizhongjixie,并創(chuàng)建和設(shè)計了六個表 qizhongjixie_admin、xcjy_data、ycl_data、ycljc_data、gz_data、gzjcs_data,分別存放用戶信息、檢驗(yàn)數(shù)據(jù)、關(guān)聯(lián)規(guī)則預(yù)處理數(shù)據(jù),決策樹預(yù)處理數(shù)據(jù),關(guān)聯(lián)規(guī)則所得的規(guī)則以及決策樹所得的決策樹。
數(shù)據(jù)庫中的原始數(shù)據(jù)通常有一個共同特點(diǎn),即存在大量的不完整、含噪聲和不一致的數(shù)據(jù)。數(shù)據(jù)預(yù)處理一般包括消除噪聲,推導(dǎo)計算缺值數(shù)據(jù),消除重復(fù)記錄等,數(shù)據(jù)預(yù)處理的目的是為數(shù)據(jù)挖掘過程提供干凈、準(zhǔn)確、簡潔的數(shù)據(jù)。在所開發(fā)的系統(tǒng)中,提高數(shù)據(jù)挖掘效率和準(zhǔn)確性是數(shù)據(jù)挖掘中非常重要的環(huán)節(jié),這個過程主要遵循以下參考原則:盡可能賦予屬性名明確的含義;統(tǒng)一多數(shù)據(jù)源的屬性值編碼;處理空缺值等。例如在原始數(shù)據(jù)中檢驗(yàn)項(xiàng)有大車限位失靈和大小車制動失效這兩種情況,在處理過程中認(rèn)為是同一種問題,一些對起重機(jī)械安全沒有影響的檢驗(yàn)結(jié)果忽略,對結(jié)果影響不大的屬性沒有加以考慮。系統(tǒng)在對其進(jìn)行預(yù)處理過程中根據(jù)預(yù)處理頁面提交的參數(shù)調(diào)用相應(yīng)的算法對原始數(shù)據(jù)進(jìn)行自動預(yù)處理,并將結(jié)果存到相應(yīng)的數(shù)據(jù)庫表中。根據(jù)以上的原則,選取十個關(guān)鍵屬性:技術(shù)文件、作業(yè)環(huán)境和外觀、司機(jī)室檢驗(yàn)、金屬結(jié)構(gòu)、軌道、主要零部件、電氣和控制系統(tǒng)、液壓系統(tǒng)、安全保護(hù)裝置、運(yùn)行試驗(yàn)。對十個屬性進(jìn)行相關(guān)性分析時,一次檢驗(yàn)作為一次事件Tid,當(dāng)檢驗(yàn)項(xiàng)中有缺陷、失效時記為1,否則為0;對其進(jìn)行分類時,上述十個屬性作為決策屬性,每個屬性都有不同的故障取值,故障類別屬性作為決策屬性,其值最常見的有限期整改和重新改裝,在預(yù)處理時記為兩個值P1和P2.
算法FP_growth(FP-Tree,null)在系統(tǒng)中的實(shí)現(xiàn)過程可以簡單描述為:對于給定的布爾數(shù)據(jù)集以及最小支持度和最小置信度,先用給定的算法找出頻繁項(xiàng)集,后列出滿足最小置信度的關(guān)聯(lián)規(guī)則。為實(shí)現(xiàn)這個過程,系統(tǒng)設(shè)計了以下的類和接口:DataSet(布爾數(shù)據(jù)集 )、DBReader(遍歷數(shù)據(jù)集的工具)、LargelternsetsFinder(數(shù)據(jù)挖掘方案的接口)、FPGrowth(數(shù)據(jù)挖掘方案的 FP-Tree實(shí)現(xiàn))、AssoeiationsFinder(關(guān)聯(lián)規(guī)則挖掘的接口)。最小支持度和最小置信度是由用戶任意設(shè)定傳入到類或者實(shí)現(xiàn)接口中,每一個類或者實(shí)現(xiàn)接口都會實(shí)現(xiàn)一定的功能,算法功能體現(xiàn)的是這幾個類和實(shí)現(xiàn)接口之間的相互協(xié)作的結(jié)果[6]。
算法C4.5的實(shí)現(xiàn)與算法FP_growth的實(shí)現(xiàn)思路基本相同。只是設(shè)計的類和接口不同。
用沈陽特檢院提供的檢驗(yàn)數(shù)據(jù)作為訓(xùn)練集數(shù)據(jù),分別對其進(jìn)行了缺陷、失效的關(guān)聯(lián)規(guī)則分析和故障的決策樹分類。表1是關(guān)聯(lián)規(guī)則預(yù)處理的結(jié)果,表2是關(guān)聯(lián)規(guī)則挖掘的結(jié)果,表3是決策樹預(yù)處理結(jié)果。
根據(jù)表3構(gòu)造出的決策樹為:A1,B1,A5,G1,A3,D1,A7,K1,A4,F1,A6,H1,P1,H2,A9,M1,P1,M2,P1,F2,P1,K2,P2,D2,P2,G2,P1,B2,P1.在表4所示的輸入故障參數(shù)界面中,輸入相應(yīng)的參數(shù),點(diǎn)擊預(yù)測按鈕,就會得到起重機(jī)械的故障結(jié)果。
運(yùn)行結(jié)果分析:由關(guān)聯(lián)規(guī)則得出的結(jié)果,當(dāng)輸入最小的置信度和支持度可以得出18個頻繁項(xiàng)集A9(安全保護(hù)裝置)一共出現(xiàn)244次,這說明起重機(jī)械在安全保護(hù)裝置方面做的非常不好;A6(主要零部件)和A9(安全保護(hù)裝置)一共出現(xiàn)98次,支持度和置信度分別為29.4和35.6,這說明主要零部件出現(xiàn)問題能知道安全保護(hù)裝置也出現(xiàn)問題;A7(電氣控制系統(tǒng))和A9(安全保護(hù)裝置)一共出現(xiàn)67次,支持度和置信度分別為20.1和27.3,他們之間的關(guān)聯(lián)度也相當(dāng)大。對數(shù)據(jù)決策樹得出的結(jié)果分析如下:其中B1,B2代表A1(技術(shù)文件)有和沒有故障,依次類推C1,C2代表A2有沒有故障,一直到運(yùn)行試驗(yàn)用N1,N2表示有沒有故障,P1代限期整改,P2代表重新改裝。從其中A1出發(fā)到任意一個P1或者P2都是一條決策規(guī)則,例如由A1(技術(shù)文件),A5(軌道),A3(司機(jī)室檢驗(yàn)),A7(電氣和控制系統(tǒng)),沒有故障以及A4(金屬結(jié)構(gòu))有故障,可以得出起重機(jī)械需要限期整改。
表1 關(guān)聯(lián)規(guī)則預(yù)處理結(jié)果(部分)Tab.1 The preprocessed consequence from association rules(partly)
表2 關(guān)聯(lián)規(guī)則挖掘結(jié)果(部分)Tab.2 The mining consequence from association rules(partly)
表3 決策樹預(yù)處理結(jié)果(部分)Tab.3 The preprocessed consequence of decision tree(partly)
表4 輸入?yún)?shù)界面Tab.4 The input parameter interface
根據(jù)以上所形成的規(guī)則庫,普通用戶可以對起重機(jī)械做一些故障分類,即在十個檢驗(yàn)項(xiàng)目中輸入故障參數(shù),系統(tǒng)就會自動給出起重機(jī)的故障類型。
系統(tǒng)可以對起重機(jī)械檢驗(yàn)數(shù)據(jù)進(jìn)行編輯,建立一定意義上的數(shù)據(jù)倉庫,選取適當(dāng)?shù)膮?shù)可對其進(jìn)行預(yù)處理,最重要的是對其進(jìn)行決策樹分類和關(guān)聯(lián)分析,對起重機(jī)械的故障分類和缺陷、失效預(yù)測具有積極的意義。系統(tǒng)具有自學(xué)習(xí)能力,隨著數(shù)據(jù)不斷地加入,系統(tǒng)分類和預(yù)測的準(zhǔn)確性將會不斷提高,應(yīng)用證明系統(tǒng)實(shí)用價值較高。
[1]起重機(jī)械定期檢驗(yàn)規(guī)程[EB/OL].(2007-03-01)[2011-02-28].http://wenku.baidu.com/view/9a451a454.html.
[2]起重機(jī)械監(jiān)督檢驗(yàn)規(guī)程[EB/OL].(2007-09-18)[2011-02-28].http://www.docin.com/p-9841244.html.
[3]JIAWEI HAN,MICIHELINE KAMBER.數(shù)據(jù)挖掘——概念與技術(shù)[M].范明,孟小峰,譯.北京:機(jī)械工業(yè)出版社,2001.
[4]陳玉婷,王斌,劉博,等.關(guān)聯(lián)規(guī)則挖掘算法介紹[J].計算機(jī)技術(shù)與發(fā)展,2006,16(5):21-25.
[5]SUN WEIXIANG,CHEN JUN,LI JIAQING.Decision tree and PCA-based fault diagnosis of rotating machinery[J].Mechanical Systems and Signal Processing,2007,21(3):1300-1317.
[6]房琳.基于FP-Tree算法頻繁模式挖掘的選課系統(tǒng)設(shè)計與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2005.