鄭安剛,張密,曲明鈺,趙兵,陳昊,熊秋
(1.中國電力科學研究院,北京100186; 2.北京郵電大學,北京100876)
隨著電力用戶的不斷增加,電力系統規模也得到很大的發展,智能電能表也因為其諸多優點得到了十分廣泛的應用,智能電能表的推廣應用不僅提升了電能計量和計費水平,還有效的防范了電費拖欠情況,提升了電力整體工作效率。但是受到運行環境、產品設計等因素的影響,智能電能表不可避免的會發生各類故障。在正常使用情況下,電能表會受到自然條件以及人為因素的影響,可能會導致故障,例如在自然情況下,一定時間內溫度和濕度的異常可能會導致電子器件發生失效,在電能表的運行時間達到一定限度也可能會造成某種故障類型的發生;同樣,不同電能表的廠商以及同一廠商不同批次生產的電能表發生某種故障的概率也不同,在這種情況下,利用機器學習方法,推斷分析電能表故障的成因以及預測電能表風險故障類型也就成為了可能。
研究目的是實現對智能電能表故障類型的預測,在預測模型的研究領域,貝葉斯網絡的表現尤為出色,在不同的領域上都有著不俗的表現:例如在突發事件預測上,某學者通過貝葉斯網絡模型,以臺風時間為例,成功構建了預測模型[1]。在航班延誤的預測,某學者基于貝葉斯網絡對問題得到了很好的解決[3]。在對于故障預測的領域,某學者提出了一種基于貝葉斯網絡的預測方法[2]。一系列成功的案例也為文中的研究提供了十分有力的理論支持。目前國內對于智能電能表的故障分析主要在故障發生之后的研究,已經造成了不可挽回的損失。而對于智能電能表故障類型的預測工作并沒有得到很好的進展,文中對于智能電能表故障類型的預測工作能夠幫助預防和重視智能電能表相應故障的發生,具有十分重要的研究意義。
從以往的研究可以看出,貝葉斯網絡在預測領域上有著十分不俗的表現,本研究基于貝葉斯網絡的方法,構建智能電能表故障類型的預測模型。主要的流程如圖1所示。

圖1 預測模型流程圖
分析故障因素的過程就是選取構建貝葉斯網絡的節點的過程,在結合業務專家的意見下,通過對大量歷史數據進行分析,尋找能夠導致或者影響智能電能表故障類型的因素。
本實驗研究的是電能表故障成因以及預測電能表故障,實驗數據來源于某研究院計量中心。抽取了全國各地的電能表信息共計1 000萬條,原始數據為到貨批次信息,檢定任務信息,全檢綜合結論信息,全檢基本誤差信息,現場運行故障信息,從中尋找篩選有價值的因素,在經過各方專家交流討論和考慮現有的數據情況,將智能電能表的存放時間、運行時間、批次、供電所、廠商作為故障類型的影響因素加入到實驗的分析中。
實驗選用存放時間、運行時間、批次、供電所、廠商、故障類型等因素,加入到網絡的構建中。本研究基于不確定知識表達和推理技術,使用電能表故障數據構建貝葉斯網絡模型,以直觀的圖形結構展現電能表故障各個層面的原因,方便對電能表故障中各個因素之間的關系進行分析評估。并能針對電能表故障信息對故障類型進行預測。但由于獲取的數據在內容和格式不具備直接構建貝葉斯網絡的條件,因此在構建貝葉斯網絡之前需要對數據進行預處理,處理的方式如下:
(1)存放時間獲取。實驗中從檢定任務信息和全檢綜合結論信息中獲取的智能電能表檢定時間和安裝時間的差得到,并對差值進行量化分析。對于運行時間的獲取,實驗中從全檢綜合結論信息和現場運行故障信息的差值獲取,同樣對差值進行量化分析。數據格式如表1所示。

表1 運行時間和存放時間的編號
(2)對于批次、供電所、廠商信息的獲取。實驗中依次從到貨批次信息中獲取,首先是對數據進行篩選,將所需因素為空的數據進行刪除,并將獲取的信息進行編號量化,得到實驗中可以使用的數據。部分數據格式如表2所示。

表2 批次、供電所、廠商對應實驗數據
(3)對于故障類型的數據處理,由于考慮到實驗數據中故障類型存在自然災害這一情況,實驗將這一故障類型清除,并對其他的故障類型進行編號處理,故障編號對應的數據見表3。

表3 故障類型對應標號
(4)對于智能電能表的內部因素的考慮。實驗采用了電能表的設備規格和通信方式作為表3實驗的影響因素,并從全檢綜合結論信息中獲取相關數據進行相應的編號處理,得到實驗所需的數據。處理后的數據形式如表4所示。

表4 預處理后的數據形式
貝葉斯網絡又稱為置信網,是在貝葉斯公式上拓展得到的不定性因果關聯模型[4],能夠通過條件概率將各種相關信息納入到同一個網絡結構中,能夠十分貼切的反應各個因素之間的因果關系和條件相關關系,可以在網絡中任意節點已知的情況下,用貝葉斯網絡規則在網絡中進行正向或者逆向的推理,可以得到網絡中其他節點的后驗概率,因此,貝葉斯網絡已經成為了推理領域上最有效的模型之一[5]。實驗通過構建貝葉斯網絡,在得知其他條件因素的情況下,對故障類型進行推理預測,在實際應用生產中達到預防或重點監測的作用。
目前主流的構建貝葉斯網絡的方法大致分為兩類:一類是評分-搜索算法,另一類是依賴分析算法。評分搜索算法過程簡單規范,但是打分函數的運算復雜程度和結構空間的大小都隨變量的增加指數增長,因此一般要求節點有順序,并進行局部評分搜索,或者是采取隨機搜索策略進行整體的評分搜索,適用于變量較少的稠密貝葉斯網絡的結構學習;依賴分析方法過程比較復雜,但在一些假設下同樣可以得到最優的貝葉斯網絡,并且算法可具有多項式復雜度,適用于多變量稀疏的貝葉斯網絡結構。由于目前所能獲取的故障相關節點有限,因此本研究主要采用的基于搜索評分的構建貝葉斯網絡的方法。
實驗中構建貝葉斯網絡的方法是基于K2算法[6-10]的貝葉斯網絡結構學習。K2算法是比較優秀的評分-搜索算法,K2算法采用貪婪搜索處理模型選擇問題:先定義一種評價網絡結構優劣的評分函數,再從一個網絡開始,根據事先確定的最大父節點數目和節點順序,構建貝葉斯網絡,K2算法的偽代碼實現如下所示:
K2算法的偽代碼實現
K2(X,Or,m,D)
輸入:X={X1,X2,X3...XN}一組變量;Or-變量的順序(與變量下標一致);m-設定的最大父節點數;D-完整的數據集;
輸出:貝葉斯網絡;
1:Y—由節點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,θ); 貝葉斯網絡結構是為了計算而存在的,構建它的價值在于,假如存在了大量的歷史數據,基于這些數據提供的先驗知識構建完成了一個貝葉斯網絡,在分析完成新的數據可能性任務時,在計算的時候,實驗可以采用父節點的取值來預測相應節點的取值。本實驗采用的有效實驗數據為350 000多條,其中訓練數據為320 000條, 30 000多條作為測試數據集。得到貝葉斯網絡結構和條件概率表之后,將測試數據集中的故障類型進行人工缺失,利用其他節點信息結合貝葉斯網絡對故障類型進行預測,并與原始數據進行比對,通過調整節點的順序和最大父節點的數目,提高網絡的準確度。 成因分析的任務可以解讀為選擇一定數量的特征屬性,這些屬性與表示故障的節點有著最大程度的關聯,同時能夠攜帶盡可能多的信息。成因分析模型中將以條件互信息作為衡量標準,以故障相關節點作為分類節點,衡量其余節點之間依賴關系的強弱。并對其余節點對類節點取值的影響信息給出定量的表示。根據條件互信息的定義,在給定某個節點作為類節點的情況下,去分析特定節點某個值的發生概率,通過貝葉斯網絡結構和大量歷史數據,可以獲得故障類型節點的條件概率表,表明的是當父節點的某個取值的組合出現時,子節點對應取值的概率。這一條件概率表的意義在于,它簡化了概率推理的計算。根據馬爾科夫邊界理論,一個節點的取值只需要考慮節點的父節點、子節點以及子節點的父節點。雖然直觀上看來,節點的取值只受到一個父節點的取值的影響。但是,這不表示子節點只受到一個父節點的影響。 條件互信息表示的是在給定的類別下,隨機變量之間互相影響的關系大小。成因分析模型中將以條件互信息作為衡量標準,以故障相關節點作為分類節點,衡量其余節點之間依賴關系的強弱。并對其余節點對類節點取值的影響信息給出定量的表示。根據條件互信息的定義,在給定某個節點作為類節點的情況下,去分析特定節點某個值的發生概率,通過貝葉斯網絡結構和大量歷史數據可以獲得故障類型節點的條件概率表,表明的是當父節點的某個取值的組合出現時,子節點對應取值的概率。這一條件概率表的意義在于,它簡化了概率推理的計算。 實驗結果主要是考察貝葉斯網絡結構對實驗目標節點預測的準確度,進行了大量試驗去調整貝葉斯網絡結構使得智能電能表故障類型預測的準確率達到最高,以浙江省實驗為例,實驗共采用320 000條故障相關數據作為訓練集,采用30 000條數據作為測試集,將測試集中的智能電能表故障類型一列進行人工缺失,通過訓練集得到的貝葉斯網絡結構對測試集中的電能表故障類型進行預測,將預測后的結果與原始結果進行比對,智能電能表的故障類型的命中率即作為實驗的準確率。對于貝葉斯網絡的預測實驗需要首先得到最優的網絡結構以及各節點的條件概率表,實驗中得到的最優的網絡結構如圖2所示。 從以上實驗得到的貝葉斯網絡結構,可以看到“故障類型”節點的父節點有三個,分別是“批次號”、“運行時間”、“規格”。在此基礎上,結合歷史數據得到了故障類型在其他三個節點取不同值時的條件概率表。整個網絡在構建過程中權衡了全部節點之間直接或間接的關聯關系,最終出現的網絡結構能夠較好地表達變量之間的依賴關系。實驗得到的條件概率表部分如表5所示。 圖2 貝葉斯網絡結構 故障類型批次運行時間規格發生概率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 最后通過實驗得到的貝葉斯網絡結構和條件概率表進行智能電能表故障類型的預測工作,采用30 000多條數據作為測試集,將測試集中的智能電能表故障類型一列進行人工缺失,通過訓練集訓練得到的貝葉斯網絡結構對測試集中的電能表故障類型進行預測,將預測后的結果與原始結果進行比對,以下是實驗中對二級故障測試集的預測結果如表6所示。 表6 測試集的預測結果 對于預測二級故障類型的實驗,最優網絡結構的準確率為65%,對于一級故障類型的實驗準確率能夠達到87%。貝葉斯網絡的網絡結構是為了計算而存在的,構建它的價值在于,假設已經存在大量的歷史數據,基于這些數據提供的先驗知識構建完成一個貝葉斯網絡。在處理新的數據,完成分析故障類型的任務。在實驗中選取準確率最高的貝葉斯網絡結構進行參數學習,即故障類型的直接父節點為批次、運行時間和規格的情況。在計算的時候,可以采用父節點的取值來預測所需節點即可。由于原始數據就是所有的故障表,即智能電能表如果出現故障,且是這個批次,到達某個運行時間,哪種規格更容易出現什么樣的問題和故障,針對這些條件因素來預測故障。在實際生產中可以根據已有的數據,對可能發生的故障類型進行預測,并有針對性的制定相應措施和開展故障運維,對于提升用電服務質量和用電可靠性具有很大的實際意義。 提出了基于貝葉斯網絡的智能電能表故障類型的預測模型,通過大量的歷史數據,采用K2算法構建貝葉斯網絡,對故障類型節點的條件概率表進行分析,最后通過歷史數據達到對故障類型進行預測的目的。
1.4 條件概率表
2 實驗結果和分析



3 結束語