基于數(shù)據(jù)挖掘的電力設(shè)備狀態(tài)診斷系統(tǒng)建模
朱付保, 霍曉齊, 徐顯景
(鄭州輕工業(yè)學院 計算機與通信工程學院, 鄭州 450001)
摘要:以電力公司的業(yè)務(wù)需求為背景,為實現(xiàn)電力設(shè)備的狀態(tài)診斷,以數(shù)據(jù)挖掘技術(shù)中的粗糙集和決策樹算法為依據(jù),采用粗糙集和決策樹相結(jié)合的數(shù)據(jù)處理模型對電力設(shè)備的各屬性數(shù)據(jù)進行了分析處理。綜合運用粗糙集和決策樹兩種數(shù)據(jù)挖掘算法,通過粗糙集技術(shù)進行屬性約簡,并運用決策樹的ID3算法對約簡后的數(shù)據(jù)進行分枝、減枝得到規(guī)則集,實現(xiàn)對電力設(shè)備工作狀態(tài)的快速、高效診斷,并根據(jù)其工作狀態(tài)提供決策支持。
關(guān)鍵詞:粗糙集;ID3算法;知識庫;模型庫
中圖分類號:TP391
文獻標志碼:A
DOI:10.3969/j.issn.1671-6906.2015.03.020
Abstract:The system uses the business needs of a power company as the background. For the realization of the state testing of electrical equipment, rough sets and decision tree algorithm belonging to data mining technology is used as the basis. The paper proposes a data processing model combining rough sets with decision tree to realize for power each attribute the data analysis and processing equipment for power each attribute of electrical equipment. Rough sets and decision tree are used in this paper synthetically. Through rough set technology attribute reduction can be realized in this paper. Data which has been reduced is branched and cut branches by the use of the ID3 decision tree algorithm, and then rules in order can be got. At last, the working status of electrical equipment can be diagnosed rapidly and efficiently and the decision support is provided according to their work status.
收稿日期:2014-06-11
基金項目:國家自然科學基金項目(41171341)
作者簡介:何淵淘(1983-), 男,河南鄭州人,碩士。
文章編號:1671-6906(2015)03-0090-05
隨著社會進步和經(jīng)濟的不斷發(fā)展,工業(yè)在人們的日常生活、生產(chǎn)中起到的作用越來越大。迫于各行業(yè)對電力能源的巨大需求,電力系統(tǒng)的規(guī)模越來越大,并且不斷朝著超高壓、跨地區(qū)的趨勢發(fā)展。與此同時,當變壓器、斷路器等電力設(shè)備出現(xiàn)故障時,給人們的生活和工業(yè)生產(chǎn)帶來的影響也日益增大,這必然對電力設(shè)備安全、穩(wěn)定、可靠的運行提出越來越高的要求。
然而,電力行業(yè)傳統(tǒng)的狀態(tài)檢測效率并不高。計劃檢修作為常規(guī)的檢測方法機械地按固定周期對所有電力設(shè)備進行檢測診斷,工作十分繁瑣,且存在工作量大、維修滯后、檢修過剩等問題。引起這些問題的主要原因是沒有對電力設(shè)備狀態(tài)進行充分的分析和評估,在不同的工作環(huán)境下通過已有的檢測診斷標準和檢修日志對設(shè)備進行診斷并做出決策并不容易。怎樣根據(jù)以往的真實數(shù)據(jù)通過刪除不重要的屬性、得到判斷規(guī)則集、對數(shù)據(jù)進行高效分析,從而實現(xiàn)對電力設(shè)備的狀態(tài)診斷、異常報警、決策分析,成為目前亟待解決的問題。
數(shù)據(jù)挖掘能夠?qū)崿F(xiàn)從海量的、無規(guī)則的、有干擾以及隨機的訓練數(shù)據(jù)中提取出隱含的、人們原先并不知道的有用信息和規(guī)則[1]。當前主要使用數(shù)據(jù)挖掘技術(shù)的屬性約簡、分類和預(yù)測等功能。常用的數(shù)據(jù)挖掘方法有粗糙集、神經(jīng)網(wǎng)絡(luò)、決策樹和聚類分析等[2]。
本文利用數(shù)據(jù)挖掘中的粗糙集和決策樹建立數(shù)據(jù)處理模型,使用粗糙集算法對集合屬性進行約簡,并使用決策樹的ID3算法將簡約后的結(jié)果進行規(guī)則提取,實現(xiàn)對電力設(shè)備狀態(tài)的高效、快捷判斷。
1粗糙集算法
粗糙集理論是一種新的處理模糊和不確定知識的數(shù)學工具,最早起源于波蘭數(shù)學家Pawlak Z于1982年提出的數(shù)學分析理論[3]。粗糙集理論的主要任務(wù)是近似分類、知識約簡、屬性相依性分析、根據(jù)決策表產(chǎn)生最優(yōu)或次優(yōu)決策控制算法等。粗糙集理論的主要思想是在保持分類能力不變的條件下,通過知識約簡,導出問題的決策或分類規(guī)則。
1.1知識的含義
在粗糙集理論體系中,知識用來表示一種分類的能力。日常生活中,人們的各種行為其實就是辨別現(xiàn)實和抽象的對象的能力。假使起初已經(jīng)掌握了論域研究對象的必要的信息和知識,就可以通過這些已有的知識將其劃分到不同的類別當中。假如兩個對象具有完全相同的信息,那么它們是不可區(qū)分的,也就是說當前已有的信息并不能夠?qū)⑵浞珠_。
粗糙集的核心理論是等價關(guān)系,一般可以用等價關(guān)系來代替分類,根據(jù)已有的等價關(guān)系將樣本集合劃分為等價類。從知識庫的觀點來看,每一個等價類可以被稱為一個概念,也就是一條知識或規(guī)則。每個等價類可以唯一地用來表示一個概念,歸屬于同一個等價類的不同對象對于給定概念不能進行區(qū)分。
1.2粗糙集的定義
定義1知識表達系統(tǒng)
一個知識表達系統(tǒng)A可以表示為有序四元組:A={U,R,V,f},具體說明如表1。
表1 知識表達系統(tǒng)說明
定義2不可分辨關(guān)系
在粗糙集中,可以用多種信息來描述論域中的對象。如果兩個不同的對象是被完全相同的屬性所描述,則這兩個對象在信息系統(tǒng)中被歸為同一類,兩個對象之間的關(guān)系被稱為不可分辨關(guān)系。也就是對任意屬性子集B∈R,假若對象xi、xj∈U,?r∈B,只有當f(xi,r)=f(xj,r)時,xi與xj為不可分辨對象,也簡記作Ind(B)。不可分辨關(guān)系亦被稱作等價關(guān)系。
定義3上近似集和下近似集
上近似集:根據(jù)已有的知識R,判別論域U中一定屬于和可能屬于集合X的對象所組成的集合,公式表示如下:
R-(X)={x∈U,[x]R ∩X≠?}
(1)
式中,[x]R為等級關(guān)系R中的包含x元素的等價類。
下近似集:根據(jù)現(xiàn)存的知識R,判別論域U中全部一定屬于集合X的對象所組成的集合,公式表示如下:
R_(X)={x∈U,[x]R∈X}
(2)
式中,[x]R為等級關(guān)系R中的包含x元素的等價類。
通過上述上近似集和下近似集的定義可知,對于一個給定的知識表達系統(tǒng)S={U,R,V,f},X∈U表示一個樣本子集,R表示等價關(guān)系,那么一切包含于X的基本集合的并集即為R_(X),一切與X的交集不為空的基本集合的并集即為R-(X)。
定義4粗糙度
在論域U中,對于知識R,所選樣本子集X的不確定性可用粗糙度來度量,公式表示如下:
(3)
aR(X)通常也被稱為近似精確度,Card為集合的基數(shù),即集合中元素的個數(shù)。易知,0≤aR(X)≤1,當aR(X)取值為1時,則集合X對于R為確定的;假如aR(X)≤1,則集合X對于R是粗糙的。
定義5假設(shè)Q∈P,若Q為獨立,并且Ind(Q)=Ind(R),那么稱Q為等價關(guān)系族P的一個約簡,簡記作Red(P)。在P中所有不可省略關(guān)系的集合稱為等價關(guān)系P的核,記作Core(P)。屬性約簡和核之間的關(guān)系為:屬性約簡集合Red(P)的交集就是P的核,即Core=∩Red(P)。核不僅是所有約簡的計算基礎(chǔ),是知識庫的最重要的組成部分,也是知識約簡時不能刪掉的屬性[4]。
2決策樹
2.1分類的概念
分類是找出描述并區(qū)分數(shù)據(jù)類或概念的模型(或函數(shù)),以便能夠使用模型來預(yù)測類標記未知的對象類[5]。分類的目的是構(gòu)造一個分類函數(shù)或分類模型(也常常稱作分類器),該模型能把數(shù)據(jù)庫中的數(shù)據(jù)項映射到給定類別中的某一個。
常用的分類方法有貝葉斯算法、粗糙集算法、神經(jīng)網(wǎng)絡(luò)算法、決策樹算法等?;跊Q策樹算法不需要繁瑣的先驗知識,就能夠分析處理復雜的海量高維數(shù)據(jù),獲得規(guī)則的方法簡單快捷。因此,診斷模型選用決策樹作為分類方法。
2.2決策樹的介紹
決策樹是一種簡單高效的分類算法,能夠從海量的隨機樣本中經(jīng)過分析推斷出可以用樹狀形式表示的規(guī)則集。與流程圖中樹的結(jié)構(gòu)特別相像,決策樹的最高層為根節(jié)點;最底層的節(jié)點為葉子節(jié)點,代表一種分類;根節(jié)點與葉子節(jié)點之間為內(nèi)部節(jié)點,在內(nèi)部節(jié)點上進行特定屬性的訓練檢測,特定屬性通過ID3算法中的信息增益標準來確定,各個分支表示檢測輸出。其中,通過構(gòu)建的決策樹來檢測隨機樣本的各個屬性值,檢測路徑由根節(jié)點到葉子節(jié)點,得到分類結(jié)果進而形成分類模型。分類模型形成后,通過測試數(shù)據(jù)集對模型的準確率進行估量,經(jīng)測試完全符合標準的模型才能夠用來進行樣本分類預(yù)測,其原理如圖1所示。
圖1 決策樹工作原理
2.3ID3算法
定義6信息熵
已知隨機樣本集合T中樣本個數(shù)為a,類別屬性有n個互不相同的值,可以得出n個類別Mi(i=1,2,…,n)。假設(shè)類別值為Mi的樣本個數(shù)為ai,則對某一樣本進行分類需要的期望信息[6]如式(4)所示:
(4)
式中,pi為樣本集合中Mi的概率值,可以用ai/a進行計算。由于信息需用二進制進行編碼,上述公式中的對數(shù)底數(shù)值取2。
定義7信息增益
假定{b1,b2,…,be}是屬性B的e個不相同的值,按照屬性B可以將T劃分成e個子集合{a1,a2,…,ae};aj表示樣本T中在屬性B上取值為bj的子集,假若選屬性B作為決策樹的測試屬性,則以上的子集即與由節(jié)點生成的分枝相對應(yīng),并且由屬性B對集合進行劃分的期望信息可以由式(5)求出:
(5)
Gain(B)=L(a1,a2,…,an)-E(B)
(6)
在構(gòu)造決策樹的過程中,通過比較各個屬性的信息增益的大小,選擇信息增益值最大的屬性作為隨機樣本的測試屬性。
ID3算法就是通過各個屬性的信息增益來選擇測試屬性構(gòu)造決策樹的,其構(gòu)造過程如圖2所示。
圖2 ID3算法構(gòu)造決策樹的流程圖
在決策樹的構(gòu)建過程中,通過信息增益值來選擇內(nèi)部節(jié)點的測試屬性。將信息增益值最大的屬性選作特定節(jié)點的測試屬性[7],確保選中的測試屬性在對隨機樣本數(shù)據(jù)進行分類時所需要的信息量最小,且反映出劃分的最小隨機性。使用ID3算法可以保證對樣本對象進行分類時期望檢測次數(shù)達到最少,而且方便計算出一棵簡單的決策樹。
3粗糙集和決策樹相結(jié)合的算法模型
粗糙集方法和其他一些不確定方法一樣,都能夠處理含糊的和不確定的數(shù)學問題,然而粗糙集理論自身并沒有處理不確定和不準確數(shù)據(jù)的機制。決策樹技術(shù)雖然也有很多優(yōu)點,卻不能刪除不相關(guān)和有干擾性的屬性。此外,當前在構(gòu)造決策樹的過程中,通常選擇單個屬性作為測試屬性。
根據(jù)粗糙集和決策樹各自的優(yōu)缺點,本文將二者結(jié)合起來,取長補短,建立粗糙集-決策樹數(shù)據(jù)處理模型,如圖3所示。
圖3 粗糙集-決策樹數(shù)據(jù)處理模型
在數(shù)據(jù)處理模型中用到的數(shù)據(jù)主要有兩類,一類用作訓練測試,一類用作對訓練結(jié)果進行驗證。根據(jù)屬性判斷指標對訓練數(shù)據(jù)集進行離散化處理[8],將處理過的數(shù)據(jù)中重復的數(shù)據(jù)予以刪除,從而實現(xiàn)對訓練數(shù)據(jù)集的清洗;根據(jù)已經(jīng)預(yù)處理過的樣本對象建立決策表,決策表中的數(shù)據(jù)是建立數(shù)據(jù)處理模型的數(shù)據(jù)分析來源。根據(jù)決策表生成分辨矩陣,由分辨函數(shù)得出樣本數(shù)據(jù)集的核,進而根據(jù)核值計算出約簡集,得出約簡后的決策表,利用ID3算法生成簡單的決策樹。
通常情況下,由簡單的決策樹得到的規(guī)則集形式并不是最簡的,需采用后剪枝算法對生成的決策樹進行剪枝,通過刪除內(nèi)部節(jié)點的分枝,剪掉樹節(jié)點。對于樹中每一個非樹葉節(jié)點,計算該節(jié)點上的子樹被剪枝可能出現(xiàn)的期望錯誤率。然后,使用每個分枝的錯誤率,結(jié)合沿每個分枝觀察的權(quán)重評估,計算出對該節(jié)點剪枝后的期望錯誤率。如果剪去該節(jié)點導致較高的期望錯誤率,則保留該子樹;否則,剪去該子樹。產(chǎn)生一組逐漸被剪枝的樹之后,使用一個獨立的測試集評估每棵樹的準確率,得到具有最小期望錯誤率的決策樹,根據(jù)剪枝后的決策樹生成相應(yīng)規(guī)則。運用驗證數(shù)據(jù)集對生成的規(guī)則進行驗證,若生成規(guī)則不符合,或未達到預(yù)期標準,則重新進行計算,直至生成規(guī)則符合要求。
4系統(tǒng)實現(xiàn)
4.1邏輯結(jié)構(gòu)
根據(jù)電力設(shè)備狀態(tài)診斷系統(tǒng)的需求,電力設(shè)備狀態(tài)檢測系統(tǒng)的邏輯體系結(jié)構(gòu)設(shè)計如圖4所示。
圖4 系統(tǒng)邏輯結(jié)構(gòu)圖
Web終端是客戶端部分,用戶可以通過終端對系統(tǒng)進行操作,并將請求向服務(wù)器提交。Web服務(wù)器將用戶請求傳遞給診斷系統(tǒng)的控制模塊部分,最終將處理結(jié)果以圖、樹等多種形式返回給客戶端。根據(jù)服務(wù)器返回的數(shù)據(jù)形式,Web服務(wù)器負責生成相應(yīng)的圖表,終端部分將最終的結(jié)果予以呈現(xiàn)。
設(shè)備狀態(tài)檢修專業(yè)知識庫中存放著大量的業(yè)務(wù)經(jīng)驗數(shù)據(jù)。通過數(shù)據(jù)挖掘模塊得到的結(jié)果可以通過知識庫中存放的數(shù)據(jù)進行修正。部分經(jīng)過數(shù)據(jù)挖掘得到的規(guī)則[9]和信息也會被存放到知識庫當中,為下次同樣分析做參考使用。
告警庫是狀態(tài)診斷系統(tǒng)中的另一個獨立的數(shù)據(jù)庫系統(tǒng),電力設(shè)備的告警信息就存放在其中。通過對告警信息進行處理,可以更加準確地對數(shù)據(jù)進行分析處理[10]。
數(shù)據(jù)庫是關(guān)系到數(shù)據(jù)診斷系統(tǒng)正常工作的最基本的組成部分,是整個系統(tǒng)的基本數(shù)據(jù)來源,其主要組成部分包括整個電力公司的設(shè)備運行時的真實數(shù)據(jù)和部分歷史數(shù)據(jù)。數(shù)據(jù)挖掘模塊中用到的數(shù)據(jù)都來源于數(shù)據(jù)庫。從其他庫中抽取的經(jīng)過處理的數(shù)據(jù)也存放在該數(shù)據(jù)庫中。系統(tǒng)對數(shù)據(jù)庫最多的操作是數(shù)據(jù)提取、變換、集成等。
模型庫中存儲著系統(tǒng)的業(yè)務(wù)處理方法和接口,數(shù)據(jù)處理方法、挖掘方法等的實現(xiàn)程序都存放在模型庫中。通過在方法管理模塊進行注冊,能夠?qū)ν馓峁┙y(tǒng)一的接口,在方法庫中所有遵循模型庫接口規(guī)范的方法都可以被使用。各個模型自身并不存在業(yè)務(wù)背景,每個模型關(guān)心的只是數(shù)據(jù)輸入的個數(shù)以及類型,各個模型都嚴格執(zhí)行相應(yīng)的數(shù)據(jù)處理,而與數(shù)據(jù)涉及的業(yè)務(wù)邏輯無關(guān)。只需在方法庫中設(shè)置一個包裝程序,并將標準形式的參數(shù)進行輸入,就能夠得到用戶需要的結(jié)果。
4.2系統(tǒng)架構(gòu)
系統(tǒng)使用了JavaEE中的Struts2、Spring、AJAX等技術(shù),使用Struts2實現(xiàn)MVC開發(fā)模式的設(shè)計,運用Spring的分層架構(gòu)靈活選擇所需組件,利用AJAX技術(shù)高效實現(xiàn)用戶與前臺頁面的動態(tài)交互。通過這些開發(fā)技術(shù),有效實現(xiàn)了功能模塊和系統(tǒng)代碼間的松耦合,并且使系統(tǒng)的工作效率得到極大提高。
開發(fā)平臺選用Myeclipse,采用Java作為編碼語言??蛻舳送ㄟ^采用JSP+CSS+JavaScript技術(shù),高效實現(xiàn)頁面的交互性。通過點擊界面左側(cè)的級聯(lián)菜單,可以方便地選擇需要查看的電力設(shè)備。導入設(shè)備的數(shù)據(jù)報表,通過后臺的算法處理,即可便捷地查看設(shè)備的工作狀態(tài)。
5結(jié)語
系統(tǒng)運用數(shù)據(jù)挖掘中粗糙集和決策樹相結(jié)合的數(shù)據(jù)分析模型對變壓器等電力設(shè)備的屬性數(shù)據(jù)進行分析和處理,根據(jù)最后生成的規(guī)則集構(gòu)建知識庫,為電力設(shè)備工作狀態(tài)的診斷提供了依據(jù)。通過采用Web開發(fā)中的Struts2、Spring、 AJAX等技術(shù),降低了代碼之間的耦合性,不僅提高了工作效率,也便于系統(tǒng)的擴展開發(fā)。
通過構(gòu)造粗糙集和決策樹的數(shù)據(jù)挖掘模型,將變壓器等電力設(shè)備的狀態(tài)診斷技術(shù)與數(shù)據(jù)挖掘技術(shù)相結(jié)合,提高了對系統(tǒng)數(shù)據(jù)庫中用到的海量數(shù)據(jù)的處理能力。通過對生成的規(guī)則集和狀態(tài)指標進行分析,實現(xiàn)了電力設(shè)備工作狀態(tài)的預(yù)測、評估、檢修等功能,為電力設(shè)備正常、穩(wěn)定地運行提供了可靠的保障。
參考文獻:
[1]徐曉,翟敬梅,劉海濤,等.制造決策的知識融合粗糙集模型[J].華南理工大學學報(自然科學版),2011,39(8):36-40.
[2]胡燕,王慧琴,秦薇薇. 基于粗糙集的火災(zāi)圖像特征選擇與識別[J].計算機應(yīng)用,2013,33(3):704-707.
[3]劉興文,王典洪,陳分雄. 一種基于變精度粗糙集的C4.5決策樹改進算法[J].計算機應(yīng)用研究,2011,28(10):3649-3651.
[4]費洪曉,胡琳. 一種粗糙集-決策樹結(jié)合的入侵檢測方法[J]. 計算機工程與應(yīng)用,2012,48(22):124-128.
[5]張軍,李鵬. 動態(tài)粗集理論在決策樹算法中的應(yīng)用研究[J].計算機應(yīng)用與軟件,2013,30(8):99-101.
[6]張明,唐振民,楊習貝.基于粗糙集的拒絕決策規(guī)則獲取和約簡[J].計算機工程,2011,37(3):22-24.
[7]王飛,王卓,曾姚.基于變精度粗糙集的決策樹構(gòu)造改進算法[J].計算機與數(shù)字工程,2013(3):337-339.
[8]翟俊海,翟夢堯,李勝杰.基于相容粗糙集技術(shù)的連續(xù)值屬性決策樹歸納[J].計算機科學,2012,39(11):183-186.
[9]王永梅,胡學鋼. 決策樹中ID3算法的研究[J]. 安徽大學學報(自然科學版),2011,35(3):71-75.
[10]盧錚松.研究生獎學金的決策樹分類數(shù)據(jù)挖掘研究[J].計算機工程與應(yīng)用,2012,48(26):139-144.
(責任編輯:席艷君)
The Modeling of the Power Equipment Condition Diagnostic
System Based on Data Mining
ZHU Fu-bao, HUO Xiao-qi, XU Xian-jing
(Zhengzhou University of Light Industry, Zhengzhou 450002, China)
Key words:rough sets; ID3 algorithm; knowledge base; model library