王艷輝, 王淑君, 李 曼, 林 帥
(1. 北京交通大學(xué) 軌道交通控制與安全國家重點實驗室,北京 100044; 2. 北京交通大學(xué) 交通運輸學(xué)院,北京 100044;3. 北京交通大學(xué) 北京市城市交通信息智能感知與服務(wù)工程技術(shù)研究中心,北京 100044)
動車組是由自動化控制設(shè)備、列車設(shè)備以及線路等眾多單元構(gòu)成的復(fù)雜機電設(shè)備集成系統(tǒng),系統(tǒng)中的不同設(shè)備之間及同1設(shè)備的不同部分之間相互關(guān)聯(lián)、緊密耦合,單1故障往往會引起“牽一發(fā)而動全身”的“水波效應(yīng)”,造成由微小故障涌現(xiàn)成嚴重故障的后果。
為此,本文基于CRHX型動車組牽引系統(tǒng)的故障數(shù)據(jù),課題組前期利用改進N-Gram算法[1]提取故障信息特征詞,在此研究成果的基礎(chǔ)上,挖掘故障數(shù)據(jù)中蘊含的關(guān)聯(lián)規(guī)則,研究設(shè)備間的關(guān)聯(lián)失效關(guān)系。
對于關(guān)聯(lián)規(guī)則挖掘算法的研究始于Agrawal等人于1993年首次提出Apriori算法[2],傳統(tǒng)的關(guān)聯(lián)規(guī)則挖掘算法大多數(shù)是以Apriori算法為基礎(chǔ)。該算法需要多次掃描數(shù)據(jù)庫并生成大量候選集,效率較低。針對Apriori算法的缺陷,Han J[3]等人提出一種基于頻繁模式樹(FP-tree)進行頻繁項集挖掘的FP-Growth算法,該算法只需掃描數(shù)據(jù)庫兩次且不需要產(chǎn)生候選集,顯著縮小了搜索空間,相對于Apriori算法的效率有1個數(shù)量級的改善[4]。但是該算法需要遞歸地生成大量的條件FP-樹,耗費大量的存儲空間和時間。為此研究者提出了許多基于該算法的改進算法:基于hash表的FP-tree頻繁模式挖掘算法[5],頻繁項集并行挖掘算法[6],基于MapReduce的FP-Growth算法[7],MS-FP-Growth算法[8],信息導(dǎo)向的FP-Growth算法[9],基于項目約束的改進FP-Growth算法[10]等。上述算法從不同方面對FP-Growth算法進行了改進,但每次生成新的FP樹時依然需要2次遍歷條件模式基,導(dǎo)致系統(tǒng)需要反復(fù)申請本地以及數(shù)據(jù)庫服務(wù)器的資源查詢相同內(nèi)容的海量數(shù)據(jù),一方面使算法的執(zhí)行效率大大降低,另一方面給數(shù)據(jù)庫服務(wù)器帶來負擔(dān)。
基于上述算法存在的問題,同時結(jié)合動車組故障信息特征詞的特點,本文在經(jīng)典FP-Growth算法的基礎(chǔ)上加入關(guān)系表得到改進的FP-Growth算法,避免了第1次遍歷條件模式基,提高了算法的效率。利用改進的FP-Growth算法針對設(shè)備故障信息特征詞挖掘頻繁項集,進一步得到設(shè)備關(guān)聯(lián)失效規(guī)則,構(gòu)建設(shè)備關(guān)聯(lián)失效模型并以CRHX型動車組牽引系統(tǒng)為例進行分析,驗證了該算法的可行性、實用性和高效性。
本文依據(jù)CRHX型動車組牽引系統(tǒng)自2011年1月至2012年4月的故障數(shù)據(jù)進行研究,共計6 000余條,部分故障數(shù)據(jù)見表1。對以上數(shù)據(jù)進行初步分析后發(fā)現(xiàn)存在以下問題。
表1 CRHX型動車組牽引系統(tǒng)部分故障數(shù)據(jù)表
(1) 故障數(shù)據(jù)量較大
動車組系統(tǒng)包含兩萬多個零部件,每個零部件都有可能存在多種故障情況;另外,每條故障數(shù)據(jù)又包含故障時間、故障描述、所屬列車編號等73個屬性字段,由此可見故障數(shù)據(jù)量的巨大。
(2) 故障數(shù)據(jù)的不一致性
目前故障數(shù)據(jù)主要是由人工記錄,大部分為描述性語言,不同的人對同一故障現(xiàn)象的命名不同,描述的詳細程度也不同,例如:對于部件的異常排風(fēng),有的故障描述中用的是“漏風(fēng)”一詞,有的是“排風(fēng)”,有的是“打風(fēng)”。因此故障數(shù)據(jù)的格式缺乏統(tǒng)一的標(biāo)準。
(3) 故障數(shù)據(jù)的不完整性
雖然經(jīng)過人員的審核,故障數(shù)據(jù)中仍出現(xiàn)空缺值或由于人工記錄造成部分數(shù)據(jù)錯誤的情況。例如:“故障所屬設(shè)備”這一列數(shù)據(jù)中空缺值達到20%;某條故障數(shù)據(jù)中,危害等級為災(zāi)難,而運營模式為正常,故障類別為碎修(未晚點),數(shù)據(jù)明顯錯誤。
(4) 故障數(shù)據(jù)屬性字段的冗余性
并非所有的故障數(shù)據(jù)都可以用來進行分析。比如部分數(shù)據(jù)為空白數(shù)據(jù),部分數(shù)據(jù)為冗余數(shù)據(jù)對于本研究沒有意義。例如整列空白的字段包括:維修材料費用、修復(fù)后系統(tǒng)測試時間、修復(fù)后系統(tǒng)調(diào)試時間等,冗余字段包括:故障錄入人、故障錄入時間、審核人、審核時間等。
這些故障數(shù)據(jù)往往由于不便量化、不夠精確或由于應(yīng)用技術(shù)的限制而無法被直接利用,無法充分有效地挖掘其中隱含的相關(guān)信息,因此前期課題組提出改進的N-Gram算法[1],利用此算法從故障數(shù)據(jù)中提取故障信息特征詞,經(jīng)初步分析得出,故障信息特征詞具有以下特點:
(1) 故障信息特征詞是從故障數(shù)據(jù)中提取的概念標(biāo)識,保留了原始故障數(shù)據(jù)的基本特征,仍可反映系統(tǒng)故障的基本情況。
(2) 相較于原始故障數(shù)據(jù),故障信息特征詞更加簡潔、直觀、明了,便于關(guān)聯(lián)規(guī)則挖掘算法的應(yīng)用。
(3) 故障信息特征詞中蘊含著設(shè)備的關(guān)聯(lián)失效關(guān)系。
(4) 故障信息特征詞提取的方式是否得當(dāng)、提取的特征是否有效,直接影響到設(shè)備關(guān)聯(lián)失效規(guī)則挖掘的準確性。
基于動車組的故障數(shù)據(jù)及故障信息特征詞的以上特點,本文提出改進的FP-Growth算法挖掘設(shè)備的關(guān)聯(lián)失效規(guī)則,研究設(shè)備間的關(guān)聯(lián)失效關(guān)系。改進算法適用于此類以文字記錄為主的文本型數(shù)據(jù)庫的關(guān)聯(lián)規(guī)則挖掘。
FP-Growth算法是經(jīng)典的關(guān)聯(lián)規(guī)則挖掘算法之一,該算法不產(chǎn)生候選模式,采用頻繁模式增長算法對頻繁項集進行壓縮,得到頻繁模式FP樹(Frequent Pattern Tree)[3]。FP樹是一種特殊的前綴樹,分為頻繁項目頭表和頻繁項前綴子樹,用樹的分支標(biāo)識項目名稱,用樹的節(jié)點存儲后綴項。用路徑表示項集,存儲在1棵子樹中的項目具有相同前綴的項集。算法的主要思路為:把事務(wù)數(shù)據(jù)庫中所有的頻繁項集壓縮到1棵FP樹上,保留各個項集之間的關(guān)聯(lián)關(guān)系;之后把這種壓縮后的數(shù)據(jù)庫分成條件數(shù)據(jù)庫(特殊類型的映射數(shù)據(jù)庫),每條關(guān)聯(lián)規(guī)則就是1個頻繁項目,分別挖掘各個條件數(shù)據(jù)庫,并且創(chuàng)建1個項目頭表,每個項都要通過1個節(jié)點指向它在樹上的出現(xiàn)位置。所以項目事務(wù)數(shù)據(jù)庫中包含的所有信息都壓縮在FP樹中,對事務(wù)數(shù)據(jù)庫的挖掘變成對FP樹的挖掘。FP樹結(jié)構(gòu)對數(shù)據(jù)起到良好的壓縮作用,只需掃描事務(wù)名稱和項目集合2次數(shù)據(jù)庫,即可將數(shù)據(jù)庫中頻繁項目信息全部壓縮存儲在FP樹上,其后對頻繁項集支持度的計算只需在FP樹上進行,不需要掃描整個數(shù)據(jù)庫。
2.1節(jié)的經(jīng)典FP-Growth算法忽略了新支持度計數(shù)列表與原有支持度計數(shù)列表間的關(guān)系,因此需要2次遍歷條件模式基,不僅降低了算法效率而且給數(shù)據(jù)庫服務(wù)器造成負擔(dān)。在經(jīng)典FP-Growth算法的基礎(chǔ)上加入關(guān)系表,通過使用二維向量記錄頻繁度,省略了每次構(gòu)造新的條件FP樹時對條件模式基的第1次遍歷,僅需遍歷1次條件模式基,大大縮短建立FP樹的時間,算法效率明顯提高。具體改進思路為
(1) 遍歷事務(wù)集合S,得到各個項目的頻繁度后,剔除頻繁度低于支持度的項目,剩余項目按照支持度降序排列,生成頻繁項目集合L,得到項目表和FP樹。同時創(chuàng)建任意兩項關(guān)系表,詞關(guān)系表為1個二維表,記錄事務(wù)數(shù)據(jù)庫中任何兩項目同時出現(xiàn)的支持度計數(shù)。
(2) 關(guān)系表中記錄了事務(wù)數(shù)據(jù)庫中所有同時出現(xiàn)的任意2項的頻繁度F。刪除兩項目同時出現(xiàn)的頻繁度小于給定最小支持度的組合項目,得到新的關(guān)系表,稱此表為關(guān)系簡表。
(3) 根據(jù)關(guān)系簡表,創(chuàng)建不同后綴項目集β條件下的FP子樹。如當(dāng)β={x}時,抽取關(guān)系簡表中與x相關(guān)的行、列值,將對應(yīng)行值和列值相加,可得到條件β下,x與其他項的支持度計數(shù),構(gòu)建出當(dāng)前條件下的FP子樹,進而得到不同后綴項目集β條件下的所有頻繁項目集。
改進的FP-Growth算法在對FP樹遍歷搜索頻繁項集時,利用關(guān)系簡表有效地提高了算法的效率。改進前后的FP-Growth算法,在FP樹的構(gòu)造過程中是相同的,都是1次遍歷每個事務(wù)得到FP樹,同時統(tǒng)計每個事務(wù)的頻繁度,并降級排列,得到與FP樹對應(yīng)的項目頭表。改進算法的實現(xiàn)流程為
Step1建立項目關(guān)系表。統(tǒng)計項目事務(wù)數(shù)據(jù)庫S中任意兩項同時出現(xiàn)的頻繁度,建立項目關(guān)系表,項目關(guān)系表中記錄了所有的兩兩項目同時出現(xiàn)的頻繁度,這里稱組合項的頻繁度。例如事務(wù){(diào)A,B,C,D},則得到的所有二維向量關(guān)系為A,B、(A,C)、A,D、B,C、B,D、C,D,其中B,C≠C,B。
Step2建立項目關(guān)系簡表。由于對于組合頻繁度小于最小支持度的兩項目關(guān)系并不關(guān)心,因此需要把這些項目關(guān)系從表中刪除,得到新的項目關(guān)系表,將此表稱為關(guān)系簡表,見圖1。
Step3考慮項目頭表中項目頻繁度最小的項目。項目A出現(xiàn)在表格的最后為項目頻繁度最小的項,此時令后綴項目集β={A},獲取關(guān)系簡表中第1行和第1列中關(guān)于A的所有項目的支持度信息,可以得到{(A,B):1+0;(A,C):2+0;(A,D):1+0;A,E:1+0};相關(guān)項目的支持度集合記為L_A,因此L_A={B:1+0;C:2+0;D:1+0;E:1+0};剔除支持度小于2的項目,可得條件項目基為{(C:2)},得到對應(yīng)的頻繁項目集合為{{C,A}:2}。
Step4當(dāng)后綴項目集β={E}時,在關(guān)系簡表中獲取與E相關(guān)的第5列的所有項目的支持度信息,具體結(jié)果為{(E,A):0+1;(E,B):0+3;(E,C):0+2;(E+D):0+0};相關(guān)項目的支持度集合L_E={A:0+1,B:0+3,C:0+2};剔除支持度小于2的項目,可得條件項目基為{(B:2),C:2},得到對應(yīng)的頻繁項目集合為{{B,E}:2,{C,E}:2}。
同上述步驟,當(dāng)β={C}時,相關(guān)項目的支持度集合L_C={A:0+2,B:0+2,D:1+0,E:2+0},條件項目基{B:2,E:2},得到對應(yīng)的頻繁項目集合為{{B,C}:2,{E,C}:2},整個算法的具體實現(xiàn)流程見圖2。
為證明本文中改進FP-Growth算法的準確性與高效性,將其與兩類經(jīng)典算法(改進Apriori算法與FP-Growth算法)進行了性能方面的對比與分析。測試環(huán)境為Intel Core 2,主頻2 GHz,內(nèi)存2 GB,操作系統(tǒng)為Windows7,使用Java編程。其中改進Apriori算法代碼中采用了許多優(yōu)化措施,其性能已大大優(yōu)于最初的Apriori算法,是公認的Apriori算法的最佳實現(xiàn)。由于所采用的3種算法在同一數(shù)據(jù)集和相同支持度下得到的頻繁項集完全相同,因此很好地證明了改進FP-Growth算法的準確性。
本實驗中采用的測試數(shù)據(jù)集為T10I4D100K和Retail,均屬于稀疏型數(shù)據(jù)集,其中T10I4D100K共有10 0000條記錄,包含870個項目,項目的支持度分布較均勻,最大項目支持度計數(shù)為7 828,而Retail是更稀疏數(shù)據(jù)集,共有88 162條記錄,包含8 708個項目,項目的支持度跨度較大,最大項目支持度計數(shù)為50 675。實驗分別對這2個數(shù)據(jù)集從2個方面進行算法運行時間的比較,一個方面是測試使用關(guān)系簡表后對算法運行時間的影響,在對兩個數(shù)據(jù)集都選擇支持度為0.1的條件下,每次加載不同的事務(wù)數(shù)量進行測試,實驗結(jié)果見圖3;另一個方面是測試至多掃描一次事務(wù)數(shù)據(jù)庫對算法運行時間的影響,對2個數(shù)據(jù)集都加載全部事務(wù),每次選擇不同的支持度,實驗結(jié)果見圖4。圖4中給出的運行時間是從讀取數(shù)據(jù)開始,一直到得出所有頻繁項集的時間,但不包括輸出結(jié)果的時間。
表2 針對T10I4D100K數(shù)據(jù)集不同支持度下的算法占用內(nèi)存比
支持度/%FP?Growth算法/改進FP?Growth算法改進Apriori算法/改進FP?Growth算法81.211.361.212.842.914.223.819.315.227.5
表3 針對Retail數(shù)據(jù)集不同支持度下的算法占用內(nèi)存比
圖3(a)、3(b)分別給出了針對兩個數(shù)據(jù)集在不同事務(wù)數(shù)量下的算法運行時間比較情況。性能大致為:改進FP-Growth大于改進Apriori大于FP-Growth,且事務(wù)數(shù)量越多效率越高,主要原因是當(dāng)事務(wù)數(shù)量增大時只需更新關(guān)系簡表,此后的挖掘可以脫離原數(shù)據(jù)庫進行,極大地縮小了開銷。對于T10I4D100K數(shù)據(jù)集,改進FP-Growth的效率比FP-Growth快3~5倍,比改進Apriori快2~4倍;對于Retail數(shù)據(jù)集,改進FP-Growth的效率比FP-Growth快4~8倍,比改進Apriori快2~4倍。圖4(a)、4(b)分別給出了在針對兩個數(shù)據(jù)集在不同支持度下的算法運行時間比較情況。性能大致為:改進FP-Growth>改進Apriori大于FP-Growth,且隨著支持度的增加,算法的效率也更高,當(dāng)支持度增加到一定程度后,算法運行時間趨向1個穩(wěn)定值。主要原因是絕大部分時間消耗在1次掃描事務(wù)數(shù)據(jù)庫上,而這部分時間不會發(fā)生變化。對于T10I4D100K數(shù)據(jù)集,改進FP-Growth的效率比FP-Growth快2~3倍,比改進Apriori快1倍以上;對于Retail數(shù)據(jù)集,改進FP-Growth的效率比FP-Growth快10%~40%,比改進Apriori快10%~30%。從測試結(jié)果可以看出,采用加入關(guān)系簡表改進措施后,改進FP-Growth算法的性能對于2個數(shù)據(jù)集都是效率最高的,其次為改進Apriori算法、FP-Growth算法。其中,采用優(yōu)化措施后的Apriori算法,對于非稠密數(shù)據(jù)具有較高的效率,其性能優(yōu)于FP-Growth算法。
此外可將算法所占用內(nèi)存的比值對比其性能。結(jié)果見表2、表3,占用內(nèi)存的比值分別為FP-Growth算法和改進Apriori算法與改進FP-Growth算法的比值??梢姼倪MFP-Growth算法占用內(nèi)存效率最低。其中,改進Apriori算法經(jīng)優(yōu)化后雖然運行速度較快,但是由于算法需要生成候選項集,因此占用內(nèi)存仍然較高。而FP-Growth算法和改進FP-Growth算法不需產(chǎn)生候選項集,因此占用內(nèi)存要明顯小于改進Apriori算法。此外,由于改進FP-Growth算法大大降低了掃描數(shù)據(jù)庫的次數(shù),而且當(dāng)支持度變化時無需再次訪問數(shù)據(jù)庫,因此內(nèi)存占用也明顯小于FP-Growth算法。
因此,改進的FP-Growth算法在挖掘頻繁項集時優(yōu)勢明顯,具有較好的性能。實驗結(jié)果證明了改進FP-Growth算法的準確性與高效性。
基于改進的FP-Growth算法挖掘設(shè)備的關(guān)聯(lián)失效規(guī)則,在前節(jié)中已經(jīng)利用改進的FP-Growth算法得到了事務(wù)數(shù)據(jù)庫S中項目所有的頻繁項集,具體結(jié)果見表4。根據(jù)得到的頻繁項集,生成關(guān)聯(lián)失效規(guī)則,見表5,具體步驟[11]為
Step1對于任何一個頻繁項集l,產(chǎn)生l的所有非空子集;
Step2對于l的每個非空子集s,如果滿足置信度Confidence(s?l-s)≥minConf,則說明s與l-s之間存在關(guān)聯(lián)失效關(guān)系,則說明s?l-s為強關(guān)聯(lián)規(guī)則,即項l-s發(fā)生失效引起項s失效。
表4 事務(wù)數(shù)據(jù)庫S對應(yīng)的頻繁項集
表5 關(guān)聯(lián)失效規(guī)則表
利用改進的FP-Growth算法對設(shè)備故障信息特征詞的事務(wù)數(shù)據(jù)庫進行分析,得到設(shè)備失效的頻繁項目集,挖掘出各個項目之間的關(guān)聯(lián)失效規(guī)則,進而建立關(guān)聯(lián)失效模型,具體步驟為
Step1建立事務(wù)數(shù)據(jù)庫。由設(shè)備故障信息特征詞構(gòu)成的事務(wù)集合得到事務(wù)數(shù)據(jù)庫;
Step2建立頻繁項目集庫。根據(jù)改進的FP-Growth算法,得到事務(wù)數(shù)據(jù)庫中的頻繁i-項集(i=1,2,…,n),進而建立頻繁項集庫;
Step3挖掘項目的關(guān)聯(lián)失效規(guī)則。根據(jù)得到的頻繁項集找出影響項目和被影響項目,生成項目之間的關(guān)聯(lián)失效規(guī)則。關(guān)聯(lián)失效規(guī)則的前項和后項存在關(guān)聯(lián)失效關(guān)系,前項為被影響項,后項為影響項,后項發(fā)生失效會引起前項失效;
Step4建立關(guān)聯(lián)失效模型。由每個項目的關(guān)聯(lián)失效規(guī)則,得到所有項目的關(guān)聯(lián)失效規(guī)則,建立關(guān)聯(lián)失效模型,見圖5。
利用改進的FP-Growth算法對CRHX型動車組的牽引系統(tǒng)進行實例分析。CRHX型動車組采用動力分散交流傳動方式,最高運營速度為250 km/h。整個車體采用8輛編組形式,4動2拖,分為2個動力單元,每個動力單元包括兩個動車和2輛拖車(T-M-M-T)[12]。CRHX型動車組牽引系統(tǒng)由兩個基本動力單元組成,每個基本動力單元主要由1臺牽引變壓器、2臺牽引變流器、8臺三相交流異步牽引電機構(gòu)成。
基于2011年至2012年期間CRHX型動車組牽引系統(tǒng)的故障數(shù)據(jù)進行分析,每條故障數(shù)據(jù)包含故障編號、列車編號、故障模式、故障日期、初步處理措施、初步原因、危害等級、運營模式、運行公里數(shù)、故障所屬系統(tǒng)、所屬子系統(tǒng)、所屬部件等屬性。提取到的CRHX型動車組牽引系統(tǒng)故障信息特征詞如下:電壓互感器、自動過分相裝置、受電弓、高壓隔離開關(guān)、主斷路器、避雷器、四象限整流器、輔助逆變器、牽引電機、牽引逆變器等設(shè)備。選取6 000多條故障數(shù)據(jù),構(gòu)建2 000多個事務(wù),得到包含2 000多個項目集合的事務(wù)數(shù)據(jù)庫,事務(wù)數(shù)據(jù)庫的部分結(jié)果見表6。
為使關(guān)聯(lián)分析簡單化,需要對事務(wù)數(shù)據(jù)庫中的設(shè)備進行字母編碼,編碼規(guī)則見表7。將牽引系統(tǒng)設(shè)備的事務(wù)數(shù)據(jù)庫按照編碼規(guī)則進行設(shè)備編碼,得到新的事務(wù)數(shù)據(jù)庫,部分編碼后的事務(wù)數(shù)據(jù)庫見表8。
表6 事務(wù)數(shù)據(jù)庫的部分結(jié)果
表7 設(shè)備編碼定義表
表8 部分編碼后的事務(wù)數(shù)據(jù)庫
基于改進的FP-Growth算法對設(shè)備的編碼事務(wù)數(shù)據(jù)庫進行關(guān)聯(lián)失效分析,具體分析步驟為
Step1構(gòu)建頻繁模式樹FP-tree
(1) 掃描編碼事務(wù)數(shù)據(jù)庫,統(tǒng)計各個項目的支持度,生成長度為l的頻繁項目候選集q及其支持度。對候選集q,按照支持度降序排列,本文設(shè)定最小支持度為20,將支持度小于20的項目刪除,生成頻繁項目集合L,具體生成結(jié)果見表9。
表9 各個項目頻繁度匯總表
(2) 創(chuàng)建FP樹根節(jié)點,標(biāo)記為“null”,按照FP樹的創(chuàng)建過程,得到牽引系統(tǒng)的FP樹,見圖6。
Step2遍歷FP樹挖掘頻繁項集
按照改進的FP-Growth算法構(gòu)建頻繁項集,基于Java編程語言對該算法進行實現(xiàn)。經(jīng)過程序的運行,遍歷根據(jù)牽引系統(tǒng)事務(wù)數(shù)據(jù)庫構(gòu)造的FP樹,同時結(jié)合根據(jù)支持度構(gòu)建的二維簡表,得到項目的各個頻繁項集。
Step3構(gòu)建關(guān)聯(lián)失效模型
根據(jù)各個頻繁項目集合可以找到各個項目的關(guān)聯(lián)項目,找到被影響項目和影響項目,得到設(shè)備之間的關(guān)聯(lián)失效規(guī)則,見表10。
表10 牽引系統(tǒng)設(shè)備的關(guān)聯(lián)失效規(guī)則表
根據(jù)關(guān)聯(lián)失效規(guī)則中前項與后項的關(guān)系便可建立設(shè)備的關(guān)聯(lián)失效模型,結(jié)果見圖7。該模型很好地描述了動車組設(shè)備的關(guān)聯(lián)失效過程及機理。以關(guān)聯(lián)失效模型為研究基礎(chǔ),進一步展開對設(shè)備間關(guān)聯(lián)失效特性、關(guān)聯(lián)失效傳播的機制及相關(guān)防控策略的研究,可以使設(shè)備故障得到早診斷、早預(yù)防、早處理,防止設(shè)備故障的進一步擴大。因此本文提出的關(guān)聯(lián)失效模型構(gòu)建方法具有一定的理論依據(jù)和指導(dǎo)意義,并為其他領(lǐng)域的關(guān)聯(lián)失效研究提供了參考。
采用與前節(jié)相同的3種算法代碼進行性能測試。實驗采用的測試數(shù)據(jù)集為CRHX型動車組牽引系統(tǒng)的設(shè)備故障信息特征詞,具有6 850條記錄,包含2 730個事務(wù),與T10I4D100K、Retail數(shù)據(jù)集同屬于稀疏型數(shù)據(jù)集。測試環(huán)境為Intel Core 2,主頻2 GHz,內(nèi)存2 GB,操作系統(tǒng)為Windows7,使用Java編程。
圖8給出了在上述數(shù)據(jù)集不同支持度下的算法運行時間比較情況。在不同支持度下改進FP-Growth算法的運行效率都明顯優(yōu)于FP-Growth算法和改進Apriori算法,大致為改進FP-Growth算法大于改進Apriori算法,改進Apriori算法大于FP-Growth算法,改進FP-Growth算法的效率比FP-Growth算法快2~3倍,比改進Apriori算法快1~2倍。而且隨著支持度閾值的減小,改進FP-Growth算法的增長趨勢也較平緩,當(dāng)支持度閾值較小時,改進FP-Growth算法的優(yōu)勢更能凸顯。因此,改進FP-Growth算法優(yōu)勢明顯,具有較好的性能。
本文依據(jù)前期課題組對故障數(shù)據(jù)的研究成果,在故障信息特征詞的基礎(chǔ)上展開對動車組的設(shè)備間關(guān)聯(lián)失效關(guān)系的研究。在深入了解關(guān)聯(lián)分析的理論知識和經(jīng)典案例的基礎(chǔ)上提出關(guān)聯(lián)規(guī)則挖掘算法,即改進的FP-Growth算法。經(jīng)典FP-Growth算法中需要2次掃描數(shù)據(jù)庫建立FP樹,針對此問題對算法進行改進,提出了使用關(guān)系表的方法,從而省去經(jīng)典算法對條件模式基的第1次遍歷,至多掃描數(shù)據(jù)庫1次。而且當(dāng)支持度計數(shù)和數(shù)據(jù)變化時,只需要更新關(guān)系表,此后的挖掘可以脫離原數(shù)據(jù)庫進行,極大地縮小了開銷。以兩類經(jīng)典數(shù)據(jù)集對改進算法進行了性能測試,表明該算法是1個高效準確的關(guān)聯(lián)規(guī)則挖掘算法。
基于改進的FP-Growth算法對故障信息的特征詞進行關(guān)聯(lián)分析,挖掘設(shè)備關(guān)聯(lián)失效規(guī)則并構(gòu)建設(shè)備關(guān)聯(lián)失效模型,為動車組故障傳播、故障診斷及維修方面的研究提供了理論依據(jù)。并以CRHX型動車組牽引系統(tǒng)進行了實例分析,驗證了本方法的有效性,由于故障數(shù)據(jù)有限,后續(xù)需要從大樣本角度對該方法的實用性進行進一步的應(yīng)用和檢驗。然而對于具有關(guān)聯(lián)失效關(guān)系的設(shè)備,其發(fā)生的故障相互影響,甚至循環(huán)作用,使得故障診斷變得非常復(fù)雜,以關(guān)聯(lián)失效模型為載體探求系統(tǒng)故障診斷方法成為進一步研究的重點問題。另外,一般的關(guān)聯(lián)規(guī)則挖掘方法多數(shù)是大眾化、通用型的,很少有專門為分析和挖掘動車組的故障數(shù)據(jù)而設(shè)計的。為此必須根據(jù)動車組的特點進行改進和創(chuàng)新現(xiàn)有方法,并進行合理組合,從而提高關(guān)聯(lián)失效規(guī)則挖掘的高效性和準確性。
參考文獻:
[1] 李曼. 基于機器學(xué)習(xí)的故障識別方法與系統(tǒng)研制[D].北京:北京交通大學(xué), 2015.
[2] AGRAWAL R, IMIELINSKI T, SWAMI A. Mining Association Rules Between Sets of Items in Large Databases[J]. ACM Sigmod Record, 1993, 22(2): 207-216.
[3] HAN Mining. Frequent Patterns without Candidate Generation[C]//Proceedings of the 2000 ACM-SIGMOD International Conference on Management of Data.New York:ACM, 2000:1-12.
[4] SINGH A K, KUMAR A, MAURYA A K. An Empirical Analysis and Comparison of Apriori and FP-growth Algorithm for Frequent Pattern Mining[C]// Proceedings of the IEEE 2014 International Conference on Advanced Communication Control and Computing Technologies(ICACCCT). New York: IEEE, 2014:1 599-1 602.
[5] 李也白, 唐輝, 張淳, 等. 基于改進的FP-tree的頻繁模式挖掘算法[J].計算機應(yīng)用, 2011,31(1): 101-105.
LI Yebai,TANG Hui,ZHANG Chun,et al. Frequent Pattern Mining Algorithm Based on Improved FP-tree [J].Application Research of Computers, 2011,31(1): 101-105.
[6] 李力, 翟東海, 靳蕃. 一種頻繁項集并行挖掘算法[J].鐵道學(xué)報, 2003,25(6):71-75.
LI Li,ZHAI Haidong, JIN Fan. A Parallel Algorithm for Frequent Itemsets Mining[J]. Journal of the China Railway Society, 2003, 25(6):71-75.
[7] CHEN X S, ZHANG S, TONG H, et al. FP-growth Algorithm Based on the Boolean Matrix and Mapreduce[J].Journal of South China University of Technology,2014:42(1):135-141.
[8] TAKTAK W, SLIMANI Y. MS-FP-Growth: A Multi-support Vrsion of FP-Growth Agorithm[J]. International Journal of Hybrid Information Technology, 2014, 7(3):147-157.
[9] NEERBEK J. Message-driven FP-growth[C]//Proceedings of the ACM 2012 International Conference on WICSA/ECSA Companion Volume. New York:ACM, 2012: 29-36.
[10] 趙孝敏, 何松華, 李賢鵬, 等. 一種改進的 FP-Growth 算法及其在業(yè)務(wù)關(guān)聯(lián)中的應(yīng)用[J]. 計算機應(yīng)用, 2008,28(9):2 341-2 344.
ZHAO Xiaomin,HE Songhua, LI Xianpeng,et al. Improved FP-Growth Algorithm and Its Application in the Business Association [J].Application Research of Computers, 2008, 28(9):2 341-2 344.
[11] 沈斌. 關(guān)聯(lián)規(guī)則技術(shù)研究[M].杭州:浙江大學(xué)出版社,2011:3-12.
[12] 王華勝, 王憶巖, 謝川川, 等. CRH2型動車組可靠性建模與分配[J].鐵道學(xué)報, 2009,31(5):108-112.
WANG Huasheng,WANG Yiyan, XIE Chuanchuan, et al. Reliability Modeling and Assigning for CRH2 Electric Multiple Unit [J]. Journal of the China Railway Society, 2009,31(5):108-112.