王小樂,張玉鋒,袁媛,高波
(西安衛(wèi)星測(cè)控中心航天器在軌故障診斷與維修重點(diǎn)實(shí)驗(yàn)室,陜西西安710043)
在軌故障不但引起衛(wèi)星功能的喪失和性能的下降,而且可能導(dǎo)致衛(wèi)星失去控制,造成巨大航天財(cái)產(chǎn)損失,因此,通過技術(shù)手段提高衛(wèi)星在軌運(yùn)行的安全性與可靠性是非常重要的。衛(wèi)星故障的精確診斷與定位是故障處置的前提,目前衛(wèi)星在軌故障診斷主要采用基于門限[1](單參數(shù))、基于規(guī)則推理[2]、基于解析模型、基于信號(hào)處理和基于定性模型[3]的方法。門限和規(guī)則推理都涉及到門限值的確定,衛(wèi)星地面診斷系統(tǒng)[4]主要采用衛(wèi)星地面設(shè)計(jì)生產(chǎn)和測(cè)試中所確定的診斷知識(shí)[5]。隨著衛(wèi)星在軌運(yùn)行,部件功能和性能退化導(dǎo)致原有的故障診斷門限和規(guī)則精度降低、診斷系統(tǒng)虛警率增高、出現(xiàn)漏警,必須運(yùn)用診斷規(guī)則和門限動(dòng)態(tài)修正技術(shù)以適應(yīng)衛(wèi)星在軌運(yùn)行的實(shí)際情況。數(shù)據(jù)挖掘能夠從歷史實(shí)測(cè)數(shù)據(jù)中獲取衛(wèi)星在軌故障后驗(yàn)知識(shí)[6],并且發(fā)現(xiàn)遙測(cè)參數(shù)之間的新的關(guān)聯(lián)關(guān)系[7],通過挖掘并更新診斷知識(shí)提高故障診斷的準(zhǔn)確性[8]。
文中通過深入挖掘在軌衛(wèi)星故障實(shí)測(cè)數(shù)據(jù),采用決策樹算法[9]從歷史故障數(shù)據(jù)中挖掘并構(gòu)建在軌衛(wèi)星故障診斷知識(shí)發(fā)現(xiàn)的決策樹模型,將決策樹算法應(yīng)用于衛(wèi)星在軌實(shí)測(cè)數(shù)據(jù)挖掘,通過挖掘獲得了更為準(zhǔn)確的衛(wèi)星故障診斷知識(shí),通過對(duì)診斷知識(shí)評(píng)估說明了方法的有效性。
衛(wèi)星在軌運(yùn)行積累了大量測(cè)控?cái)?shù)據(jù),通過機(jī)器學(xué)習(xí)和知識(shí)發(fā)現(xiàn)技術(shù)挖掘在軌衛(wèi)星故障診斷知識(shí),能夠提高診斷系統(tǒng)的適應(yīng)性和準(zhǔn)確性,保障衛(wèi)星的在軌安全。故障診斷知識(shí)挖掘流程如圖1所示。
圖1 航天器故障決策樹挖掘流程
決策樹是一種常用的數(shù)據(jù)挖掘方法,通過在包含正例和反例的數(shù)據(jù)中挖掘樹結(jié)構(gòu)結(jié)構(gòu),獲取潛在的、有價(jià)值的知識(shí)。決策樹算法主要有ID3[10]、C4.5[11]、CART[12]等,ID3算法由于離散屬性的決策樹構(gòu)建,而C4.5算法能夠處理連續(xù)屬性,并且允許數(shù)據(jù)集中存在缺失值。決策樹算法都要解決兩個(gè)重要問題,一是決策樹當(dāng)前節(jié)點(diǎn)選擇哪個(gè)屬性來分裂,二是在該屬性上切割點(diǎn)怎么設(shè)置,此外,還考慮了什么時(shí)候樹停止決策樹的生長(zhǎng)防止過度擬合[13]。
決策樹C4.5算法以信息熵為基礎(chǔ),采用信息增益比作為測(cè)試屬性的選擇標(biāo)準(zhǔn),克服了以信息增益選擇屬性時(shí)所帶來的多偏向選擇的不足,從而完成了對(duì)數(shù)據(jù)的歸納分類。設(shè)S為數(shù)據(jù)樣本集合,其中包含了c個(gè)不同的類,每個(gè)類中樣本所占的比例為p(i|S),其中i=1,2,…,c,那么,集合S信息熵計(jì)算如式(1):
為了確定選擇屬性的分裂結(jié)果,用劃分前父節(jié)點(diǎn)的不純度和劃分后子節(jié)點(diǎn)的不純度之差來衡量屬性分裂的測(cè)試結(jié)果,該指標(biāo)稱為信息增益,也就是熵差,按照屬性a對(duì)樣本集合S劃分獲得信息增益的計(jì)算公式如式(3):
樣本集S按照屬性a劃分時(shí)的分裂信息用Splitinfo(S,a)表示,則其計(jì)算如式(4):
分裂信息代表了屬性a分裂樣本集S的廣度和均勻性。因此,屬性a劃分的信息增益率定義為:
C4.5決策樹算法在樹的每個(gè)節(jié)點(diǎn)上使用信息增益率來度量選擇測(cè)試的屬性,選擇具有最高信息增益比率的屬性作為當(dāng)前節(jié)點(diǎn)的分裂屬性。
決策樹歸納算法必須為不同類型的屬性提供屬性測(cè)試條件,即確定屬性的分隔點(diǎn)。對(duì)于0~1式的二元屬性,只能有兩個(gè)可能輸出,產(chǎn)生兩個(gè)劃分,即屬性為1和屬性為0的兩個(gè)分支。對(duì)于標(biāo)稱屬性,有兩種劃分方法,一種是分成兩路,即屬性的取值分為兩個(gè)集合,一個(gè)集合作為一個(gè)劃分;另一種是產(chǎn)生多路劃分,即將屬性取值分為若干集合,每個(gè)集合為一路劃分。對(duì)于序列屬性,可以生成兩路劃分,也可以生成多路劃分,與標(biāo)稱屬性一致,但是還必須考慮屬性取值的順序問題,不違反有序性即可。對(duì)于連續(xù)屬性,測(cè)試條件可以具有二元輸出的比較測(cè)試(a 假設(shè)屬性的測(cè)試分割點(diǎn)為v,則通過該劃分的信息增為可用公式(6)計(jì)算,遍歷所有可能的分割點(diǎn),信息增益最大值所對(duì)應(yīng)的分割點(diǎn)vmax為最佳分割點(diǎn),即診斷知識(shí)的參數(shù)門限。 連續(xù)屬性的分割點(diǎn)的確定,首先需要統(tǒng)計(jì)每個(gè)取值上正例與反例數(shù)量,用正反例差異較大的點(diǎn)作為測(cè)試分割點(diǎn),再計(jì)算增益獲得最佳分割點(diǎn)。 為了防止決策樹過度生長(zhǎng),對(duì)決策樹進(jìn)行剪枝,通常采用卡方檢驗(yàn)來判斷是否停止分裂節(jié)點(diǎn)。常用剪枝方法有預(yù)剪枝和后剪枝兩種方法。預(yù)剪枝是通過提前設(shè)置決策樹生長(zhǎng)的最大深度,使決策樹不能充分生長(zhǎng),進(jìn)而達(dá)到預(yù)剪枝目的。預(yù)剪枝的核心問題是如何事先指定樹的最大深度,如果設(shè)置的最大深度不恰當(dāng),將會(huì)導(dǎo)致過于限制樹的生長(zhǎng),使決策樹的表達(dá)式規(guī)則趨于一般,不能更好地對(duì)新數(shù)據(jù)集進(jìn)行分類和預(yù)測(cè)。后剪枝方法讓樹“充分生長(zhǎng)”后,再判斷是否將某些分支節(jié)點(diǎn)變?yōu)槿~節(jié)點(diǎn),根據(jù)一定的規(guī)則標(biāo)準(zhǔn),剪掉樹中不具備一般代表性的子樹,取而代之的是葉子節(jié)點(diǎn),進(jìn)而形成一棵規(guī)模較小的新樹。 C4.5算法采用“悲觀”預(yù)測(cè)誤差率的后剪枝方法。對(duì)樹中的每個(gè)節(jié)點(diǎn)采用二項(xiàng)式分布計(jì)算置信區(qū)間的上限Ucf估計(jì)值(置信度cf默認(rèn)取25%),然后對(duì)所給節(jié)點(diǎn)的置信上限估計(jì)值與它葉子節(jié)點(diǎn)的加權(quán)置信度進(jìn)行比較,如果子樹中的某個(gè)根節(jié)點(diǎn)的預(yù)測(cè)誤差比葉子的U25%加權(quán)和小,那么,用該子樹的根節(jié)點(diǎn)代替子樹,變成剪枝后樹新的葉節(jié)點(diǎn)。該方法可以避免樹無(wú)節(jié)制地增長(zhǎng),防止數(shù)據(jù)過度擬合,同樣也是用訓(xùn)練樣本來估計(jì)剪枝前后的誤差,從而決定是否真正進(jìn)行剪枝,其實(shí)質(zhì)是為了消除訓(xùn)練產(chǎn)生的集中孤立點(diǎn)和噪聲,方法中使用的公式如式(7): 式中,n為實(shí)例的數(shù)量,f=E/n為所觀察到的誤差率(其中E為n個(gè)實(shí)例中分類錯(cuò)誤的個(gè)數(shù)),q為真實(shí)誤差率,d為置信度,z為對(duì)應(yīng)于置信度d的標(biāo)準(zhǔn)差,可根據(jù)d的設(shè)定值通過查正態(tài)分布表獲得。 本節(jié)以表1中的數(shù)據(jù)為案例,通過計(jì)算獲取故障診斷知識(shí)說明決策樹方法的流程。在每個(gè)節(jié)點(diǎn)計(jì)算各屬性對(duì)其的信息增益率,選擇增益率最大的屬性作為分隔屬性。 如表1所示,對(duì)于故障的信息熵為: 表1 衛(wèi)星故障數(shù)據(jù)集 對(duì)于電流這一屬性采用二分法,以-0.1作為分隔點(diǎn),獲得的信息熵為: 信息增益率為: 或得的分割信息為: 信息熵的增益率為: 對(duì)于電壓采用二分法,將大于12 V的作為一組,小于等于12 V的作為一組。計(jì)算方法同上??傻茫?/p> 對(duì)于溫度采用二分法,將大于38℃的作為一組,小于等于38℃的作為一組, 增益率最大的是電壓,因此,在第一層分隔點(diǎn)選擇電壓這屬性,電壓的分隔點(diǎn)為12 V。將電壓小于等于12 V的分為一組命名為S1,大于12 V的命名為S2,對(duì)這兩個(gè)子樹繼續(xù)分解??色@得的決策樹如圖2所示。 根據(jù)C4.5的剪枝策略,發(fā)現(xiàn)在進(jìn)行電壓大于13 V的部分產(chǎn)生決策數(shù)值可以通過剪枝策略進(jìn)行剪枝,最終可以獲得如圖3的簡(jiǎn)化決策樹。 剪枝之后的決策樹對(duì)于數(shù)據(jù)集來說只有一個(gè)錯(cuò)誤診斷,但是樹的結(jié)構(gòu)大幅簡(jiǎn)化,在數(shù)結(jié)構(gòu)非常復(fù)雜深度很深的情況下可以十分有用。 圖2 生成決策樹 圖3 剪枝后的決策樹 基于上述決策樹可以產(chǎn)生診斷知識(shí)如圖4所示。 圖4 挖掘得到得診斷知識(shí) 將本文所提的方法,應(yīng)用于某衛(wèi)星歷史遙測(cè)數(shù)據(jù)分析挖掘,獲得新的故障診斷[14]知識(shí),采用歷史數(shù)據(jù)測(cè)試對(duì)比,對(duì)新規(guī)則和老規(guī)則進(jìn)行對(duì)比分析。選取數(shù)據(jù)樣本35個(gè)其中正常點(diǎn)20個(gè),異常故障點(diǎn)15個(gè)。評(píng)價(jià)指標(biāo)包括了準(zhǔn)確率和虛警率,準(zhǔn)確率指算法正確識(shí)別正常和故障的總實(shí)例數(shù)占樣本總數(shù)的百分比;虛警率(false alarm ratio)指錯(cuò)誤報(bào)警次數(shù)占報(bào)警總數(shù)的百分比。其中現(xiàn)有規(guī)則正確判別23個(gè)樣本點(diǎn),通過C4.5獲取的規(guī)則能夠正確判斷27個(gè)樣本?,F(xiàn)有規(guī)則共報(bào)警25次,其中虛警11次,新規(guī)則報(bào)警21,虛警7次,結(jié)果如表2所示。 表2 現(xiàn)有規(guī)則和C4.5提取規(guī)則對(duì)比 通過表2看出,相對(duì)現(xiàn)有的規(guī)則,通過決策樹挖掘所獲取得的新規(guī)則故障診斷準(zhǔn)確率提高了11.7%,虛警率降低了24.3%,而且決策樹方法是一種可以根據(jù)數(shù)據(jù)值適應(yīng)不斷調(diào)整更新的方法。 假設(shè)有m個(gè)屬性,n條實(shí)例訓(xùn)練數(shù)據(jù),決策樹的深度為O(logn),構(gòu)建決策樹需要O(mnlogn),子樹裁剪為O(n),子樹構(gòu)建需要O(n(logn)2)[15]總的時(shí)間復(fù)雜度為:O(mnlogn)+O(n(logn)2)。 論文基于決策樹算法研究在軌衛(wèi)星故障診斷知識(shí)挖掘方法,通過該方法所產(chǎn)生的故障診斷知識(shí),有效提高了故障診斷知識(shí)的精度,降低了虛警率。論文所提方法具備學(xué)習(xí)獲取動(dòng)態(tài)門限的能力,使得門限更準(zhǔn)確,產(chǎn)生的診斷知識(shí)能夠進(jìn)行多遙測(cè)參數(shù)聯(lián)合故障診斷,初步解決了目前先驗(yàn)知識(shí)相對(duì)適應(yīng)性差,后驗(yàn)信息支持缺乏的問題。算法在歷史遙測(cè)數(shù)據(jù)中挖掘獲取決策樹模型,產(chǎn)生診斷知識(shí)與目前已有規(guī)則進(jìn)行對(duì)比發(fā)現(xiàn)虛警率明顯降低,故障診斷準(zhǔn)確率提高,這充分說明了方法的有效性。 參考文獻(xiàn): [1]李權(quán),周興社.基于測(cè)控?cái)?shù)據(jù)挖掘的航天器故障診斷技術(shù)研究[J].計(jì)算機(jī)測(cè)控與控制,2011,19(3):500-502. [2]濮逸佳,杜宏偉.基于本體和規(guī)則的計(jì)算機(jī)故障診斷研究[J].電子設(shè)計(jì)工程,2013(8):22-25. [3]孔繁強(qiáng),張?chǎng)?,張慧?故障樹最小割集和最小路集在火箭故障診斷中的應(yīng)用[J].電子設(shè)計(jì)工程,2011(1 8):8-10. [4]陳威敏,孟曉風(fēng),王國(guó)華.遠(yuǎn)程監(jiān)測(cè)與故障診斷系統(tǒng)研究[J].電子設(shè)計(jì)工程,2011(7):138-140. [5]潘宇倩,張弓,白東煒,等.衛(wèi)星健康管理故障診斷算法的設(shè)計(jì)及其實(shí)現(xiàn)[J].航天器工程,2011,20(5):37-41. [6]張?zhí)烊?,于天彪,趙海峰,等.數(shù)據(jù)挖掘技術(shù)在全斷面掘進(jìn)機(jī)故障診斷中的應(yīng)用[J].東北大學(xué)學(xué)報(bào):自然科學(xué)版,2015(4):526-531. [7]韓萌,王志海,丁劍.一種頻繁模式?jīng)Q策樹處理可變數(shù)據(jù)流[J].計(jì)算機(jī)學(xué)報(bào),2016(8):1541-1555. [8]喬長(zhǎng)兵,數(shù)據(jù)挖掘技術(shù)在挖掘機(jī)故障診斷中的應(yīng)用[J].電子設(shè)計(jì)工程,2011(3):134-138. [9]路翀,徐輝,楊永春.基于決策樹分類算法的研究與應(yīng)用[J].電子設(shè)計(jì)工程,2016(18):1-3. [10]潘大勝,屈遲文.一種改進(jìn)ID3型決策樹挖掘算法[J].華僑大學(xué)學(xué)報(bào):自然科學(xué)版,2016(1):72-74. [11]陳凱,曹曉光,楊冀紅等.基于C4.5決策樹算法的全國(guó)積雪模型生成[J].電子設(shè)計(jì)工程,2014(17):44-47. [12]張亮,寧芊.CART決策樹的兩種改進(jìn)及應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2015(5):1209-1213. [13]Shuonan Hou,Rongtao Hou,Xinming Shi,et.al.Research on C5.0 Algorithm Improvement and the Test in Lightning Disaster Statistics[J].Internation?al Journal of Control and Automation,2014(1):181-190. [14]張亮,陳志剛,楊建偉,等.基于決策樹與多元支持向量機(jī)的齒輪箱早期故障診斷方法[J].計(jì)算機(jī)測(cè)量與控制,2016(1):12-15. [15]Archana S,Elangovan Dr K,Survey of classification techniques in data mining[J].International Journal of Computer Science and Mobile Applications,2014(2):65-71. [16]淡鵬,陳劍平.自旋衛(wèi)星幾何定姿限制條件及誤差分析[J].電子科技,2016(5):62-66. [17]楊逸,梁婧.衛(wèi)星通信技術(shù)在電力應(yīng)急通信搶修中的應(yīng)用[J].電力信息與通信技術(shù),2014(12):34-38.1.4 決策樹的剪枝
2 診斷知識(shí)挖掘?qū)嵗?/h2>
2.1 算例分析
2.2 方法對(duì)比分析
2.3 時(shí)間復(fù)雜度
3 結(jié)論