吳志鵬
(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都 611756)
最小信息熵的優(yōu)化算法在軌道電路故障診斷中的運用
吳志鵬
(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都 611756)
在使用決策樹算法解決ZPW-2000A無絕緣軌道電路故障診斷問題中,由于軌道電路的數(shù)據(jù)中大部分屬性值都是連續(xù)的,所以在采用決策樹方法時必須對這些屬性值離散化。主要對最小信息熵算法處理連續(xù)屬性值離散化過程進行分析,并且對其離散化過程進行一定的優(yōu)化來提高計算效率,縮短計算時間。
軌道電路;決策樹;最小信息熵算法;離散化
ZPW-2000A無絕緣軌道電路目前在我國鐵路運營線路中使用十分普遍。軌道電路一般都布置在鐵路沿線的車站和區(qū)間,其設(shè)備主要分為室內(nèi)和室外兩部分且結(jié)構(gòu)較復(fù)雜,加上其使用環(huán)境的復(fù)雜性等因素給軌道電路的維護帶來困難。目前軌道電路的日常維護工作主要以人工為主[1]。
決策樹算法是一種典型的分類方法,首先對樣本數(shù)據(jù)進行處理,利用歸納算法生成決策樹和規(guī)則,再使用生成規(guī)則對新數(shù)據(jù)樣本進行分類。決策樹算法具有分類快、精度高、分類規(guī)則容易理解等特點;另外,決策樹C4.5算法[2]能夠處理連續(xù)值屬性,且準確率較高,因此可以運用到ZPW-2000A軌道電路故障診斷中。關(guān)于鐵路信號設(shè)備故障診斷已經(jīng)有學(xué)者使用決策樹C4.5算法對其進行研究[3-4]。
在使用決策樹算法處理數(shù)據(jù)之前,先觀察數(shù)據(jù),如果存在連續(xù)值,需要將連續(xù)值離散化。假設(shè)故障樣本集合為S={S1,S2,…,Sn},共計n個,條件屬性p個,以及i種故障類型。本文僅針對連續(xù)值屬性p1使用最小信息熵算法[5]進行分析。
步驟1:根據(jù)式(1)確定離散分類數(shù)m,一般m取2或3,即離散分類數(shù)為2類或3類。本文以m=3分析。
步驟2:將所有樣本按條件屬性p1的取值升序排列,排序后取屬性p1值的集合為S',S'={S1',S2',…,S'n},其中S'i≤S'i+1,1≤i≤n-1。在集合S'中,分別計算兩兩相鄰屬性值的平均值x,即x=(S'i+S'i+1)/2,其中1≤i≤n-1,這樣x把集合S'劃分為兩個子區(qū)間[S'1,x]和[x,S'n],分別記這兩個區(qū)間為P區(qū)間和Q區(qū)間。然后計算x的信息熵E (x),比較各個x計算出的信息熵E(x),找出得到最小信息熵E(x)時的x,記作x',此時的x'就是最佳分割閾值,根據(jù)式(2)~(8)計算信息熵E(x):
其中:
nk(x)和Nk(x)分別表示在P區(qū)間和Q區(qū)間內(nèi)故障類型為k的樣本數(shù);n(x)和N(x)分別表示在P區(qū)間和Q區(qū)間內(nèi)的樣本總數(shù);n表示所有樣本總數(shù);pk(x)和qk(x)分別表示在P區(qū)間和Q區(qū)間內(nèi)故障類型為k的條件概率;p(x)和q(x)分別表示在P區(qū)間和Q區(qū)間內(nèi)樣本的概率。
步驟5:對所有條件屬性值根據(jù)步驟1~4進行離散化后,再根據(jù)決策樹C4.5算法進行分類。
對最小信息熵算法步驟2的改進,分為以下2種情況。
1)集合S'中屬性p1不存在連續(xù)值相等的情況
根據(jù)Fayyad[6]等學(xué)者已經(jīng)證明的結(jié)論:不管樣本集合類別(本文中類別指故障類型)有多少,連續(xù)值屬性的最佳分割點總在邊界點處,總在邊界點處。按照Fayyad等的結(jié)論可以做如下處理:因為連續(xù)值屬性最佳分割點在邊界點處,為了得到邊界點,所以將n個樣本按屬性p1的取值升序排列,排序后取屬性p1值的集合為S',S'={S1',S2',…,S'n},其中Si' ≤Si'+1,1≤i≤n-1。把排序后的樣本按故障類型分為m組(m≤n):F1,…Fm,每組中的故障類型都是同一種,但相鄰兩組的故障類型不相同,相鄰兩組邊界處的樣本為邊界點,且這相鄰兩組中每組都有一個邊界點,這兩個邊界點對應(yīng)樣本屬性p1值的平均值x作為一個備選分割閾值,共有m-1個備選分割閾值,x同樣把集合S'劃分為兩個子區(qū)間[S'1,x]和[x,Sn' ],分別記這兩個區(qū)間為P區(qū)間和Q區(qū)間。然后計算x的信息熵E(x),比較各個x計算出的信息熵E(x),找出得到最小信息熵E(x)時的x,記作x',此時的x'就是最佳分割閾值。
比如在表1中,樣本數(shù)量為7,故障類型數(shù)量為2,分別為f1和f2。照上面的方法把7個樣本按屬性p1的取值升序排列后,將樣本分為4組,F(xiàn)1包含樣本1,F(xiàn)2包含樣本2和3,F(xiàn)3包含樣本4和5,F(xiàn)4包含樣本6和7,所以只需要計算3個備選分割閾值,分別是15,17.5和19.5,而如果用原來的方法要計算6個備選分割閾值。
表1 集合S'中不存在連續(xù)值相等的升序排列
2)集合S'中屬性p1存在連續(xù)值相等的情況
如果集合S'中屬性p1存在連續(xù)值相等的情況,則按屬性p1的取值升序排列,可能出現(xiàn)2種結(jié)果,如表2和3所示。如果直接使用1)中的方法,表2中屬性p1的備選分割閾值是16.5和17,表3中屬性p1的備選分割閾值是17和17.5,所以排序不一樣可能導(dǎo)致最后得到的最佳分割閾值不同。這時在考慮使用1)中方法計算備選分割閾值外,還要把屬性p1中出現(xiàn)的相等值、相等值的相鄰值與相等值的平均值x作為備選分割閾值。x同樣把集合S'劃分為兩個子區(qū)間,分別記這兩個區(qū)間為P區(qū)間和Q區(qū)間。然后計算x的信息熵E(x),比較各個x計算出的信息熵E(x),找出得到最小信息熵E(x)時的x,記作x',此時的x'就是最佳分割閾值。在表2中,需要計算3個備選分割閾值,分別是16.5,17和17.5,而用原來的方法要計算6個備選分割點。
對最小信息熵算法步驟3的改進:
表2 集合S'第一種升序排列
表3 集合S'第二種升序排列
得到的最佳分割閾值x',將集合S'={S1',S2',…,Sn' }分為2個子集S'1和S'2,S'1={S'i│S'i≤x', 1≤i≤n},S'2={Si' │S'i>x',1≤i≤n},將子集S1'和S2'根據(jù)改進后的步驟2分別計算出最佳分割閾值x1'和x'2,此時一共得到3個分割閾值,它們的關(guān)系是x1' <x' <x2' 。
試驗采用某站ZPW-2000A軌道電路歷史數(shù)據(jù)樣本,每個樣本包含的連續(xù)屬性有功出電壓、送端電纜模擬網(wǎng)絡(luò)電纜側(cè)電壓、主軌道輸入電壓、“軌出1”電壓、小軌道輸入電壓、“軌出2”電壓等6種,另外還包含非連續(xù)屬性如XGJ電壓狀態(tài),如表4所示。數(shù)據(jù)樣本包含發(fā)送端網(wǎng)絡(luò)盤故障、共用發(fā)送通道故障、衰耗盤故障、主軌故障、小軌故障、發(fā)送器端子到零層端子間故障等6種常見故障。
表4 屬性及符號表示
1)耗時比較
分別對數(shù)據(jù)樣本中的連續(xù)屬性使用改進前和改進后的最小信息熵算法進行離散化處理,因為離散化中信息熵E(x)的計算占了絕大部分時間,故試驗考慮計算信息熵E(x)的次數(shù)來反映優(yōu)化效果,如表5所示。
2)離散化結(jié)果比較
離散化的結(jié)果取決于樣本值和最佳分割閾值,根據(jù)最佳分割閾值將樣本連續(xù)屬性劃分為離散值,使用改進前和改進后的最小信息熵算法分別對樣本進行離散化處理,兩種方法得到的離散化結(jié)果一致,說明改進后的最小信息熵算法的離散化正確率較高。部分樣本離散化后結(jié)果如表6所示。
表5 計算信息熵次數(shù)試驗結(jié)果
表6 離散化后部分數(shù)據(jù)樣本
3)故障診斷試驗
將214組訓(xùn)練樣本使用優(yōu)化后的最小信息熵算法將軌道電路樣本數(shù)據(jù)進行離散化,然后用決策樹算法進行規(guī)則提取,再將規(guī)則運用到故障診斷中用于故障匹配。采用40組測試樣本進行測試,將診斷結(jié)果和實際結(jié)果相對比。如果兩者一致,表示診斷正確,如果兩者不一致,表示診斷錯誤。結(jié)果表明,診斷正確率為80%,具有一定的有效性。其中部分診斷結(jié)果為“無”,表明故障不在樣本包含故障類型中或是無法判斷是其中的哪種故障,部分試驗結(jié)果如表7所示。
表7 診斷試驗部分結(jié)果
綜上所述,使用優(yōu)化后方法在求最佳分割閾值過程中,信息熵E(x)的計算量有明顯的減少。樣本數(shù)量越大,連續(xù)屬性中出現(xiàn)相同值概率越大,優(yōu)化效果將更加明顯,節(jié)省的運算時間將更多。此外使用優(yōu)化后方法進行離散化得到正確率也較高,保證了離散化的準確性,故障診斷中實際結(jié)果與診斷結(jié)果也基本一致,說明采用優(yōu)化后的最小信息熵算法一定程度上適用于ZPW-2000A無絕緣軌道電路的故障診斷。
通過對最小信息熵算法進行優(yōu)化,運用優(yōu)化的最小信息熵算法對連續(xù)屬性進行離散化處理,不僅提高運算效率,而且將離散化后樣本數(shù)據(jù)用于基于決策樹算法的軌道電路故障診斷中也具有一定的有效性。但ZPW-2000A軌道電路數(shù)據(jù)量大,在對其使用優(yōu)化的最小信息熵算法進行離散化處理過程中,由于不同線路區(qū)段的軌道電路特征參數(shù)工作值都不完全相同,所以在兼容性方面還需要進一步的研究和改進。
[1]孫上鵬.無絕緣軌道電路故障診斷方法研究[D]. 北京:北京交通大學(xué),2014.
[2]黃文.決策樹的經(jīng)典算法∶ID3與C4.5[J].四川文理學(xué)院學(xué)報,2007(5):16-18.
[3]劉揚.基于決策樹的軌道電路故障診斷知識表示方法研究[J].邵陽學(xué)院學(xué)報(自然科學(xué)版),2014(4):18-23.
[4]王繼強.C4.5算法在信號設(shè)備故障診斷中的應(yīng)用研究[J].電子世界,2012(9):107-109.
[5] Chen J S,Cheng C H.Extracting classification rule of software diagnosis using modified MEPA[J].Expert Systems with Applications, 2008,34(1):411-418.
[6] Fayyad U M,Irani K B.On the handling of continuous-value attributes in decision tree generation[J].Machine Learning,1992,8(1):87-102.
When the decision tree algorithm is used to solve fault diagnosis problems of ZPW-2000A jointless track circuits, the attribute values must be discretized because most of the attribute values in track circuit data are continuous. This paper mainly analyzes the process of continuous attribute values discretization based on the minimum entropy principle approach, and introduces the methods to improve the computing effi ciency and reduce the computation time by optimizing the discretization process.
track circuit; decision tree; minimum entropy principle approach; discretization
10.3969/j.issn.1673-4440.2016.06.024
2015-12-30)