(1) 山東師范大學(xué)信息科學(xué)與工程學(xué)院,250358,濟(jì)南; 2) 山東超越數(shù)控電子股份有限公司,250013,濟(jì)南)
隨著航空工業(yè)和飛機(jī)制造業(yè)的快速發(fā)展,工業(yè)生產(chǎn)不斷向大型化、高速化、智能化的方向邁進(jìn),航空電子設(shè)備的結(jié)構(gòu)越來越復(fù)雜、功能越來越強(qiáng)大、維護(hù)難度也越來越高[1,2].常用的機(jī)內(nèi)測試(Built-in Test)故障檢測方法僅僅能夠得到相對離散和獨立的故障信息,但是無法把故障信息之間的關(guān)聯(lián)關(guān)系挖掘出來.故障處理不僅需要關(guān)鍵部件的故障判斷規(guī)則,還需要挖掘故障設(shè)備之間的影響規(guī)則.因此,對航空事故進(jìn)行分析,挖掘故障設(shè)備潛在的致因關(guān)系,對預(yù)防和控制飛機(jī)交通事故的發(fā)生具有重要的意義.
很多學(xué)者從不同的領(lǐng)域?qū)κ鹿实挠绊懸蛩剡M(jìn)行了分析.黃常海[3]采用Apriori關(guān)聯(lián)規(guī)則挖掘算法,在影響船舶交通安全的海量數(shù)據(jù)信息中,挖掘出與船舶交通事故關(guān)聯(lián)度較高的因素,并能迅速發(fā)現(xiàn)船舶交通安全隱患問題并及時預(yù)警,減少甚至避免船舶交通事故的發(fā)生.賈熹濱[4]將Apriori算法應(yīng)用于道路交通事故關(guān)聯(lián)關(guān)系分析中,以新浪網(wǎng)站交通事故新聞為數(shù)據(jù)源,從新聞事件中提取引發(fā)交通事故的相關(guān)因素,挖掘出導(dǎo)致事故發(fā)生的多種組合因素,總結(jié)出多發(fā)交通事故的規(guī)律,進(jìn)一步保障道路交通安全.張春[5]采用Apriori關(guān)聯(lián)規(guī)則挖掘算法對大數(shù)據(jù)進(jìn)行分析,得到與故障關(guān)聯(lián)的信息,充分發(fā)現(xiàn)高速動車組在設(shè)計、制造和運維過程的一些關(guān)聯(lián)耦合關(guān)系,可以利用發(fā)現(xiàn)的關(guān)聯(lián)規(guī)則準(zhǔn)確、及時地進(jìn)行故障判斷,并且能夠指導(dǎo)運維人員及時、高效地處理高速動車組的故障.雖然Apriori算法[6]在上述應(yīng)用領(lǐng)域中取得了一定的成就,但是在航空領(lǐng)域關(guān)聯(lián)分析當(dāng)中較少涉及.因此,本文將Apriori算法應(yīng)用于航空領(lǐng)域,針對殲-10戰(zhàn)斗機(jī)從故障設(shè)備關(guān)聯(lián)關(guān)系方面進(jìn)行相關(guān)性分析,從機(jī)載檢測系統(tǒng)提供的海量故障數(shù)據(jù)中開展故障設(shè)備關(guān)聯(lián)規(guī)則挖掘,并對關(guān)聯(lián)規(guī)則進(jìn)行分析,尋找到航空機(jī)件之間的典型故障伴生現(xiàn)象.
2.1 Apriori算法原理分析Apriori 算法是一種最有影響力的挖掘布爾關(guān)聯(lián)規(guī)則的頻繁項集的數(shù)據(jù)挖掘算法,廣泛應(yīng)用于商業(yè)、網(wǎng)絡(luò)安全、移動通信等各個領(lǐng)域,其核心是基于兩階段頻集思想的遞推算法.該算法的基本思想是循環(huán)掃描所有事務(wù)數(shù)據(jù),逐層搜索[7],通過連接產(chǎn)生候選項目集,然后通過剪枝生成頻繁項集,進(jìn)而挖掘出隱藏于項目集合之間的關(guān)聯(lián)關(guān)系、頻繁模式或因果關(guān)系等有價值的信息.利用Apriori算法產(chǎn)生頻繁項目集的具體挖掘過程,如圖1所示.
2.2 Apriori算法描述經(jīng)典算法Apriori提出了挖掘關(guān)聯(lián)規(guī)則的基于2階段頻繁集的方法[8],算法描述如下:
圖1 Apriori算法核心思想
a. 輸入: 事物數(shù)據(jù)庫D; 最小支持度 minsupport.
b.輸出:D中關(guān)聯(lián)規(guī)則的集合R.
c. 算法過程:
F1=find_frequent_1- item set(D) ;∥掃描數(shù)據(jù)集D, 找出所有頻繁1項目集的集合F1
F=?; ∥清空輸出集合
for(k=2;Fk-1≠? ;k++) {
Ck= apriori_gen(Fk-1, minsupport) ;
for each transactiont∈D{ ∥掃描D中的每條事務(wù)進(jìn)行候選計數(shù)
Ct= subset(Ck, t) ; ∥取得由事務(wù)t產(chǎn)生的候選集合
for each candidatec∈Ct
c.count ++; }∥對候選集合中的每個候選計數(shù)加1
returnF=UkFk; ∥得到頻繁項目集的集合
R=generate_rule (F);∥由頻繁項目集產(chǎn)生關(guān)聯(lián)規(guī)則
return(R) ;
航空飛機(jī)型號有殲-10雙座機(jī)、殲-10、殲-10A以及殲-10A表演機(jī)等,通過對殲-10機(jī)載檢測系統(tǒng)記錄數(shù)據(jù)[9]進(jìn)行提取,共得到2 600多種故障現(xiàn)象.為了便于挖掘飛機(jī)故障設(shè)備之間的關(guān)聯(lián)關(guān)系,本文以殲-10型號飛機(jī)作為研究對象.殲-10是中國最新一代單發(fā)動機(jī)多用途戰(zhàn)斗機(jī),具有很強(qiáng)的超視距空戰(zhàn)、近距格斗和空對地攻擊能力.殲-10有1 800多個設(shè)備,通常發(fā)生故障的有雙組合微型氣壓表、液壓傳感器、超短波電臺、發(fā)動機(jī)流量/溫度傳感器、前輪轉(zhuǎn)彎控制盒、單色多功能顯示器、電磁液壓閥鎖、電液壓力伺服閥等.在殲-10航空飛機(jī)正常運行過程中,當(dāng)一種機(jī)件設(shè)備發(fā)生故障時,對其它的機(jī)件設(shè)備會有一定的影響,往往發(fā)生故障的設(shè)備不只一種,可能是兩個設(shè)備,或三個設(shè)備甚至多個設(shè)備同時發(fā)生故障.表1給出部分故障數(shù)據(jù)的示例.
表1 機(jī)件故障數(shù)據(jù)示例
圖2 頻繁項目集的產(chǎn)生過程
3.1頻繁項目集的產(chǎn)生過程掃描殲-10故障設(shè)備數(shù)據(jù)庫D,數(shù)據(jù)庫中的每一項均為候選項,此時所有候選項的集合稱為候選項目集C1,從候選項目集C1中找出滿足閾值(即支持度不小于0.5%)的頻繁1-項集,記為F1.其中,支持度的定義[8]如下:
假設(shè)要進(jìn)行關(guān)聯(lián)規(guī)則挖掘的數(shù)據(jù)集為D,其中的每一個元素tk(k=1, 2, …,n)都對應(yīng)1個事務(wù),tk中的元素ij(j=1, 2,…,p)則稱為項目.設(shè)I={i1,i2,…,im}是所有項目的集合,I的任意子集X稱為D中的項目集,數(shù)據(jù)集D中包含項目集X的事務(wù)數(shù)稱為項目集X的支持?jǐn)?shù),記為︱X︱,那么,項目集X的支持度記作:
(1)
表2 關(guān)聯(lián)規(guī)則記錄表 %
若support(X)≥用戶指定的最小支持度(minsupport),則稱X為頻繁項目集.
將F1中的每一項進(jìn)行兩兩組合來產(chǎn)生候選項目集C2,得到的這些包含2個元素的項目集不一定都是頻繁項目集,所以需要進(jìn)行剪枝.剪枝的辦法是對C2中的項進(jìn)行閾值判定,若支持度小于0.5%則將該2項目集剔除,經(jīng)過該步驟之后,剩下的則是頻繁項目集F2,即頻繁2-項集.依次類推,可以生成3-頻繁項目集,直至生成所有的頻繁項目集.
在上述產(chǎn)生頻繁項目集的過程中需要定義支持度閾值,本文設(shè)最小支持度為0.5%,并按照如圖2所示的流程進(jìn)行頻繁項目集的計算.在這里假設(shè):a) 如果一個集合是頻繁項目集,那么它所有的子集都是頻繁項目集;b) 如果一個集合不是頻繁項目集,那么它所有的超集都不是頻繁項目集.
3.2由頻繁集挖掘關(guān)聯(lián)規(guī)則在挖掘故障設(shè)備間的關(guān)聯(lián)關(guān)系的過程中,需要從圖2得到的頻繁項目集中挖掘出符合條件的關(guān)聯(lián)規(guī)則.采用的辦法是遍歷所有的頻繁項目集,然后從每個頻繁項目集中依次取1,2,…,k個元素作為后件,該項目集中的其他元素作為前件,根據(jù)支持度和置信度計算公式進(jìn)行計算并篩選即可,其關(guān)聯(lián)規(guī)則支持度和置信度的定義[8]如下:
關(guān)聯(lián)規(guī)則是形如X→Y的蘊含式,其中X∩Y=Z,關(guān)聯(lián)規(guī)則X→Y的支持度是D中事務(wù)包含(X∪Y)的百分比,即概率P(X∪Y),記作
(2)
關(guān)聯(lián)規(guī)則X→Y的置信度是D中事務(wù)包含X事務(wù)的同時也包含Y的百分比,即條件概率P(Y/X),記作
(3)
本實驗中假設(shè)最小支持度為0.5%,通過MATLAB對故障設(shè)備進(jìn)行相關(guān)性分析實驗.由上述整個挖掘過程最終得到的44條故障設(shè)備關(guān)聯(lián)規(guī)則,如表2所示.
3.3挖掘結(jié)果分析支持度是對關(guān)聯(lián)規(guī)則的重要性的度量,表示關(guān)聯(lián)規(guī)則的頻度;可信度是對關(guān)聯(lián)規(guī)則的準(zhǔn)確度的度量,表示規(guī)則的強(qiáng)度.當(dāng)規(guī)則的支持度和置信度均不小于用戶設(shè)定的最小支持度、最小置信度時,我們稱之為強(qiáng)關(guān)聯(lián)規(guī)則[10].下面根據(jù)最小支持度和最小置信度來得到所有的關(guān)聯(lián)規(guī)則,在這里若設(shè)定最小置信度為15%,則同時滿足于最小支持度和最小置信度的強(qiáng)關(guān)聯(lián)規(guī)則如表3所示.
表3 強(qiáng)關(guān)聯(lián)規(guī)則記錄表 %
表3中的數(shù)據(jù)說明了當(dāng)航空某型飛機(jī)機(jī)件發(fā)生非正常運行情況時,各種機(jī)件之間存在故障共生關(guān)系,關(guān)系結(jié)果如下:
1) 當(dāng)雙組合微型氣壓表設(shè)備發(fā)生故障時,液壓傳感器設(shè)備有26.44%的概率會發(fā)生故障;
2) 當(dāng)超短波電臺設(shè)備出現(xiàn)故障時,發(fā)動機(jī)設(shè)備有15.67%的概率會發(fā)生故障;
3) 當(dāng)流量/溫度傳感器設(shè)備出現(xiàn)故障時,液壓傳感器設(shè)備有20.00%的概率會發(fā)生故障;
4) 當(dāng)前輪轉(zhuǎn)彎控制盒設(shè)備出現(xiàn)故障時,單色多功能顯示器設(shè)備有18.42%的概率會發(fā)生故障;
5) 當(dāng)電液壓力伺服閥設(shè)備出現(xiàn)故障時,電磁液壓閥鎖設(shè)備有23.33%的概率會發(fā)生故障;
6) 當(dāng)電磁液壓閥鎖設(shè)備出現(xiàn)故障時,電液壓力伺服閥設(shè)備有70.00%的概率會發(fā)生故障.
針對航空飛機(jī)在平時運行過程中設(shè)備產(chǎn)生故障的現(xiàn)象,本文提出了運用經(jīng)典Apriori算法進(jìn)行關(guān)聯(lián)規(guī)則挖掘,利用算例驗證了算法的可行性.根據(jù)航空設(shè)備以往歷史檢測數(shù)據(jù)而挖掘出了可行且有效的航空設(shè)備故障關(guān)聯(lián)規(guī)則,并將這些規(guī)則應(yīng)用到實際運行中的航空設(shè)備中.由于經(jīng)典Apriori算法在產(chǎn)生頻繁集的過程中,需要不斷重復(fù)掃描數(shù)據(jù)庫,可能降低執(zhí)行效率.因此,優(yōu)化Apriori算法提高算法執(zhí)行效率,進(jìn)而實時高效地挖掘出故障設(shè)備之間的深層關(guān)聯(lián)關(guān)系,還有待進(jìn)一步的探索和研究.