王 磊, 陳 青, 高洪雨, 馬志廣, 張艷杰, 何登森
(1. 國網(wǎng)技術(shù)學(xué)院, 山東省濟南市 250002; 2. 電網(wǎng)智能化調(diào)度與控制教育部重點實驗室(山東大學(xué)), 山東省濟南市 250061)
電力系統(tǒng)故障診斷作為智能電網(wǎng)自愈功能實現(xiàn)的基礎(chǔ)課題,近年來的研究成果非常豐富,在生產(chǎn)現(xiàn)場也得到了一定的應(yīng)用[1]。目前的故障診斷技術(shù)主要依靠保護啟動、保護動作信息以及斷路器跳閘信號進(jìn)行故障推理,例如基于時間序列相似性匹配的方法[2]、基于隨機優(yōu)化技術(shù)的方法[3]、基于推理鏈的方法[4]、采用多數(shù)據(jù)源融合的診斷方法[5]以及與或樹模型[6]等。上述故障診斷算法需要及時、穩(wěn)定的實時數(shù)據(jù)來支撐。但是由于目前的各種信息系統(tǒng)缺乏有效的數(shù)據(jù)預(yù)處理機制且彼此之間相互獨立,造成了如下兩種不利因素:第一,故障后各級變電站報警信息同時向地調(diào)或省調(diào)度中心匯集,多次網(wǎng)關(guān)中轉(zhuǎn)以及通信信道不穩(wěn)定極易造成信息丟包或時序錯誤;第二,現(xiàn)代電網(wǎng)故障診斷技術(shù)需要的數(shù)據(jù)在變電站服務(wù)器、生產(chǎn)控制大區(qū)以及管理信息大區(qū)都有分布,存在跨調(diào)度安全隔離區(qū)和跨多系統(tǒng)的問題,信息壁壘嚴(yán)重。
另一方面,大數(shù)據(jù)技術(shù)及云計算的興起與不斷完善,引起了智能電網(wǎng)數(shù)據(jù)管理模式的根本改變[7-9]。大數(shù)據(jù)技術(shù)是能夠通過對大量、多種類和來源復(fù)雜的數(shù)據(jù)進(jìn)行高速捕捉、發(fā)現(xiàn)和分析,用經(jīng)濟的方法提取數(shù)據(jù)價值的技術(shù)體系或技術(shù)架構(gòu)[10]。大數(shù)據(jù)技術(shù)規(guī)模性、多樣性、高速性的特點恰好能夠彌補上述電力故障信息系統(tǒng)的不利因素[11-12]。
目前智能變電站配置了多種信息采集系統(tǒng),目的是對站內(nèi)各種設(shè)備進(jìn)行有效監(jiān)控。眾多信息帶來海量數(shù)據(jù)的同時,也給檢修人員帶來極大不便,面對約2 s就會翻屏的實時告警監(jiān)視器,難免出現(xiàn)遺漏,這在一定程度上降低了信息資源的利用率。本文出發(fā)點是在故障后利用故障診斷的結(jié)果對保護或斷路器的不正確動作情況進(jìn)行分析,并運用大數(shù)據(jù)體系架構(gòu)對電力系統(tǒng)故障信息收集方式進(jìn)行改進(jìn),重點利用數(shù)據(jù)挖掘技術(shù)對目前故障診斷算法中的難點問題——保護或斷路器拒動的情況進(jìn)行反向追蹤,充分利用電力系統(tǒng)中各類信息源的同時,擴展了故障診斷算法的功能。
大數(shù)據(jù)平臺能夠運用資源優(yōu)化調(diào)度、高速數(shù)據(jù)傳輸機制、數(shù)據(jù)副本管理等技術(shù)解決數(shù)據(jù)庫集群所面臨的數(shù)據(jù)高峰時刻的網(wǎng)絡(luò)傳輸瓶頸及誤碼問題。鑒于故障后的診斷程序需要在短時間內(nèi)處理大量的電氣量或非電氣量信息,因此本文在前期工作的基礎(chǔ)上[13],選擇大數(shù)據(jù)平臺作為故障診斷系統(tǒng)的數(shù)據(jù)支撐環(huán)境,利用分布式存儲技術(shù)來獲取和管理變電站層故障數(shù)據(jù),這樣能夠避免數(shù)據(jù)在調(diào)度端的過度擁塞,給上層的診斷程序提供更加穩(wěn)定、快捷的數(shù)據(jù)接口。
目前無論是數(shù)字化改造過的傳統(tǒng)變電站還是智能變電站都配備了眾多監(jiān)控系統(tǒng),單個變電站公用信號分類圖中包含的畫面索引包含全站測控檢修、全站測控檢修異常報警、逆變電源柜故障報警、時間同步系統(tǒng)主機柜告警、網(wǎng)絡(luò)報文分析和制造報文規(guī)范(MMS)記錄儀報警、同步相量測量主柜相量測量單元(PMU)裝置報警、站控層網(wǎng)絡(luò)交換機柜交換機報警、消防裝置火災(zāi)告警、Ⅰ-Ⅳ區(qū)數(shù)據(jù)通信網(wǎng)裝置報警、時鐘檢測單元(TMU)裝置電源失電告警、局部放電在線監(jiān)測(PDM)等多達(dá)60個報警窗,報警信息分為遙測、遙信、遙控、遙調(diào)、事件順序記錄(SOE)、保護事件、保護告警、保護管理、通信、電壓無功控制(VQC)、開關(guān)刀閘動作、故障信息、越限告警等14類。按照每秒收到實時告警信息8條計算,每天約70萬條。保存周期為一個月,在極端情況下,實時數(shù)據(jù)庫中滾動的報警信息可達(dá)2千萬條。對于整個電網(wǎng)的設(shè)備監(jiān)測平臺而言,要存儲的監(jiān)測或管理的數(shù)據(jù)量更加龐大,依靠傳統(tǒng)的關(guān)系數(shù)據(jù)庫很難滿足智能電網(wǎng)對故障快速診斷及自愈的需求。因此本文試圖利于大數(shù)據(jù)技術(shù)對現(xiàn)在的電網(wǎng)數(shù)據(jù)環(huán)境進(jìn)行改進(jìn),并給出電網(wǎng)故障大數(shù)據(jù)平臺的一種可選架構(gòu)。
由于大數(shù)據(jù)是最近幾年興起的理論,其內(nèi)涵和外延在不斷演進(jìn),技術(shù)標(biāo)準(zhǔn)也相對開源,通常情況下被采用的定義是:大數(shù)據(jù)是指無法在一定時間范圍內(nèi)用傳統(tǒng)數(shù)據(jù)庫軟件對其內(nèi)容進(jìn)行抓取、管理和處理的大量數(shù)據(jù)集合。大數(shù)據(jù)技術(shù)對智能電網(wǎng)建設(shè)的影響顯而易見:大數(shù)據(jù)將為智能電網(wǎng)提供可靠的數(shù)據(jù)來源與穩(wěn)定的數(shù)據(jù)質(zhì)量,進(jìn)而為各級調(diào)度中心對電網(wǎng)狀態(tài)的掌控提供高效的管理機制[14]。例如可用于電網(wǎng)故障診斷的數(shù)據(jù)源(數(shù)據(jù)采集與監(jiān)控(SCADA)系統(tǒng)、故障信息系統(tǒng)、通用面向?qū)ο笞冸娬臼录?GOOSE)、能量管理系統(tǒng)(EMS)等)都會通過相應(yīng)的數(shù)據(jù)引擎注冊為智能電網(wǎng)大數(shù)據(jù)平臺的一部分,而大數(shù)據(jù)將通過資源管理框架對上述數(shù)據(jù)源進(jìn)行統(tǒng)一的作業(yè)調(diào)度和數(shù)據(jù)管理,保持了各數(shù)據(jù)采集系統(tǒng)獨立運行的同時,能夠?qū)﹄娋W(wǎng)故障數(shù)據(jù)并行處理,并隨時保持高吞吐量的訪問控制。
大數(shù)據(jù)領(lǐng)域當(dāng)前最為流行的開源軟件為Apache Hadoop[15]。Hadoop是一個能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的開源軟件框架,用戶可以根據(jù)其提供的框架來構(gòu)建面向應(yīng)用的分布式計算平臺。根據(jù)Hadoop 2.0協(xié)議框架,本文提出的電網(wǎng)故障大數(shù)據(jù)平臺架構(gòu)如圖1所示。
圖中所示的故障大數(shù)據(jù)平臺架構(gòu)中,最底層是Hadoop分布式文件系統(tǒng)(Hadoop distributed file system,HDFS)。HDFS是一種能夠在通用硬件上運行的高容錯性分布式文件系統(tǒng),可以提供超高吞吐量的訪問數(shù)據(jù),非常適合大數(shù)據(jù)集的應(yīng)用。在故障大數(shù)據(jù)平臺架構(gòu)中,HDFS用來管理所有故障診斷所能用到的數(shù)據(jù),例如用來生成電網(wǎng)可縮放矢量圖形(SVG)圖元拓?fù)涞墓残畔⒛P?CIM)配置文件、故障錄波形成的Comtrade文件、保護配置及自檢信息、斷路器在線監(jiān)測信息、SOE、信道自檢以及Web日志等。相對于傳統(tǒng)的分布式數(shù)據(jù)庫,HDFS具備更好的分布式數(shù)據(jù)協(xié)調(diào)能力,集群間通過 HDFS 的 Hadoop RPC 協(xié)議通信,能夠運用備份存儲技術(shù)增加系統(tǒng)的容錯性。Hadoop通過統(tǒng)一資源管理框架(yet another resource negotiator,YARN)為各類應(yīng)用計算提供資源調(diào)度和管理。YARN在框架中的作用是為故障診斷及追蹤中的多個子程序(例如需要實時計算的故障診斷程序、站內(nèi)報警信息查詢程序、電網(wǎng)拓?fù)涮幚沓绦颉㈦x線錄波分析程序等)提供統(tǒng)一的資源調(diào)度服務(wù),共享集群資源。YARN將框架中的數(shù)據(jù)資源與診斷程序分離,其優(yōu)點在于,當(dāng)上層的診斷算法有變化時,不會影響到HDFS;而集群中出現(xiàn)新的數(shù)據(jù)監(jiān)測系統(tǒng)時,診斷程序不會因新資源的加入而全部重寫。YARN的上層是以Apache Spark為主要計算框架的故障診斷程序。Apache Spark是由UC Berkeley AMP lab開發(fā)的分布式計算框架[16-17]。Apache Spark能夠兼容Apache Hadoop的API,因此可以任意讀寫HDFS中的資源,能夠與YARN無縫連接。相比Hadoop自身攜帶的MapReduce大規(guī)模數(shù)據(jù)集計算模型,Spark完全基于內(nèi)存計算,包括中間結(jié)果也完全緩存在內(nèi)存中,因此運算性能更加優(yōu)越,對實時處理系統(tǒng)的處理更為高效。
圖1 電網(wǎng)故障大數(shù)據(jù)平臺架構(gòu)Fig.1 Big data platform of power grid fault
鑒于上述分析,本文將故障后的處理程序分為4個模塊。第一,實時故障診斷及追蹤模塊。該模塊是診斷程序的主體部分,負(fù)責(zé)對報警數(shù)據(jù)進(jìn)行分析,找出故障元件或者保護、斷路器拒動的原因。由于該模塊的處理優(yōu)先級最高,本文選擇Spark Streaming組件對該模塊進(jìn)行處理。Spark Streaming組件的特點是能夠接收實時數(shù)據(jù),按周期將數(shù)據(jù)分為多批次進(jìn)行處理,處理周期短,一般為毫秒級。Spark流式計算程序能夠最大限度地契合故障診斷程序?qū)崟r處理的特點,將Spark的運算性能發(fā)揮出來。第二,故障信息查詢模塊。目前電網(wǎng)的分級調(diào)度機制規(guī)定只有事故級報警信息才能上傳調(diào)度主站,很多對故障診斷有用的預(yù)警信息僅在變電站后臺存儲,因此可以利用Spark SQL對站內(nèi)數(shù)據(jù)進(jìn)行查詢,為故障追蹤提供支持。Spark SQL具備傳統(tǒng)SQL的交互式查詢功能,采用基于Spark的內(nèi)存處理方式,能夠?qū)Ψ植际綌?shù)據(jù)集進(jìn)行結(jié)構(gòu)化查詢且性能非常高。由于Spark平臺具有高度整合性,Spark SQL的查詢結(jié)果能夠直接提供給故障診斷及追蹤模塊的Spark Streaming進(jìn)行處理。第三,數(shù)據(jù)模型交換及拓?fù)淠K,能夠?qū)崿F(xiàn)調(diào)度主站與變電站之間的數(shù)據(jù)交換以及電網(wǎng)拓?fù)溆嬎?實現(xiàn)圖形的快速拼合與分析,形成全網(wǎng)拓?fù)?進(jìn)而通過拓?fù)溆嬎阏页鰺o源子網(wǎng),縮小故障診斷范圍。第四,離線錄波文件分析模塊作為故障后的分析部分,被設(shè)計為一個批處理系統(tǒng)。該模塊的處理對象為幾十兆的錄波文件,可以選擇Hadoop的分布式計算組件MapReduce對其進(jìn)行離線計算,MapReduce的優(yōu)勢在于大塊數(shù)據(jù)處理,數(shù)據(jù)就近復(fù)制策略也使其具有良好的容錯性,適合錄波文件的分析與存儲。
框架的最上層是集群部署、配置、管理界面以及應(yīng)用接口層。該界面由Apache Ambari實現(xiàn)。Apache Ambari是一種基于Web的大數(shù)據(jù)部署工具,支持Apache Hadoop集群的供應(yīng)、管理和監(jiān)控。應(yīng)用接口可以給智能電網(wǎng)的自愈程序提供診斷結(jié)果,或者在調(diào)度中心給出故障簡報。
電網(wǎng)故障大數(shù)據(jù)平臺的運行過程為:首先Ambari通過圖形用戶界面為Spark啟動某個程序模塊,進(jìn)而Spark將該模塊所需的資源調(diào)度交給YARN進(jìn)行處理;YARN可以被看作一個云操作系統(tǒng),它將Spark程序作為一個Client并在集群節(jié)點上為其啟動一個資源管理器,對Spark程序分配內(nèi)存、CPU、信道等資源;Spark部署完畢之后,可以通過攜帶的執(zhí)行命令對指定位置的HDFS數(shù)據(jù)資源進(jìn)行存取、統(tǒng)計或者刪除操作;操作結(jié)果輸出之后,Spark在YARN資源管理器中注銷任務(wù),釋放資源。
為了更好地對電網(wǎng)故障大數(shù)據(jù)平臺進(jìn)行業(yè)務(wù)流分析,本文從數(shù)據(jù)處理實時性角度對電網(wǎng)故障診斷及追蹤過程做了分析,將其分為三個處理系統(tǒng):實時處理系統(tǒng)、準(zhǔn)實時處理系統(tǒng)和批處理系統(tǒng)。實時處理系統(tǒng)是將接收到的數(shù)據(jù)或消息進(jìn)行實時處理響應(yīng);準(zhǔn)實時處理系統(tǒng)是將數(shù)據(jù)以批量的形式輸入,一旦檢測到數(shù)據(jù)進(jìn)入立即開始處理;批處理系統(tǒng)是將數(shù)據(jù)以成批的多組文件形式輸入,以工作流的方式對其進(jìn)行調(diào)度處理。三個處理系統(tǒng)的工作方式如附錄A圖A1所示。
在實時處理系統(tǒng)中,事故級信息由保護啟動、保護動作以及斷路器跳閘信息組成,對應(yīng)站內(nèi)告警窗中危急類信息。變電站會將事故級信息實時上報,在調(diào)度端也能夠得到最高級別的響應(yīng)。目前的電網(wǎng)故障診斷算法也都基于事故級信息,因此實時處理系統(tǒng)優(yōu)先級最高,反應(yīng)也最迅速。若故障診斷算法得出的結(jié)論為保護及斷路器均正確動作,則將診斷簡報抄送調(diào)度人員或轉(zhuǎn)智能電網(wǎng)自愈程序;若故障診斷算法判斷出有保護、斷路器拒動或誤動,則將準(zhǔn)實時處理系統(tǒng)上線。在準(zhǔn)實時處理系統(tǒng)中,一般級信息由GOOSE鏈路診斷信息、錄波提示、采樣值(SV)鏈路斷線等信息組成,對應(yīng)站內(nèi)告警窗中的嚴(yán)重類信息;預(yù)告級信息由保護裝置告警、保護電壓互感器(TV)采樣異常、線路測控光纖采樣異常、斷路器在線監(jiān)測等信息組成,對應(yīng)站內(nèi)告警窗中的一般類信息。變電站內(nèi)一般級和預(yù)告級信息采用輪詢的方式采樣,但是僅在變電站內(nèi)部作為檢修處理的依據(jù),不上報調(diào)度端。當(dāng)實時處理系統(tǒng)判斷出有保護或斷路器不正確動作時,一般級和預(yù)告級信息將會為不正確動作原因的查找提供必要的支撐,因此本文將采取數(shù)據(jù)挖掘的方式將其設(shè)計成準(zhǔn)實時處理系統(tǒng)。變電站中錄波文件存儲空間較大,一般在幾十到幾百兆之間,針對錄波文件存儲空間大、實時性要求不高的特點,本文采用批處理系統(tǒng)的方式。停電區(qū)域內(nèi)涉及的變電站錄波文件以批處理的形式進(jìn)行分析,為故障診斷提供具體的故障相別、故障時間以及準(zhǔn)確的故障位置。結(jié)合圖1所示的電網(wǎng)故障大數(shù)據(jù)平臺架構(gòu),故障診斷及追蹤程序分4步完成。
步驟1:當(dāng)故障發(fā)生后,保護及斷路器動作等事故級報警信息被調(diào)度中心服務(wù)器收集,觸發(fā)Spark中各故障診斷應(yīng)用程序,應(yīng)用程序會向YARN集群資源管理器提交任務(wù)申請。資源管理器負(fù)責(zé)調(diào)度各程序模塊的運行資源,如內(nèi)存、CPU、網(wǎng)絡(luò)、磁盤空間等。
步驟2:資源管理器對每個任務(wù)分配工作節(jié)點(worker node,WN)。工作節(jié)點相當(dāng)于各模塊的執(zhí)行器,故障診斷模塊、信息查詢等模塊的程序代碼都會被分發(fā)到相應(yīng)的WN上。WN還能夠定時向資源管理器反饋本節(jié)點的資源使用情況以及程序運行狀態(tài),同時接收資源管理器的啟動或停止請求。
步驟3:各WN執(zhí)行程序代碼,其中,WN1從HDFS中提取報警信息(結(jié)構(gòu)化數(shù)據(jù)),利用故障診斷算法找到故障元件,若診斷結(jié)果涉及保護或斷路器不正確動作的情況,則利用WN2提供的站內(nèi)數(shù)據(jù)進(jìn)行故障追蹤;WN2利用Spark SQL對HDFS中的站內(nèi)信息進(jìn)行查詢,篩掉錄波完成、局放在線監(jiān)測等與故障診斷及追蹤無關(guān)的信息,將保護、斷路器及信道相關(guān)的設(shè)備告警信息傳送至WN1;WN3從HDFS中提取符合CIM模型的SVG文件(半結(jié)構(gòu)化數(shù)據(jù)),形成全網(wǎng)拓?fù)?并根據(jù)斷路器跳閘信息計算出停電區(qū)域,輸出到WN1;WN4對故障后產(chǎn)生的錄波文件(非結(jié)構(gòu)化數(shù)據(jù))進(jìn)行離線分析。
步驟4:WN1將故障診斷及追蹤結(jié)果返回故障診斷請求接口,即Ambari用戶界面;WN4將離線分析結(jié)果,例如故障相別、故障時間等線下發(fā)送至診斷請求接口。
故障診斷程序工作流程如圖2所示。
圖2 故障追蹤程序流程圖Fig.2 Flow chart of fault trace program
與目前C/S形式的故障診斷模型相比,基于大數(shù)據(jù)平臺的故障診斷程序由Spark統(tǒng)一調(diào)配,計算資源由調(diào)度端單機運行變?yōu)橐远鄠€變電站服務(wù)器為依托的集群運行,無論是從CPU還是內(nèi)存資源都能得到極大的提升。另外,診斷用的報警信息不用上傳至調(diào)度端,可以通過YARN直接從HDFS集群中直接調(diào)用,減少了調(diào)度端的數(shù)據(jù)擁塞,提高了診斷程序的可靠性。
目前的故障診斷算法在保護及斷路器均正確動作的前提下,對故障元件的分析比較準(zhǔn)確。但是在保護或斷路器發(fā)生拒動的情況下,很多診斷算法只是根據(jù)遠(yuǎn)后備的動作情況判斷出有拒動的情況發(fā)生,并不能推斷出是保護還是斷路器拒動,更不能對拒動的原因進(jìn)行故障追蹤。電網(wǎng)故障追蹤在本文中的含義是指在調(diào)度端對收集到的報警信息調(diào)用故障診斷算法之后,發(fā)現(xiàn)有斷路器及保護存在不正確動作的情況,運用數(shù)據(jù)挖掘技術(shù)對變電站內(nèi)部的數(shù)據(jù)進(jìn)行分類抽取,進(jìn)而找出錯誤動作的過程。
導(dǎo)致目前故障追蹤研究較為少見的根源在于當(dāng)前的診斷算法完全依賴上傳至調(diào)度端的事故級報警信息,未能對在變電站層的故障斷面進(jìn)行全面的分析。如果要深入到變電站層進(jìn)行數(shù)據(jù)分析,需要解決兩方面的問題:第一,如何將變電站配置的各類信息系統(tǒng)的數(shù)據(jù)與故障診斷及追蹤程序高效對接;第二,怎樣在海量的站內(nèi)數(shù)據(jù)中提取出能夠被故障追蹤算法所用的數(shù)據(jù)。第1節(jié)提出基于大數(shù)據(jù)平臺的故障診斷應(yīng)用程序能夠解決診斷程序與變電站數(shù)據(jù)的對接問題,本節(jié)將運用數(shù)據(jù)挖掘技術(shù)解決變電站層數(shù)據(jù)的分析。
數(shù)據(jù)挖掘是指從大數(shù)據(jù)集或數(shù)據(jù)倉庫中,提取有用的、人們感興趣的知識,這些知識是隱含的、事先未知的潛在有用信息[18]。由于數(shù)據(jù)挖掘應(yīng)用的領(lǐng)域不盡相同,隨之也產(chǎn)生了相應(yīng)的算法,例如適用于頻繁模式和關(guān)聯(lián)規(guī)則的Apriori算法、適用于數(shù)據(jù)分類的決策樹算法以及直接聚類方法k-means算法。
本文將智能變電站(或者經(jīng)過數(shù)字化改造的傳統(tǒng)變電站)的各類數(shù)據(jù)采集系統(tǒng)作為原始數(shù)據(jù)源,重點對其中涉及的故障診斷相關(guān)信息進(jìn)行數(shù)據(jù)挖掘,進(jìn)而對調(diào)度端的故障追蹤程序提供決策支持。
決策樹(decision tree,DT)是目前最為廣泛的數(shù)據(jù)挖掘分類算法,主要用于處理非連續(xù)型變量的分類及預(yù)測問題,可以用樹形結(jié)構(gòu)或IF-THEN形式進(jìn)行描述,是一種可收斂的分類器或預(yù)測模型。決策樹通過對輸入信息不斷的細(xì)化分類,使依賴變量的差別最大化,最終將數(shù)據(jù)分類到無交集的分枝,在依賴變量的值上建立最強的分類[19]。相對于神經(jīng)網(wǎng)絡(luò)聚類、高斯混合聚類、k-means等聚類算法,決策樹具有如下優(yōu)點:決策樹模型可用圖形或規(guī)則進(jìn)行描述,對于推理過程具有可解釋性;由于決策樹的大小與數(shù)據(jù)集大小無關(guān),因此計算量不會隨數(shù)據(jù)量增多而變大。由于電網(wǎng)故障后需要在短時間內(nèi)對各變電站產(chǎn)生大量報警信息進(jìn)行分析,因此本文選擇決策樹對報警信息進(jìn)行分類,以期對調(diào)度端的故障追蹤程序提供決策支持。
決策樹的生成采用自頂向下的遞歸分治算法,在最初的訓(xùn)練集上選擇最能體現(xiàn)分類目標(biāo)的樣本屬性對訓(xùn)練樣本進(jìn)行分類,進(jìn)而建立一個分類節(jié)點,然后繼續(xù)這一過程直到這棵樹能準(zhǔn)確地分類訓(xùn)練樣本,或所有的屬性都已被使用過。
決策樹的定義如下:對于一個數(shù)據(jù)集D={d1,d2,…,dn},其中每一元組ti∈D包含變量A={a1,a2,…,am}。同時給定類別集合C={c1,c2,…,ck}。對于數(shù)據(jù)集D,決策樹T具有下列性質(zhì)。
1)每個內(nèi)部節(jié)點都被標(biāo)記一個屬性ai∈A,表示一個變量的測試。
2)每個分枝代表一個測試輸出,表示變量的一個可能值。
3)每個葉節(jié)點被標(biāo)記為一個類cj∈C,表示分類結(jié)果的類別。
利用決策樹對數(shù)據(jù)進(jìn)行分類和預(yù)測的步驟如附錄A圖A2所示。
決策樹分類算法是一種監(jiān)督式學(xué)習(xí)方法,以訓(xùn)練樣本作為輸入,以監(jiān)督模型作為分類規(guī)則,通過歸納算法產(chǎn)生決策樹,再對陌生數(shù)據(jù)集進(jìn)行預(yù)測分析[20]。結(jié)合智能變電站信號傳輸機制以及保護、斷路器的硬件結(jié)構(gòu),本文將監(jiān)督模型分為三類進(jìn)行測試:保護拒動信號類、信號通道故障信號類、斷路器拒動信號類,其作用是在決策樹構(gòu)造前期使訓(xùn)練樣本按照監(jiān)督模型有序分類。保護拒動信號類如附錄A圖A3所示,信號通道故障信號類如附錄A圖A4所示,斷路器拒動信號類如附錄A圖A5所示。
決策樹構(gòu)建步驟如下。
步驟1:訓(xùn)練集(某段時間內(nèi)所有的報警信息)首先進(jìn)入歸納算法,若樣本在監(jiān)督模型中,則生成為監(jiān)督模型最上層節(jié)點中的樹葉節(jié)點。
步驟2:若不在監(jiān)督模型中,則選取故障后報警窗中重復(fù)出現(xiàn)次數(shù)最大的某條記錄分割為一個節(jié)點,根據(jù)監(jiān)督模型的中間邏輯,為該分割記錄的節(jié)點分配一個分枝。取報警記錄的信息增量作為其分類標(biāo)準(zhǔn),目的是讓報警條數(shù)最多的記錄首先被處理。
步驟3:當(dāng)訓(xùn)練集所有樣本都存在于某個節(jié)點,則分割停止,決策樹分類完成。
訓(xùn)練樣本格式參考目前主流的監(jiān)控后臺報警格式,主要屬性為告警時間、信息等級、告警類型以及告警對象。考慮到各廠家的監(jiān)控系統(tǒng)報警數(shù)據(jù)上傳間隔不同,本文取最大周期值的3倍,即6 s為一個時間窗,計算信息增量。若信息增量小于等于1條,該信息在3個周期內(nèi)僅發(fā)送一次,視為誤報信息,等待運行人員復(fù)位即可消除;若信息增量在1條至4條之間,視為間發(fā)性報警,將信息暫存后等待下一個時間窗疊加分析;若信息增量在4條以上,則每個周期至少發(fā)送一次,按照附錄A圖A3—圖A5所示的監(jiān)督模型生成決策樹。例如,直供電源故障引起的保護拒動決策樹如附錄A圖A6所示。
通過分類步驟可以看出,在監(jiān)督模型確定的情況下,訓(xùn)練集中的樣本數(shù)越多,生成的決策樹越完善,分類越精確。例如,某些系統(tǒng)對TV/電流互感器(TA)采樣失敗產(chǎn)生的報警信息為“電壓/電流采樣異常”,與監(jiān)督模型提供的“TA/TV采樣異常”同意不同名。若該信息多次出現(xiàn),根據(jù)信息增量最大原則,會另外形成一個新節(jié)點,避免分類錯誤。
進(jìn)入大數(shù)據(jù)平臺HDFS的數(shù)據(jù)經(jīng)過決策樹分類,會剔除保護啟動、保護動作、斷路器跳閘、錄波完成、變壓器監(jiān)測等與故障追蹤無關(guān)信息,通過決策樹過濾后的數(shù)據(jù)按照監(jiān)督模型分為三大類。
決策樹對訓(xùn)練樣本的分類算法完成之后,就可以對未知類別的數(shù)據(jù)集進(jìn)行預(yù)測。對應(yīng)于電網(wǎng)故障追蹤的過程,即對變電站層的各種數(shù)據(jù)進(jìn)行分析,給出保護或斷路器拒動原因。
本文依據(jù)經(jīng)典的ID3算法[21]提出了一種大數(shù)據(jù)平臺下的分布式?jīng)Q策樹故障追蹤算法,該分布式算法底層由運行在各廠站端的局部決策樹歸納算法組成,該算法負(fù)責(zé)提取本廠站內(nèi)部的各種報警信號,通過監(jiān)督模型將其遞歸分割為決策樹的一枝子樹;上層為運行在調(diào)度中心的最終決策樹,該算法匯集故障區(qū)域內(nèi)各變電站的監(jiān)督模型以及決策子樹,取全局信息增量最大的決策子樹作為優(yōu)先判斷的子樹,并形成最終決策樹預(yù)測模型。這種變電站端分布式數(shù)據(jù)劃分與調(diào)度端決策樹集中生成相結(jié)合的方法,不僅避免了數(shù)據(jù)在調(diào)度端的大量堆積,而且能夠和大數(shù)據(jù)平臺的Spark Streaming緊密結(jié)合,使真正有故障的變電站被優(yōu)先診斷,將運行效率最大化。
電網(wǎng)故障追蹤算法具體過程如下:調(diào)度端故障診斷程序判斷出有保護或斷路器拒動,調(diào)用分布式?jīng)Q策樹生成算法。首先,故障區(qū)域內(nèi)各變電站內(nèi)調(diào)用局部算法,對站內(nèi)報警信息進(jìn)行預(yù)處理,形成訓(xùn)練樣本集,按監(jiān)督模型對局部報警信息進(jìn)行分類。廠站在選擇當(dāng)前監(jiān)督模型的同時,將當(dāng)前樣本集按照監(jiān)督模型傳給調(diào)度端全局算法。全局算法綜合各廠站傳來的監(jiān)督模型及樣本增益,依次求出全局最大信息增量值返回給各廠站的局部算法。局部算法根據(jù)返回的信息增量值建立報警記錄的一個節(jié)點,繼續(xù)分割各自的報警信息,進(jìn)而形成局部決策樹。該局部決策樹根節(jié)點為信息增量值,樹枝節(jié)點為報警記錄,葉子節(jié)點為故障性質(zhì)。當(dāng)各廠站的樣本被劃分完畢后,形成的局部決策樹被傳送至全局算法,具有最大信息增量的子樹放在最右端優(yōu)先被決策。最終決策樹根據(jù)輸入的分類數(shù)據(jù)以及增益數(shù)值,給出預(yù)測結(jié)果。算法流程圖如圖3所示。
圖3 分布式?jīng)Q策樹故障追蹤算法Fig.3 Fault trace method of distributed decision tree
通過決策樹完成的電網(wǎng)故障追蹤模型由Spark Streaming實現(xiàn)。首先Spark Streaming將局部決策樹所劃分的故障數(shù)據(jù)存儲為彈性分布式數(shù)據(jù)集(resilient distributed datasets,RDD)格式。每個 RDD 的數(shù)據(jù)都以 block 的形式存儲在各節(jié)點中,例如,可以設(shè)定每隔2 s的告警信息對應(yīng)一個RDD。故障數(shù)據(jù)分配的同時,分布式?jīng)Q策樹故障追蹤程序?qū)⒁訢stream的形式運行,同樣每一個信息增量下面的分枝判斷程序會對應(yīng)一個Dstream內(nèi)部RDD上的操作,每個分枝的判斷結(jié)果由全局算法經(jīng)過Spark批處理系統(tǒng)輸出診斷結(jié)果。由于決策樹每個分枝的操作方式類似,因此各RDD的大小較為均衡,能夠最大限度發(fā)揮Spark Streaming小批量計算優(yōu)點,兩者的結(jié)合能夠起到很好的效果。具體實現(xiàn)框圖如附錄A圖A7所示。
實驗室大數(shù)據(jù)平臺配置5臺物理工作站,使用CentOS 6.4作為系統(tǒng)環(huán)境,并行計算框架根據(jù)Hadoop 2.6.0環(huán)境搭建,安裝Spark-1.2.0集群組件。1臺工作站作為調(diào)度中心故障診斷服務(wù)器,4臺工作站搭載Oracle數(shù)據(jù)庫模擬變電站服務(wù)器。
實驗數(shù)據(jù)取自智能變電站綜合仿真實訓(xùn)系統(tǒng)。該系統(tǒng)可收集相鄰5座220 kV變電站的各類數(shù)據(jù),這些數(shù)據(jù)均由實際保護及在線監(jiān)測系統(tǒng)產(chǎn)生,然后經(jīng)模擬通信系統(tǒng)匯集至調(diào)度中心服務(wù)器。
本文對仿真實驗室內(nèi)故障涉及的3座變電站進(jìn)行了故障設(shè)置后信息抽樣統(tǒng)計。故障設(shè)置為甲、乙兩座變電站之間的線路發(fā)生永久性接地短路故障,甲變電站保護拒動,由下級丙變電站零序過流Ⅲ段切除故障。3座變電站約7千萬條信息中由Spark SQL查詢出相關(guān)事故級報警信息168條,一般級報警信息143條,預(yù)告級報警信息122條。設(shè)置信號通道故障后,甲變電站故障后6 s內(nèi)查詢出的信息增量統(tǒng)計如表1所示。乙、丙兩座變電站信息增量最大值均為對端保護裝置告警,分別為8條和6條,其他為局放在線監(jiān)測、復(fù)歸等信息。
表1 信息增量統(tǒng)計表Table 1 Statistical table of information gain
調(diào)度端診斷模型采用目前上線的診斷算法[22],可根據(jù)各站的事故級信息判斷出故障線路及甲變電站的不正確動作情況,然后啟動圖3所示的故障追蹤程序。首先三個變電站按照報警信息樣本,將對應(yīng)監(jiān)督模型傳送至調(diào)度端的全局算法,其中甲變電站根據(jù)表1,將傳送保護拒動以及信號通道故障監(jiān)督模型,同時全局算法利用Spark Streaming搜集所有變電站的報警信息,求出信息增量并排序。其次全局算法將信息增量從高到低返回局部算法,其中甲變電站電流電壓采樣異常報警信息首先被選中并根據(jù)保護監(jiān)督模型形成一個分枝加入最終決策樹。最后按信息增量依次將故障信息對應(yīng)的監(jiān)督模型形成分枝添加入決策樹,形成的最終決策樹如圖4所示。
圖4 實驗形成的最終決策樹Fig.4 Final decision tree formed by experimental data
最終決策樹給出的追蹤結(jié)果為甲變電站信號通道故障導(dǎo)致保護拒動,其中最大信息增量為電流電壓采樣異常,其次為智能終端保護GOOSE鏈路斷鏈、保護裝置合并單元網(wǎng)絡(luò)鏈路出錯以及電流電壓采樣無效。相比于目前只給出故障元件的故障簡報,增加了故障追蹤的簡報,給出了變電站層二次側(cè)的故障診斷內(nèi)容,替代了目前電話咨詢及匯報的方式。
本文提出的故障追蹤方法與現(xiàn)行的故障處理流程對比如附錄A圖A8所示。
兩者的故障診斷及追蹤時間對比如表2所示。單從診斷時間上看,t1~t3階段Spark系統(tǒng)對故障分析并不占優(yōu)勢,但在t4階段能夠利用其強大的數(shù)據(jù)分析能力代替變電站運維人員進(jìn)行拒動原因查找工作,形成更加詳細(xì)的故障簡報。而目前的電話匯報制度在t4階段至少需要5 min,可見本文提出的方法相比目前的故障診斷系統(tǒng)在效率上有一定的提高。在t2~t3時間段涉及的大數(shù)據(jù)與單機關(guān)系數(shù)據(jù)的查詢效率對比如附錄A圖A9所示。從圖A9中的查詢用時可以看出,Spark數(shù)據(jù)管理隨著查詢記錄的增多,無論是查詢時間還是趨勢線的增長速度都低于關(guān)系數(shù)據(jù)庫。由于t3時間段包括了決策樹的分類算法,才導(dǎo)致該時間段Spark用時多于單機運行時間。
表2 系統(tǒng)運行用時對比Table 2 Operation time comparison of system
實驗所用的訓(xùn)練樣本與診斷結(jié)果關(guān)系如附錄A表A1所示。
通過追蹤結(jié)果準(zhǔn)確率可以看出,由于斷路器拒動監(jiān)督模型中的樹葉節(jié)點少于保護拒動監(jiān)督模型中的樹葉節(jié)點,所以在訓(xùn)練樣本個數(shù)相同的情況下,追蹤結(jié)果準(zhǔn)確率要小于保護拒動模型。隨著越來越多智能設(shè)備監(jiān)測系統(tǒng)的上線,模型可依賴的監(jiān)測數(shù)據(jù)源會逐漸增多,本文所提模型將會得到進(jìn)一步完善。
隨著智能變電站內(nèi)監(jiān)控系統(tǒng)的逐步增加,越來越多的設(shè)備監(jiān)測數(shù)據(jù)涌現(xiàn)在信息平臺上。如何管理好這些海量數(shù)據(jù),并從中挖掘出有用的知識,是必須直面的問題。本文根據(jù)電網(wǎng)信息采集系統(tǒng)的結(jié)構(gòu)特點,按照Hadoop 2.0協(xié)議框架,提出了電網(wǎng)故障大數(shù)據(jù)的平臺架構(gòu),在該架構(gòu)上按照實時、準(zhǔn)實時以及批處理三級系統(tǒng)對故障診斷及追蹤程序進(jìn)行了設(shè)計。最后,利用數(shù)據(jù)挖掘?qū)ψ冸娬緝?nèi)的監(jiān)測數(shù)據(jù)進(jìn)行提取,利用決策樹對保護及斷路器不正確動作進(jìn)行分析,追蹤結(jié)果為電網(wǎng)故障診斷提供了有力支撐。另外,由于不同電壓等級變電站故障后,故障信息數(shù)量不一致,本文下一步工作將針對更高電壓等級的變電站進(jìn)行故障追蹤方法研究。
附錄見本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx)。
[1] 郭創(chuàng)新,朱傳柏,曹一家,等.電力系統(tǒng)故障診斷的研究現(xiàn)狀與發(fā)展趨勢[J].電力系統(tǒng)自動化,2006,30(8):98-103.
GUO Chuangxin, ZHU Chuanbai, CAO Yijia, et al. State of arts of fault diagnosis of power system[J]. Automation of Electric Power Systems, 2006, 30(8): 98-103.
[2] 鐘錦源,張巖,文福拴,等.基于時間序列相似性匹配的輸電系統(tǒng)故障診斷方法[J].電力系統(tǒng)自動化,2015,39(6):60-67.DOI:10.7500/AEPS20140815001.
ZHONG Jinyuan, ZHANG Yan, WEN Fushuan, et al. A fault diagnosing method in power transmission system based on time series similarity matching[J]. Automation of Electric Power Systems, 2015, 39(6): 60-67. DOI: 10.7500/AEPS20140815001.
[3] GUO Wenxin, WEN Fushuan, LEDWICH G, et al. An analytic model for fault diagnosis in power systems considering malfunctions of protective relays and circuit breakers [J]. IEEE Transactions on Power Delivery, 2010, 25(3): 1393-1401.
[4] 張楠,馮琳,楊鏡非,等.基于推理鏈的輸電網(wǎng)故障診斷[J].電力系統(tǒng)自動化,2014,38(22):78-84.DOI:10.7500/AEPS20131126007.
ZHANG Nan, FENG Lin, YANG Jingfei, et al. Transmission grid fault diagnosis based on reasoning chain[J]. Automation of Electric Power Systems, 2014, 38(22): 78-84. DOI: 10.7500/AEPS20131126007.
[5] 夏可青,陳根軍,李力.基于多數(shù)據(jù)源融合的實時電網(wǎng)故障分析及實現(xiàn)[J].電力系統(tǒng)自動化,2013,37(24):81-88.
XIA Keqing, CHEN Genjun, LI Li. Real-time analysis of power grid fault based on multi-source information fusion and its application[J]. Automation of Electric Power Systems, 2013, 37(24): 81-88.
[6] 王磊,陳青,高洪雨.輸電網(wǎng)故障的與或樹診斷模型[J].電力系統(tǒng)自動化,2016,40(2):100-106.DOI:10.7500/AEPS20150521004.
WANG Lei, CHEN Qing, GAO Hongyu. Model for and/or tree in power system fault diagnosis[J]. Automation of Electric Power Systems, 2016, 40(2): 100-106. DOI: 10.7500/AEPS20150521004.
[7] IBM. Managing big data for smart grids and smart meters[R/OL]. [2017-05-01].http://www.smartgridnews.com/artman/publish/Business_Strategy/Managing-big-data-for-smart-grids-and-smart-meters-5248.html.
[8] 彭小圣,鄧迪元,程時杰,等.面向智能電網(wǎng)應(yīng)用的電力大數(shù)據(jù)關(guān)鍵技術(shù)[J].中國電機工程學(xué)報,2015,35(3):503-511.
PENG Xiaosheng, DENG Diyuan, CHENG Shijie, et al. Key technologies of electric power big data and its application prospects in smart grid[J]. Proceedings of the CSEE, 2015, 35(3): 503-511.
[9] 中國電機工程學(xué)會電力信息化專委會.中國電力大數(shù)據(jù)發(fā)展白皮書[M].北京:中國電力出版社,2013.
[10] Big data [EB/OL].[2012-10-02]. http://en.wikipedia.org/wiki/Big_data.
[11] 宋亞奇,周國亮,朱永利.智能電網(wǎng)大數(shù)據(jù)處理技術(shù)現(xiàn)狀與挑戰(zhàn)[J].電網(wǎng)技術(shù),2013,37(4):927-935.
SONG Yaqi, ZHOU Guoliang, ZHU Yongli. Present status and challenges of big data processing in smart grid[J]. Power System Technology, 2013, 37(4): 927-935.
[12] 張東霞,苗新,劉麗平,等.智能電網(wǎng)大數(shù)據(jù)技術(shù)發(fā)展研究[J].中國電機工程學(xué)報,2015,35(1):2-12.
ZHANG Dongxia, MIAO Xin, LIU Liping, et al. Research on development strategy for smart grid big data[J]. Proceedings of the CSEE, 2015, 35(1): 2-12.
[13] 王磊,陳青,高湛軍.基于網(wǎng)格平臺的電網(wǎng)故障診斷架構(gòu)[J].電力系統(tǒng)自動化,2013,37(3):70-76.
WANG Lei, CHEN Qing, GAO Zhanjun. A framework of power grid fault diagnosis based on grid platform[J]. Automation of Electric Power Systems, 2013, 37(3): 70-76.
[14] 韓笑,狄方春,劉廣一.應(yīng)用智能電網(wǎng)統(tǒng)一數(shù)據(jù)模型的大數(shù)據(jù)應(yīng)用架構(gòu)及其實踐[J].電網(wǎng)技術(shù),2016,40(10):3206-3212.
HAN Xiao, DI Fangchun, LIU Guangyi. A big data application structure based on smart grid data model and its practice[J]. Power System Technology, 2016, 40(10): 3206-3212.
[15] LAM C, WARREN J. Hadoop in action[M]. NY, USA: Manning Publications, 2009.
[16] MEHRAGHDAM S, KELLER M, KARL H. Specifying and placing chains of virtual network functions[C]// 2014 IEEE 3rd International Conference on Cloud Networking (Cloud Net), October 8-10, 2014, Luxembourg: 7-13.
[17] MATEI Z, CHOWDHURY M, FRANKLIN M J, et al. Spark: cluster computing with working sets[R]. 2010.
[18] WU Xingdong, ZHU Xingquan, WU Gongqing, et al. Data mining with big data[J]. IEEE Transactions on Knowledge & Data Engineering, 2014, 26(1): 97-107.
[19] LIU W Z, WHITE A P. The importance of attribute selection measures in decision tree[J]. Machine Learning, 1994, 15(1): 25-41.
[20] 欒麗華,吉根林.決策樹分類技術(shù)研究[J].計算機工程,2004,30(9):94-96.
LUAN Lihua, JI Genlin. The study on decision tree classification techniques[J]. Computer Engineering, 2004, 30(9): 94-96.
[21] SQUIRE D M. CSE5230 tutorial: the ID3 decision tree algorithm[R]. Australia: Monash University, 2004.
[22] 趙冬梅,王守鵬.電網(wǎng)故障診斷的研究綜述與前景展望[J].電力系統(tǒng)自動化,2017,41(1):1-12.DOI:10.7500/AEPS20170126001.
ZHAO Dongmei, WANG Shoupeng. Research review and prospects for power grid fault diagnosis[J]. Automation of Electric Power Systems, 2017, 41(1): 1-12. DOI: 10.7500/AEPS20170126001.
王 磊(1979—),男,通信作者,博士,高級技師,主要研究方向:電力系統(tǒng)故障診斷及其軟件實現(xiàn)。E-mail: 37601391@qq.com
陳 青(1963—),女,教授,博士生導(dǎo)師,主要研究方向:電力系統(tǒng)繼電保護及安全自動裝置。
高洪雨(1967—),男,副教授,主要研究方向:電力系統(tǒng)繼電保護及配電自動化故障檢測。