劉昕林, 羅偉峰, 黃萍, 鄧巍
(深圳供電局有限公司, 深圳 518000)
進入21世紀以來,電力在現代人的生活中已經占據十分重要的地位,我國自從改革開放以后,各個行業對電力的需求也在呈現出逐年上升的趨勢。為了滿足各個行業對電力的需求,傳統意義上的電網系統逐漸不能滿足現代社會對于電力的需求,智能電網逐漸取代了傳統電網。另一方面,隨著電力信息系統和基礎設備的增加,電力信息系統以及基礎設備的故障也隨之不斷增長,因此如何避免信息系統以及基礎設備故障的發生也稱為電力系統中的一個重要課題。在眾多信息系統以及基礎設備故障的研究中,故障預測是防范電力系統故障的有效手段之一[1]。故本文從智能電網出發,利用大數據理論對信息系統以及基礎設備的故障監控進行預判和分析。
該項研究可以為運維工程師提供故障預測、故障快速定位,從而有效降低告警數量,確保日常業務工作正常進行,進而有效節省運維成本[2-3]。從電力公司角度看,該項研究為深入拓展電力領域業務提供機遇 ,同時也為公司在局內拓展其他業務打下堅實基礎。
本次研究鑒于筆者工作關系,選用中國南方電網有限責任公司作為研究對象。中國南方電網有限責任公司,于2002年12月29日正式掛牌成立并開始運作。公司經營范圍為廣東、廣西、云南、貴州和海南五省(區),負責投資、建設和經營管理南方區域電網,經營相關的輸配電業務。
該公司數據中心本階段納入監控系統范圍的資源情況如下:服務器1 054臺,oracle數據庫106套,中間件67套,網絡設備53個,安全設備5個,存儲設備33臺,虛擬化平臺3套,核心業務系統7套(具體包括綜合管理系統、資產管理系統、營銷管理系統、協同辦公系統、財務管理系統等)。其中,本期建模項目需要可能涉及到的虛擬化平臺1個,核心業務系統7個。目前,這些設備每年新增的性能檢測數據已達到10億條;而隨著時間延長,數據庫中的歷史數據存量頗豐。根據供電局業務發展規劃,供電局需要對運維數據進行深度挖掘,從而為運維工作提供支持和幫助。
本次研究的綜合目標為,通過對本文通過對南方某電力局磁盤使用率,cpu使用率等情況的數據挖掘,將目標的數據人為劃分為5個警告等級,并且通過數學模型實現預測出一天內各個樣本數據發生的警告等級(例如,某樣本數據可能會在一天內從3級警告轉為5級警告),同時對于較高警告等級的數據也預測其發生的時間(例如預測某個樣本數據從3級警告轉為5級警告會發生在5天后)。
1.3.1 邏輯回歸算法
鑒于本次研究的數據特點以及筆者自身的能力,隨機森林算法和回歸算法是本次研究比較理想的數學模型[4-5]。本次預測最終的預測結果為警告等級,屬于離散隨機因變量范疇,因此本次回歸模型可以選用邏輯斯諦回歸模型,具體模型為:
其中Y僅表現為0(否)、1(是)兩種情況下的變量
1.3.2 隨機森林算法
隨機森林算法的基本原理是從原始訓練樣本N中,又放回的隨機抽取K個樣本生成新的訓練樣本基本,然后根據自主樣本集合,生成K個分類數組成隨機森林[6]。其本質為決策樹算法的一種改進,其具體實施為,首先用N來表示樣本個數,M表示特征數目。然后輸入特征數目m,用于確定每一個一個節點的決策結果并且要求,m應遠小于M。其次從N個樣本中以有放回抽樣的方式,取樣N次,形成一個訓練集,并用未抽到的樣本作預測,評估其誤差。接著對于每一個節點,隨機選擇m個特征,決策樹上每個節點的決定都是基于這些特征確定的。最后,根據這m個特征,計算其最佳的分裂方式。
1.3.3 算法選擇
通過比較邏輯回歸以及隨機森林兩種算法,其中相比于隨機森林算法邏輯回歸算法的優勢在于,計算速度快,簡單易于理解并且可以直觀的看到各個特征的權重[7-8];其不足在于對于數據以及場景的適應能力有一定的局限性。
相比于邏輯回歸算法,隨機森林算法的優勢在于具有較高的準確率,并且抗噪聲能力較強,同時也容易實現并行化。但是其不足在于如果決策樹較多時,比較占用系統資源。
鑒于本次研究的實際情況,公司硬件設備以及系統資源較為充沛,同時對于預測的準確率要求較高,因此本次預測模型選用后者隨機森林模型。
由于本次研究存在較多狀態,本文只選用最為典型的3級告警轉為5級告警的概率預測作為該次研究的范例進行說明。首先要從告警數據中提取正(3轉5)負(3轉3)樣本。對于每個5級告警,其之前一天之內的所有3級告警均可構成一條正樣本;而在每個5級告警之前5天(5天是為了消除短時間內VM_Storage性能的相似性)以上的3級告警之間均可構成一條負樣本,并且正樣本略少于負樣本。
本次預測模型選用,隨機森林(Random forest,RF)算法,該算法屬于集成機器學習算法,利用隨機采樣技術bootstrap和節點隨機分裂技術構建多棵決策樹,通過投票得到最終分類結果。RF具有分析復雜相互作用分類特征的能力,對于噪聲數據和存在缺失值的數據具有很好的魯棒性,并且具有較快的運算速度,其變量重要性度量可以作為高維數據的特征選擇工具,近年來已經被廣泛應用于各種分類、預測、特征選擇以及異常點檢測問題中[9-10]。
2.2.1 缺失值處理
數據缺失是數據分析中經常碰到的問題。缺失值產生的原因多種多樣,主要分為機械原因和人為原因。機械原因是由于機器問題所導致的數據收集或保存失敗造成的數據缺失,比如存儲器損壞,服務器掛起所導致某段時間數據未能收集。人為原因是由于人的主觀失誤、歷史局限等因素造成的數據缺失。對于缺失值的處理,從總體上來說分為刪除缺失值和缺失值填充。缺失值填充的方法又有均值填充、中位數填充、眾數填充,線性插值等方法。本次鑒于綜合因素的影響,如果無特殊聲明,選擇均值填充的方式處理缺失值。
2.2.2 異常數據處理
經過數據缺失分析之后,需要對數據中的異常值進行檢測[11-13]。在處理數據的時候,常常會遇到個別數據值偏離預期或大量統計數據值結果的情況。如果把這些數據值和正常數據值放在一起進行統計,可能會影響實驗結果的正確性。如果把這些數據值簡單地剔除,又可能忽略了重要的實驗信息。這里重要的問題是如何判斷異常值,然后將其剔除。判斷和剔除異常值是數據處理中的一項重要任務,異常值指樣本中的個別值,其數值明顯偏離它(或他們)所屬樣本的其余觀測值,也稱異常數據,離群值。
異常至少包括三個方面的異常:第一是類型不匹配異常,比如本來是number類型結果填了一個date類型;第二是大小不匹配異常,對于string類型可能出現非法字符,可能出現字符串太長或太短,對于number類型超過合理范圍的最大值或最小值,整型變成了浮點型,對于date類型,出現類似2月30號這種邏輯上的錯誤取值;第三是分布上的異常,比如正態分布,取這個值的范圍在3Sigma外可能是異常值[14-15]。最重要的是要結合具體的字段含義來分析出現的值是否合理。對于異常值的處理可以參考缺失值的處理技術,刪除或者填充。
對于告警數據表列出的字段,并沒有類型不匹配的情況。而大小不匹配、分布異常需要結合具體的業務意義來判斷,業務意義需要逐字段與客戶深入交流。
使用隨機森林算法建模,將數據集的80%作為訓練集,20%作為測試集。使用隨機森林的袋外錯誤率(Out-of-BagError)作為標準,選擇最合適的隨機森林中樹的規模。具體情形如圖1所示。

圖1 隨機森林算法建模
為了使模型盡量不產生過擬合現象,根據OOB結果,隨機森林采用92棵決策樹。訓練出的模型的特征重要程度如圖2所示。

圖2 隨機森林算法模型特征
由上圖得知,最重要的性能指標有:整體狀態(黃),整體狀態(紅),已使用空間百分比(1小時前),已使用空間百分比(3小時前),整體狀態(灰),已使用空間百分比(0.5小時前),剩余空間大小等。
單棵決策樹建樹結果如圖3所示。

圖3 建樹結果
精度,召回率,F1-score以及準確率如表1所示。
如表1所示,模型的精度為0.78,召回率為0.77,F1-score為0.77。
根據混淆矩陣,可以得出模型的準確率為0.77,模型的預測效果較好如表2所示。

表1 模型性能評估

表2 模型預測效果
如圖4所示。

圖4 ROC曲線及AUC值
模型的AUC值為0.87,因此模型的分類性能較好。隨機森林的分類間隔:模型的平均分類間隔為0.43,較低,說明模型分類性能較好。隨機森林的帶外錯誤率:模型的OOB為0.24,較低,說明模型分類性能較好。
本文通過對南方某電力局磁盤使用率,cpu使用率等情況的數據挖掘,通過數據的分析從而預測一天內三級警告轉為五級警告的概率,從模型評估指標來看,1天內3級告警轉5級告警概率預測模型效果較好,符合預測需求。
此外,模型的應用場景為:
1、如果發生了3級告警,一天之內要不要去處理(1天內3級告警轉5級告警概率預測模型);
2、如果一天之內不處理,那么幾天內處理比較合適(3級告警轉5級告警時間間隔預測模型)。模型使用方式是以告警數據和虛擬化平臺存儲性能數據作為輸入,輸出當前3級告警是否會在1天內轉為5級告警,以及轉移成5級告警所用時間。
但是由于本次用于模型訓練的數量較少,因此模型的性能受到樣本過少的限制。后期通過積累更多的樣本可以使模型的性能更加出色。