王雍, 侯慧娟, 姚瓊瓊
(國網河南省電力公司營銷服務中心,鄭州 450050)
對于智能電能表的質量分析工作,無論是作為生產者的廠商,還是作為使用者的國家電網公司,都還沒有一個定量的標準。2014年,國家電網公司開展了電能計量裝置狀態(tài)檢驗方面的探索和研究,文獻[1]的研究成果是根據(jù)對電能表的當前運行狀態(tài)的評價,指導電能表現(xiàn)場檢驗及輪換周期的動態(tài)調整工作;2015年,文獻[2]研究基于大數(shù)據(jù)技術的智能電能表運行狀態(tài)分析系統(tǒng)通過分布式存儲、分布式分析計算和數(shù)據(jù)挖掘,將用電信息采集系統(tǒng)、計量生產調度平臺、營銷業(yè)務系統(tǒng)等系統(tǒng)中的電能表信息的海量數(shù)據(jù)轉化成智能電能表運行狀態(tài)報告。但是,上述研究是從智能電能表全壽命周期的部分環(huán)節(jié)入手,缺少智能電能表關鍵環(huán)節(jié)的質量分析方法研究。
文中梳理電能表關鍵環(huán)節(jié)質量相關數(shù)據(jù),研究質量影響特征提取方法;對比各類大數(shù)據(jù)分析技術,建立智能電能表質量分析模型;使用該模型對智能電能表質量問題隱患進行預測分析,并進行現(xiàn)場驗證,根據(jù)驗證結果持續(xù)優(yōu)化模型[3]。
電能表質量分析模型的任務是依據(jù)電能表關鍵環(huán)節(jié)相關數(shù)據(jù),挖掘已拆回電能表發(fā)生故障的規(guī)律,預測具備同特征在運電能表發(fā)生故障的概率,并進行現(xiàn)場數(shù)據(jù)驗證。
對電能表質量影響較大的研發(fā)設計、物料采購、生產制造、驗收檢測、安裝運行、拆回報廢環(huán)節(jié)被定義為關鍵環(huán)節(jié),針對每個環(huán)節(jié)數(shù)據(jù)情況進行梳理便于后續(xù)數(shù)據(jù)選取[4-6]。
針對關鍵環(huán)節(jié)數(shù)據(jù),利用皮爾遜相關系數(shù)及卡方檢驗對數(shù)據(jù)字段進行相關性分析。結合業(yè)務專家給定的閾值參考,刪除相關系數(shù)大于0.6的部分字段,最終使用電能表關鍵環(huán)節(jié)數(shù)據(jù),經過清洗轉換,生成可以進行建模分析的數(shù)據(jù)。模型訓練集的樣本數(shù)據(jù)采用河南歷史數(shù)據(jù),樣本數(shù)據(jù)集來源如表1所示。數(shù)據(jù)選取階段選取原始數(shù)據(jù)共計132個字段。
表1 樣本數(shù)據(jù)來源
按照以下步驟對基于電能表關鍵環(huán)節(jié)的132個原始特征進行分析:
第一步,數(shù)據(jù)可視化。為了直觀呈現(xiàn)特征和電能表是否故障的關系,分別使用這132個原始特征畫出故障電能表和正常電能表在各個特征的分布圖形。故障表和正常表在幾個較典型特征上的分布如圖1所示。由圖可知,電能表是否故障在每個特征上的分布無明顯差異,需要通過量化指標進一步提取特征。
圖1 故障表和正常表在各特征上的分布對比圖
第二步,根據(jù)基尼不純度方法選擇特征。計算公式如式(1)所示。
(1)
式中m為類別總數(shù);fi為樣本點屬于第i類的概率。
對基尼不純度求倒數(shù)得出各特征的基尼重要度,計算公式如式(2)所示,結果如表2所示。
(2)
表2 特征重要度(部分)
計算每個特征的重要度在所有特性重要度的總和中所占用的比例, 計算公式如式(3)所示。
(3)
統(tǒng)計學中通常認為概率低于5%的事件為小概率事件,此處選擇5%作為比例閾值篩選特征,將大于重要度占比5%的特征進行保留。通過篩選保留13個特征進行建模。全部特征如表3所示,以符號A來表示。
表3 保留特征
第三步,構造特征。構造特征是根據(jù)業(yè)務和專家經驗,將電能表警告記錄、異常代碼記錄按照業(yè)務邏輯構造出新的特征,并將特征分為一票否決特征、重要特征。
電能表若出現(xiàn)過一票否決特征對應的異常,則該電能表肯定已發(fā)生故障;電能表若出現(xiàn)過重要特征對應的異常,則該電能表可能已發(fā)生故障[7-9]。構造特征包含一票否決特征13條、重要特征30條。部分特征如表4所示,以符號B來表示。
表4 構造特征(部分)
第四步,匯總上述所有特征字段共計56條,該部分特征如表5,以符號C來表示,C=A∪B。
表5 特征匯總(部分)
基于電能表關鍵環(huán)節(jié),按照上述特征數(shù)據(jù)建立故障率預測模型,完成電能表批次故障預測。預測批次故障率有兩種解決方案,一是直接預測批次電能表故障率;二是預測單個表是否發(fā)生故障,然后根據(jù)批次的故障數(shù)和總數(shù)計算批次電能表的故障率。
直接預測故障率可采用:(1)使用回歸模型擬合獲得的特征和批次故障率的線性關系,此方法可得到批次故障率與各特征之間的最優(yōu)權重關系;(2)使用拆回表數(shù)據(jù)里面得出不同時間的故障率數(shù)據(jù),套用時間序列模型,可得到批次故障率在時間軸上的趨勢預測。
另一種方案,先預測單表故障,再通過故障數(shù)除以批次的總數(shù)得到批次的故障率。預測單只表是否故障是一個二分類問題,可使用簡單分類器模型,包括決策樹、SVM、貝葉斯等,此類模型結果容易解釋,但準確率一般,且容易過擬合;也可使用集成學習模型,包括隨機森林算法、XGBoost算法、lightgbm算法等,此類模型是在簡單模型基礎上進行集成,與單一模型相比準確率往往較高且有效避免過擬合,但計算規(guī)則復雜,模型可解釋性較差[7]。
按照時間順序把隨機事件變化發(fā)展的過程記錄下來就構成了一個時間序列,對時間序列進行觀察、研究,尋找它的變化發(fā)展規(guī)律,預測它將來的走勢,就是時間序列分析(Time Series Analysis)。
時間序列預測只需要一組待預測變量的歷史數(shù)據(jù)。同回歸預測模型相比,這種方法不需要花費精力去判定變量之間的因果關系,而只需將時間序列模型所確定的歷史趨勢向外延伸便可預測未來的變動。時間序列預測往往適用于回歸模型所需的自變量數(shù)據(jù)比較缺乏,而所要預測變量的歷史數(shù)據(jù)又比較完整,足以反映其變動趨勢的場合[10-12]。
回歸分析(Regression Analysis)是一種統(tǒng)計分析方法,目的是確定兩種或兩種以上變量間相互依賴的定量關系。按照自變量和因變量之間的關系類型,可分為線性回歸分析和非線性回歸分析。在大數(shù)據(jù)分析中,回歸分析是一種預測性的建模技術,它研究的是因變量(目標)和自變量(預測器)之間的關系。這種技術通常用于預測分析,時間序列模型以及發(fā)現(xiàn)變量之間的因果關系[13-14]。
集成學習是機器學習一種框架,思想是將多個模型組合起來,達到提高模型整體泛化能力的效果。集成學習有三種類型:Bagging,Boosting,和Stacking。XGBoost算法是改進的梯度提升學習算法,是Boosting中的一種方法,算法原理與傳統(tǒng)GBDT算法不同。傳統(tǒng)的GBDT,訓練過程中只利用一階導數(shù)信息,而XGBoost算法對損失函數(shù)做了二階的泰勒展開,并且在損失函數(shù)之外增加了正則化項求取最優(yōu)解,既保證模型精度的前提,又限制了模型的復雜度,避免模型過擬合。XGBoost算法是建立在樹模型的基礎上[15-17]。
(4)
模型目標函數(shù)定義如式(5)所示。式中t代表樹的數(shù)量,Ω代表正則項。
(5)
對式(3)進行二階泰勒展開,約去常數(shù)項可得第t次迭代的目標函數(shù)如式(6)所示。式中gi為損失函數(shù)一階導數(shù),hi為損失函數(shù)二階導數(shù)。
(6)
由式(6)可知XGBoost算法損失函數(shù)能夠進行自定義(必須存在一階和二階導數(shù)),且使用了二階導數(shù),二階信息使得梯度收斂更快更準確。
使用現(xiàn)有的河南拆回表數(shù)據(jù)分別建立線性回歸、時間序列、XGBoost算法模型。三種模型超參數(shù)均設置為默認取值,均選擇99%作為故障概率閾值,預測結果超出閾值則判定為故障表,其中線性回歸、時間序列將批次判定故障表,XGBoost算法僅作單表故障判定。模型選擇2020年第一季度數(shù)據(jù)共計1 190 673條進行訓練。將檔案信息、研發(fā)設計數(shù)據(jù)、物料采購數(shù)據(jù)、生產制造數(shù)據(jù)、采集異常數(shù)據(jù)和計量異常數(shù)據(jù)作為自變量,拆回分揀數(shù)據(jù)里電能表是否故障作為因變量輸入XGBoost算法及線性回歸模型;將批次故障率作為時間序列進行建模。模型通過訓練得出數(shù)據(jù)最優(yōu)的聯(lián)合概率分布,并將該分布應用于在運電能表判斷其是否故障,實現(xiàn)智能電能表關鍵環(huán)節(jié)質量分析[17-19]。
在相同判定標準下,三種模型準確率對比如圖2所示。
圖2 模型準確率對比
XGBoost算法模型在預測準確度上遠高于其他模型,故選擇XGBoost算法模型進行后續(xù)的電能表質量預測分析工作,模型流程圖如圖3所示。
圖3 電能表質量分析模型流程圖
使用河南2015年4月~2020年4月共計5年21 177 697條歷史故障電能表數(shù)據(jù)建立智能電能表質量分析模型,預測河南2020年4~12月份共三個季度的故障數(shù)據(jù),并在2020年終和實際拆回數(shù)據(jù)進行比對驗證。
驗證情況如下:參與預測的總電能表數(shù)量為3 231 306只,涉及到貨批次6 103個,其中針對每只表計預測其是否發(fā)生故障,并在2020年終和實際結果進行比對。
模型前期訓練階段驗證數(shù)據(jù)為2020年2季度數(shù)據(jù)電能表數(shù)量為971 661只,預測正確數(shù)量為2 312 969只,占比71.58%;預測錯誤數(shù)量為918 337只,占比28.42%,詳細結果如表6所示。
表6 模型驗證結果情況
模型初步訓練后準確率達到0.72,召回率達到0.39。經檢驗模型可以將44.87%的故障表識別出來,但也存在28.42%的誤判情況,模型精確率有待提高,模型效果評價指標如表7所示。模型準確率P、召回率R的定義如式(7)所示:
P=TP/(TP+FP)
R=TP/(TP+FN)
(7)
表7 模型效果評價指標
模型進行初始學習后,觀察模型在訓練集和測試集的結果,得到訓練集精確率接近于 1,測試集精確率穩(wěn)定于 0.7 左右。最后評估驗證集,得到精確率為0.45。驗證結果表明模型的泛化能力不強并且可能出現(xiàn)了過擬合情況,需要對模型參數(shù)進行優(yōu)化。
為了提高模型學習效果,提高模型泛化能力,降低模型過擬合風險,模型后期調優(yōu)階段逐步加入2020年第三、第四季度的電能表故障數(shù)據(jù)擴充模型驗證集,通過使用增量數(shù)據(jù)的驗證形式驗證模型對未知數(shù)據(jù)的泛化能力。通過下列兩個步驟對模型進行調優(yōu):
(1)基于K折交叉驗證方法對模型進行調優(yōu)
交叉驗證的基本思想是把在某種意義下將原始數(shù)據(jù)進行分組,一部分作為訓練集,另一部分作為測試集,首先用訓練集對分類器進行訓練,再利用測試集來測試訓練得到的模型,以此作為評價分類器的性能指標。在第一次模型調優(yōu)的過程中,使用了K折交叉驗證來提高模型的泛化能力[20-22]。
K折交叉驗證的基本思想是把原始數(shù)據(jù)均分為K份,并將數(shù)據(jù)進行K次劃分,第i(i∈[1,2,…,K])次選擇第i份數(shù)據(jù)作為測試集,剩余K-1份數(shù)據(jù)作為訓練集。對K份測試集上的評價結果求平均值作為最終模型評價指標結果。模型在此評價指標約束下求使得模型收斂的最優(yōu)參數(shù)。在此使用了5折交叉驗證,選擇精確率作為評價指標。
通過K折交叉驗證,訓練集精確率達到0.65,召回率達到0.62,測試集精確率達到0.55,召回率達到0.54,驗證集精確率達到 0.45,召回率達到0.42,雖然訓練集和測試集的精確率有所提升,但驗證集的精確率低于0.5難以滿足實際需求,需要對模型超參數(shù)進行優(yōu)化;
(2)基于網格搜索方法對模型進行調優(yōu)
第二次模型調優(yōu)使用網格搜索方法對模型超參數(shù)的取值進行優(yōu)化。
網格搜索方法是將模型的超參數(shù)劃定一個具有有限取值的區(qū)間,程序通過循環(huán)遍歷所有超參數(shù)的取值組合,并依據(jù)設定好的評價指標選擇最佳結果下的模型參數(shù)作為最優(yōu)參數(shù)[23-25]。文中模型篩選的超參數(shù)如表8所示。
表8 模型超參數(shù)
通過網格搜索方法,找到最優(yōu)的參數(shù)設置,使訓練集精確率達到0.85,召回率達到0.83,測試集精確率達到 0.8,召回率達到0.79,驗證集精確率達到 0.73,召回率達到0.81。模型優(yōu)化前后效果對比如圖4所示。
圖4 調優(yōu)前后模型效果對比
模型在2020年2季度~4季度各季度的驗證數(shù)據(jù)如圖5所示,模型優(yōu)化后結果如表9所示。
圖5 模型逐月驗證結果
表9 模型驗證結果情況
通過優(yōu)化調整,模型在訓練階段參數(shù)能夠迅速收斂,在訓練集表現(xiàn)出優(yōu)秀的擬合能力,在驗證集的精確率達到0.73,整體評價效果比較理想,能夠滿足電網業(yè)務實際需求。
文章主要基于電能表關鍵環(huán)節(jié)質量數(shù)據(jù),預測故障發(fā)生規(guī)律并構建電能表質量分析模型,研究智能電能表關鍵環(huán)節(jié)質量分析方法,主要研究內容包含以下兩個方面:
(1)梳理電能表關鍵環(huán)節(jié)質量相關數(shù)據(jù),研究影響電能表質量的關鍵環(huán)節(jié)數(shù)據(jù)和質量影響特征提取方法,提取拆回電能表發(fā)生故障的規(guī)律特征,使用XGBoost算法模型學習拆回表中的規(guī)則,構建故障預測模型;
(2)利用質量分析模型對智能電能表質量問題開展分析,并使用歷史數(shù)據(jù)建立模型,預測河南2020年4月份的故障數(shù)據(jù),并在2020年5月初和實際拆回數(shù)據(jù)進行比對驗證,根據(jù)驗證結果優(yōu)化模型。使用交叉驗證方法和網格搜索方法對模型進行調優(yōu),最終模型在驗證集精確率達到 0.73,召回率達到0.81,能夠滿足電網業(yè)務實際需求。
文中提出了一種運行中智能電能表質量分析及預測方法研究的方法。該方法以電能表關鍵環(huán)節(jié)相關數(shù)據(jù)為基礎,選取電能表在研發(fā)設計、物料采購、生產制造、驗收檢測、安裝運行、拆回報廢環(huán)節(jié)數(shù)據(jù)作為模型構建的樣本數(shù)據(jù),利用XGBoost算法分類方法建立智能電能表質量分析模型。經過實際驗證,結果表明,該方法精確率達到0.73,能夠較為客觀地反應智能電能表關鍵環(huán)節(jié)質量情況。