鄭安剛,張密,曲明鈺,趙兵,陳昊,熊秋
(1.中國電力科學研究院,北京100186; 2.北京郵電大學,北京100876)
隨著電力用戶的不斷增加,電力系統(tǒng)規(guī)模也得到很大的發(fā)展,智能電能表也因為其諸多優(yōu)點得到了十分廣泛的應用,智能電能表的推廣應用不僅提升了電能計量和計費水平,還有效的防范了電費拖欠情況,提升了電力整體工作效率。但是受到運行環(huán)境、產(chǎn)品設計等因素的影響,智能電能表不可避免的會發(fā)生各類故障。在正常使用情況下,電能表會受到自然條件以及人為因素的影響,可能會導致故障,例如在自然情況下,一定時間內(nèi)溫度和濕度的異??赡軙е码娮悠骷l(fā)生失效,在電能表的運行時間達到一定限度也可能會造成某種故障類型的發(fā)生;同樣,不同電能表的廠商以及同一廠商不同批次生產(chǎn)的電能表發(fā)生某種故障的概率也不同,在這種情況下,利用機器學習方法,推斷分析電能表故障的成因以及預測電能表風險故障類型也就成為了可能。
研究目的是實現(xiàn)對智能電能表故障類型的預測,在預測模型的研究領域,貝葉斯網(wǎng)絡的表現(xiàn)尤為出色,在不同的領域上都有著不俗的表現(xiàn):例如在突發(fā)事件預測上,某學者通過貝葉斯網(wǎng)絡模型,以臺風時間為例,成功構建了預測模型[1]。在航班延誤的預測,某學者基于貝葉斯網(wǎng)絡對問題得到了很好的解決[3]。在對于故障預測的領域,某學者提出了一種基于貝葉斯網(wǎng)絡的預測方法[2]。一系列成功的案例也為文中的研究提供了十分有力的理論支持。目前國內(nèi)對于智能電能表的故障分析主要在故障發(fā)生之后的研究,已經(jīng)造成了不可挽回的損失。而對于智能電能表故障類型的預測工作并沒有得到很好的進展,文中對于智能電能表故障類型的預測工作能夠幫助預防和重視智能電能表相應故障的發(fā)生,具有十分重要的研究意義。
從以往的研究可以看出,貝葉斯網(wǎng)絡在預測領域上有著十分不俗的表現(xiàn),本研究基于貝葉斯網(wǎng)絡的方法,構建智能電能表故障類型的預測模型。主要的流程如圖1所示。
圖1 預測模型流程圖
分析故障因素的過程就是選取構建貝葉斯網(wǎng)絡的節(jié)點的過程,在結合業(yè)務專家的意見下,通過對大量歷史數(shù)據(jù)進行分析,尋找能夠導致或者影響智能電能表故障類型的因素。
本實驗研究的是電能表故障成因以及預測電能表故障,實驗數(shù)據(jù)來源于某研究院計量中心。抽取了全國各地的電能表信息共計1 000萬條,原始數(shù)據(jù)為到貨批次信息,檢定任務信息,全檢綜合結論信息,全檢基本誤差信息,現(xiàn)場運行故障信息,從中尋找篩選有價值的因素,在經(jīng)過各方專家交流討論和考慮現(xiàn)有的數(shù)據(jù)情況,將智能電能表的存放時間、運行時間、批次、供電所、廠商作為故障類型的影響因素加入到實驗的分析中。
實驗選用存放時間、運行時間、批次、供電所、廠商、故障類型等因素,加入到網(wǎng)絡的構建中。本研究基于不確定知識表達和推理技術,使用電能表故障數(shù)據(jù)構建貝葉斯網(wǎng)絡模型,以直觀的圖形結構展現(xiàn)電能表故障各個層面的原因,方便對電能表故障中各個因素之間的關系進行分析評估。并能針對電能表故障信息對故障類型進行預測。但由于獲取的數(shù)據(jù)在內(nèi)容和格式不具備直接構建貝葉斯網(wǎng)絡的條件,因此在構建貝葉斯網(wǎng)絡之前需要對數(shù)據(jù)進行預處理,處理的方式如下:
(1)存放時間獲取。實驗中從檢定任務信息和全檢綜合結論信息中獲取的智能電能表檢定時間和安裝時間的差得到,并對差值進行量化分析。對于運行時間的獲取,實驗中從全檢綜合結論信息和現(xiàn)場運行故障信息的差值獲取,同樣對差值進行量化分析。數(shù)據(jù)格式如表1所示。
表1 運行時間和存放時間的編號
(2)對于批次、供電所、廠商信息的獲取。實驗中依次從到貨批次信息中獲取,首先是對數(shù)據(jù)進行篩選,將所需因素為空的數(shù)據(jù)進行刪除,并將獲取的信息進行編號量化,得到實驗中可以使用的數(shù)據(jù)。部分數(shù)據(jù)格式如表2所示。
表2 批次、供電所、廠商對應實驗數(shù)據(jù)
(3)對于故障類型的數(shù)據(jù)處理,由于考慮到實驗數(shù)據(jù)中故障類型存在自然災害這一情況,實驗將這一故障類型清除,并對其他的故障類型進行編號處理,故障編號對應的數(shù)據(jù)見表3。
表3 故障類型對應標號
(4)對于智能電能表的內(nèi)部因素的考慮。實驗采用了電能表的設備規(guī)格和通信方式作為表3實驗的影響因素,并從全檢綜合結論信息中獲取相關數(shù)據(jù)進行相應的編號處理,得到實驗所需的數(shù)據(jù)。處理后的數(shù)據(jù)形式如表4所示。
表4 預處理后的數(shù)據(jù)形式
貝葉斯網(wǎng)絡又稱為置信網(wǎng),是在貝葉斯公式上拓展得到的不定性因果關聯(lián)模型[4],能夠通過條件概率將各種相關信息納入到同一個網(wǎng)絡結構中,能夠十分貼切的反應各個因素之間的因果關系和條件相關關系,可以在網(wǎng)絡中任意節(jié)點已知的情況下,用貝葉斯網(wǎng)絡規(guī)則在網(wǎng)絡中進行正向或者逆向的推理,可以得到網(wǎng)絡中其他節(jié)點的后驗概率,因此,貝葉斯網(wǎng)絡已經(jīng)成為了推理領域上最有效的模型之一[5]。實驗通過構建貝葉斯網(wǎng)絡,在得知其他條件因素的情況下,對故障類型進行推理預測,在實際應用生產(chǎn)中達到預防或重點監(jiān)測的作用。
目前主流的構建貝葉斯網(wǎng)絡的方法大致分為兩類:一類是評分-搜索算法,另一類是依賴分析算法。評分搜索算法過程簡單規(guī)范,但是打分函數(shù)的運算復雜程度和結構空間的大小都隨變量的增加指數(shù)增長,因此一般要求節(jié)點有順序,并進行局部評分搜索,或者是采取隨機搜索策略進行整體的評分搜索,適用于變量較少的稠密貝葉斯網(wǎng)絡的結構學習;依賴分析方法過程比較復雜,但在一些假設下同樣可以得到最優(yōu)的貝葉斯網(wǎng)絡,并且算法可具有多項式復雜度,適用于多變量稀疏的貝葉斯網(wǎng)絡結構。由于目前所能獲取的故障相關節(jié)點有限,因此本研究主要采用的基于搜索評分的構建貝葉斯網(wǎng)絡的方法。
實驗中構建貝葉斯網(wǎng)絡的方法是基于K2算法[6-10]的貝葉斯網(wǎng)絡結構學習。K2算法是比較優(yōu)秀的評分-搜索算法,K2算法采用貪婪搜索處理模型選擇問題:先定義一種評價網(wǎng)絡結構優(yōu)劣的評分函數(shù),再從一個網(wǎng)絡開始,根據(jù)事先確定的最大父節(jié)點數(shù)目和節(jié)點順序,構建貝葉斯網(wǎng)絡,K2算法的偽代碼實現(xiàn)如下所示:
K2算法的偽代碼實現(xiàn)
K2(X,Or,m,D)
輸入:X={X1,X2,X3...XN}一組變量;Or-變量的順序(與變量下標一致);m-設定的最大父節(jié)點數(shù);D-完整的數(shù)據(jù)集;
輸出:貝葉斯網(wǎng)絡;
1:Y—由節(jié)點X1,X2,...XN組成的無邊圖;
2:forj=1 ton
3:paj←φ;
4:Vold←CH(
5:while(true)
6:i←arg max1≤x
7:Vnew←CH(
8:if(Vnew>Voldand |paj| 9:Vold←Vnew; 10:paj←paj∪{Xi}; 11:在Y中加邊Xi→Xj; 12:else 13:break; 14:end if 15:end while 16:end for 18:return(S,θ); 貝葉斯網(wǎng)絡結構是為了計算而存在的,構建它的價值在于,假如存在了大量的歷史數(shù)據(jù),基于這些數(shù)據(jù)提供的先驗知識構建完成了一個貝葉斯網(wǎng)絡,在分析完成新的數(shù)據(jù)可能性任務時,在計算的時候,實驗可以采用父節(jié)點的取值來預測相應節(jié)點的取值。本實驗采用的有效實驗數(shù)據(jù)為350 000多條,其中訓練數(shù)據(jù)為320 000條, 30 000多條作為測試數(shù)據(jù)集。得到貝葉斯網(wǎng)絡結構和條件概率表之后,將測試數(shù)據(jù)集中的故障類型進行人工缺失,利用其他節(jié)點信息結合貝葉斯網(wǎng)絡對故障類型進行預測,并與原始數(shù)據(jù)進行比對,通過調(diào)整節(jié)點的順序和最大父節(jié)點的數(shù)目,提高網(wǎng)絡的準確度。 成因分析的任務可以解讀為選擇一定數(shù)量的特征屬性,這些屬性與表示故障的節(jié)點有著最大程度的關聯(lián),同時能夠攜帶盡可能多的信息。成因分析模型中將以條件互信息作為衡量標準,以故障相關節(jié)點作為分類節(jié)點,衡量其余節(jié)點之間依賴關系的強弱。并對其余節(jié)點對類節(jié)點取值的影響信息給出定量的表示。根據(jù)條件互信息的定義,在給定某個節(jié)點作為類節(jié)點的情況下,去分析特定節(jié)點某個值的發(fā)生概率,通過貝葉斯網(wǎng)絡結構和大量歷史數(shù)據(jù),可以獲得故障類型節(jié)點的條件概率表,表明的是當父節(jié)點的某個取值的組合出現(xiàn)時,子節(jié)點對應取值的概率。這一條件概率表的意義在于,它簡化了概率推理的計算。根據(jù)馬爾科夫邊界理論,一個節(jié)點的取值只需要考慮節(jié)點的父節(jié)點、子節(jié)點以及子節(jié)點的父節(jié)點。雖然直觀上看來,節(jié)點的取值只受到一個父節(jié)點的取值的影響。但是,這不表示子節(jié)點只受到一個父節(jié)點的影響。 條件互信息表示的是在給定的類別下,隨機變量之間互相影響的關系大小。成因分析模型中將以條件互信息作為衡量標準,以故障相關節(jié)點作為分類節(jié)點,衡量其余節(jié)點之間依賴關系的強弱。并對其余節(jié)點對類節(jié)點取值的影響信息給出定量的表示。根據(jù)條件互信息的定義,在給定某個節(jié)點作為類節(jié)點的情況下,去分析特定節(jié)點某個值的發(fā)生概率,通過貝葉斯網(wǎng)絡結構和大量歷史數(shù)據(jù)可以獲得故障類型節(jié)點的條件概率表,表明的是當父節(jié)點的某個取值的組合出現(xiàn)時,子節(jié)點對應取值的概率。這一條件概率表的意義在于,它簡化了概率推理的計算。 實驗結果主要是考察貝葉斯網(wǎng)絡結構對實驗目標節(jié)點預測的準確度,進行了大量試驗去調(diào)整貝葉斯網(wǎng)絡結構使得智能電能表故障類型預測的準確率達到最高,以浙江省實驗為例,實驗共采用320 000條故障相關數(shù)據(jù)作為訓練集,采用30 000條數(shù)據(jù)作為測試集,將測試集中的智能電能表故障類型一列進行人工缺失,通過訓練集得到的貝葉斯網(wǎng)絡結構對測試集中的電能表故障類型進行預測,將預測后的結果與原始結果進行比對,智能電能表的故障類型的命中率即作為實驗的準確率。對于貝葉斯網(wǎng)絡的預測實驗需要首先得到最優(yōu)的網(wǎng)絡結構以及各節(jié)點的條件概率表,實驗中得到的最優(yōu)的網(wǎng)絡結構如圖2所示。 從以上實驗得到的貝葉斯網(wǎng)絡結構,可以看到“故障類型”節(jié)點的父節(jié)點有三個,分別是“批次號”、“運行時間”、“規(guī)格”。在此基礎上,結合歷史數(shù)據(jù)得到了故障類型在其他三個節(jié)點取不同值時的條件概率表。整個網(wǎng)絡在構建過程中權衡了全部節(jié)點之間直接或間接的關聯(lián)關系,最終出現(xiàn)的網(wǎng)絡結構能夠較好地表達變量之間的依賴關系。實驗得到的條件概率表部分如表5所示。 圖2 貝葉斯網(wǎng)絡結構 故障類型批次運行時間規(guī)格發(fā)生概率45 122 0.818 862 5210 10 5 0.675 82528 5 2 0.235 1312 30.32613 4 31.010122 30.336 55410.68544410.818 181 818 2461210.25121050.1415650.857 142 8612941.0121940.729 302 32132540.122 448 9451230.288 56751030.916 66664820.833 333 4 最后通過實驗得到的貝葉斯網(wǎng)絡結構和條件概率表進行智能電能表故障類型的預測工作,采用30 000多條數(shù)據(jù)作為測試集,將測試集中的智能電能表故障類型一列進行人工缺失,通過訓練集訓練得到的貝葉斯網(wǎng)絡結構對測試集中的電能表故障類型進行預測,將預測后的結果與原始結果進行比對,以下是實驗中對二級故障測試集的預測結果如表6所示。 表6 測試集的預測結果 對于預測二級故障類型的實驗,最優(yōu)網(wǎng)絡結構的準確率為65%,對于一級故障類型的實驗準確率能夠達到87%。貝葉斯網(wǎng)絡的網(wǎng)絡結構是為了計算而存在的,構建它的價值在于,假設已經(jīng)存在大量的歷史數(shù)據(jù),基于這些數(shù)據(jù)提供的先驗知識構建完成一個貝葉斯網(wǎng)絡。在處理新的數(shù)據(jù),完成分析故障類型的任務。在實驗中選取準確率最高的貝葉斯網(wǎng)絡結構進行參數(shù)學習,即故障類型的直接父節(jié)點為批次、運行時間和規(guī)格的情況。在計算的時候,可以采用父節(jié)點的取值來預測所需節(jié)點即可。由于原始數(shù)據(jù)就是所有的故障表,即智能電能表如果出現(xiàn)故障,且是這個批次,到達某個運行時間,哪種規(guī)格更容易出現(xiàn)什么樣的問題和故障,針對這些條件因素來預測故障。在實際生產(chǎn)中可以根據(jù)已有的數(shù)據(jù),對可能發(fā)生的故障類型進行預測,并有針對性的制定相應措施和開展故障運維,對于提升用電服務質量和用電可靠性具有很大的實際意義。 提出了基于貝葉斯網(wǎng)絡的智能電能表故障類型的預測模型,通過大量的歷史數(shù)據(jù),采用K2算法構建貝葉斯網(wǎng)絡,對故障類型節(jié)點的條件概率表進行分析,最后通過歷史數(shù)據(jù)達到對故障類型進行預測的目的。1.4 條件概率表
2 實驗結果和分析
3 結束語