胡聰,劉翠玲,洪德華,宮政
(國網安徽省電力有限公司信息通信分公司,合肥 230041)
隨著國家“互聯網+”行動計劃、云計算和大數據戰略深入推進,在“十三五”期間,國家電網公司建成規模龐大的信息化系統,企業進入全面的數字化轉型階段,信息系統的穩定運行以及日常的風險及時預警處置直接關系到電網的穩定運行[1-2]。
電網企業信息系統在運行過程中產生大量的日志信息,這些數據類型多樣、產生速度快、其中的某些數據可能包含著與系統的運行狀態相關的信息,信息系統中的數據具有典型的大數據特征[3-4]。一個應用系統的運行數據包含程序運行周期內發生的事件的相關信息,包括事件類型、發生時間、發生該事件的對象等[5-6]。對電力大數據的分析可以直觀地展現電網的運行狀態,利用流形學習方法對高維的電力大數據進行降維處理,可以解決高維電力大數據可視化的圖元密集和圖形重疊的問題,將數據清晰地展現,以便于直觀的分析數據的價值[7-8]。
目前電力企業已經全面開展數據價值挖掘工作,針對電力信息系統數據格式特點,圍繞數據采集、數據處理、模型創建等方面開展相關的技術研究和應用,對海量信息進行分析處理,深層挖掘信息的潛在價值,并取得了一定成效[9-10]。隨著信息化建設和應用不斷深入,用戶對高維數據價值挖掘的需求持續增長,用戶范圍從信息系統管理部門擴展到全業務,數據挖掘不能再只是面向單個信息系統,需要全面掌握數據狀態,及時發現故障隱患,提高電力信息系統的智能化運維水平。
電力企業積累了海量的高維數據,為大數據挖掘工作奠定了基礎。但電力企業信息系統主要從專業角度出發開展系統高維數據格式管理,信息系統中的數據內容、頻度僅考慮了各專業當前自身業務需求,未考慮后期大規模數據分析應用和跨業務領域的需求,存在系統間高維數據標準不一致,以及數據缺失等數據質量問題,給日志數據價值挖掘帶來困難。電力企業信息系統業務在逐步加寬,其業務支撐系統的復雜性也顯著增加,當前支撐系統運維管理和監控系統只是從系統底層指標判斷系統的運行狀態,為其提供系統監控和服務,缺少對系統整體性能的評價和系統健康評價標準。
通過對海量電網高維數據進行降維處理,將相似的文本收斂到可處理的量級,同時結合相關的半監督學習以及隔離森林算法對降維數據文件進行分類,設計數據分類模型算法。
將多源異構數據進行初步整理,針對其中的多源模糊沖突信息,基于不精確推理理論的隔離森林異常檢測分類技術,流形學習中的t-分布隨機鄰域嵌入(t-SNE)的非線性降維算法,在保持局部幾何特征的前提下,對高維度的電網的大數據進行降維處理。由于t-SNE算法具有對非線性和高維度數據處理的能力,因此適應智能電網的多類型數據的融合分析處理的需求,為高維電網大數據可視化提供了良好的思路?;趖-SNE算法的高維數據處理架構如圖1所示。

圖1 高維數據處理架構
電力信息系統在運行過程中產生大量的高維數據信息,這些數據類型多樣、產生速度快,其中的某些數據可能包含著與系統的運行相關的信息,電網運行數據具有典型的大數據特征。由于在電力信息系統的信息具有多源異構的特點,針對數據的異構性和多源性,分別對異構數據的信息抽取融合、多源數據融合沖突的融合,數據降維過程圖如圖2所示。

圖2 數據降維過程圖
對融合的高維數據信息提取頻繁序列模式,從日志信息中發現高維數據之間的關聯性,構建日志信息序列,利用滑動窗口的特性,將序列分為時間上等寬的子序列,當活動時間窗口進入到下一時間間隔時,從中挖掘寬度為i的候選集,構建寬度為i的頻繁集,再構建i+1的候選集,直到新的頻繁序列為空。高維數據間的因果關系用因果矩陣表示,結合因果矩陣研究,形成基于滑動時間窗的高維數據日志關聯挖掘模型。高維數據日志關聯挖掘模型如圖3所示。

圖3 高維數據日志關聯挖掘模型
基于滑動窗口的高維數據日志關聯挖掘模型,其階段1即為日志數據聚合過程,按照時間序列將日志信息進行排序并標準格式化;階段2是利用時間滑動窗口進行頻繁模式的挖掘;階段3是事件模式檢測,從上一階段挖掘到頻繁序列模式集合之后,對集合中的序列進行關聯性分析;階段4是關聯規則的預測階段,這一階段對關聯規則進行預測生成預測規則;階段5將挖掘出的新的關聯模式補充道因果關系矩陣,并更新因果關聯矩陣。經過這五個階段挖掘得到的高維日志關聯模式即為關聯模式挖掘的結果。
基于深度學習以及半監督學習的日志分析方法顯得尤為重要,具有現實意義。以t-SNE模型為基礎,對海量電網數據進行聚類處理,將相似的高維數據收斂到可處理的量級,同時結合相關的半監督學習以及深度學習對日志文件進行分類。高維數據異常檢測分類流程如圖4所示。

圖4 高維數據異常檢測分類流程
t-SNE向量:日志的量級較大,先對日志進行聚類處理,將相似的文本收斂到可以處理的量級,對所有重要子系統的日志進行文本清洗,同時引入詞頻和逆文檔頻率的建模方法對文檔信息進行數學建模,得到一個語料庫。然后將清洗后的日志信息在語料庫中映射得到其對應的TF-IDF向量。
語義空間可視化:采用Skip-gram模型預測上下文目標詞,從而最大化整個語料庫∑(w,c)∈D∑wj∈ClogP(w|wj)。w為字典中的任意詞;c為w的上下文詞;D為從調度語料中抽取出的字典。模型每次從目標詞的上下文選擇n個詞,并將其詞向量映射到對應的TF-IDF向量作為模型的輸入。接著使用Skip-gram模型來訓練電網運行數據向量,并根據詞向量構成句子向量進行文本分類衡量詞向量的質量,優化訓練詞向量的迭代次數、維度以及調整訓練模型及預料的大小。經過優化后的t-SNE向量作為LSTM模型的輸入,并在二維語義空間進行語義化表示。
信息的半監督學習:首先對有標記的訓練集學習生成一個隨機森林,然后對未標記的訓練集進行學習標注,標記過程中,樣本的預測結果越一致表面置信度越高,最后取出置信度最小的M個樣本,并把這類樣本剔除,接著重新訓練這顆隨機森林,直到未標記訓練集里的置信值都在置信閾值之內。
信息相似度分析:采用Jaccard算法來計算日志信息的相似度,Jaccard算法簡潔高效,每檢測萬條日志文本的平均耗時大概在300ms左右,使用Jaccard距離進行預處理,將相似度相差較大的篩選出去,接著再使用編輯距離進行判斷,從而實現對日志的聚類收斂,以及給所有數據賦值唯一的id。
信息分類:由于傳統的單向LSTM只能獲取前向信息,而無法做到對后續信息的獲取以及預測。
本文選取公共數據集進行實驗驗證,實驗平臺的深度學習框架:PyTorch 1.3 穩定版,開發工具:Visual Studio Code,編程語言:Python 3.6。作為對比,本文使用SVM,KNN和普通LSTM模型對故障進行檢測,檢測結果如表1所示。

表1 不同模型準確率對比
綜合來說,本文設計的基于t-SNE算法模型相比傳統機器學習模型擁有更高的降維準確率。SVM作為經典的分類模型,其在訓練集上表現出良好的效果,但是測試集上準確率顯著下降,存在明顯的過擬合現象。KNN分類器因為沒有顯式的訓練過程,在訓練集和測試集上的診斷效果均較為一般,LSTM在訓練集和測試集上表現較為穩定,表明深度學習模型能夠學習到數據中的時序變化信息。除此之外,隨著數據的積累,模型的準確率能夠進一步提高。
為了解決當前電力降維處理難題,本文提出了采用數據挖掘的高維數據降維處理方法模型,給出了數據處理系統架構,闡述了基于日志時間的降維關聯挖掘方法,設計了基于隔離森林的數據降維檢測算法,通過實驗驗證了模型的可行性。