田諾,宮立華,朱龍珠
(國家電網有限公司客戶服務中心,天津 300309)
各國政府及私營公司高度重視防范網絡攻擊,特別是對重要設施及財物的保護。攻擊方式、系統漏洞、攻擊動機等信息收集、分析與共享是保證網絡安全問題的關鍵,其中,安全信息共享既可以對目前存在的潛在危險進行分析,也可以對整個安全形勢進行全面把握。目前提出的基于同步相量測量裝置的感知方法,通過計算融合信息熵值,將與設定閾值相差較大熵值所對應的信息判定為異常信息。結合長短期記憶網絡構建安全態勢預警指標,實現安全風險感知[1];基于狀態評估態勢感知方法根據構建的權重矩陣,確定感知向量,使用狀態評估法檢測矩陣的一致性,實現態勢感知[2]。但是,上述兩種方法僅共享安全態勢向量數據,無法捕獲影響安全態勢的攻擊行為,無法有效識別攻擊模式。為了及時發現安全隱患并采取相應措施,構建了基于大數據挖掘的客戶感知監控預警模型。
客戶感知監控大數據挖掘過程如下所示:
步驟1:在大數據平臺上,根據Spark 組件的存儲特點,將預設的臨界分析規則裝入Spark 組件存儲器中[3]。經過反復迭代運算,得到了一個異常結果,通過累積迭代,獲取客戶感知監控數據。
步驟2:通過線路按鍵,從存儲器中讀出電表測量點的數據,其中包含了三相電壓、電流數據,通過設定閾值分析異常原因,由此形成數據列表[4-5]。
步驟3:抽取步驟2 的數據結果為先驗數據,利用先驗數據建立關聯規則,再利用先驗規則產生先驗關聯規則集,并將其儲存于先驗關聯規則儲存模組中[6]。
步驟4:依據步驟3 所取得的最大專項集合所產生的候補選項集合,由專項集合決定候補選項集合支持程度,并與最小支持度進行對比,以求得最大專項集合[7];重復以上步驟,直至沒有新的項目集合出現。
步驟5:在上述專項集合中,一旦出現異常數據,采集系統會將采集到的數據傳送到后驗關聯規則儲存模組中,由此生成相應規則集。
步驟6:設定客戶感知監控數據閾值,從先驗規則中提取監控數據,并將其與實際運行狀態的數據進行比較[8]。如果兩者之間差值小于閾值,則說明客戶感知監控數據是正常數據,無需預警;反之,則需預警。
根據客戶感知監控數據挖掘規則,挖掘電壓偏離度、耗損量、電壓不平衡率和電流不平衡率四項監控預警指標。
電力系統中客戶終端的電源功率消耗都是固定的,如果出現異常情況,則電壓的輸出會出現波動[9-10]。用目前的電壓和標稱的電壓之差可以反映出標稱電壓的偏離程度,公式可表示為:
式中,U0為當前電壓;Ud為額定電壓。
耗損量指的是電力系統在電能傳輸過程中出現的損耗,在客戶終端常規用電條件下,該數值的取值范圍是固定的,其計算公式如下:
式中,L為線損電量;D為電網供電量。
在正常情況下三相電壓穩定,該指標大小由電壓波動幅度決定,即電壓不平衡率表示為式(3):
式中,Ug為三相電壓平均絕對值偏差;Uh為三相電壓平均值[11]。
在正常情況下電流穩定,該指標大小由電流波動幅度決定,即電流不平衡率表示為式(4):
式中,Ig為三相電流平均絕對值偏差;Ih為三相電流平均值。
利用已識別的非正常客戶能量消耗數據,抽取出四種異常情況的狀態感知指標,并以此四種狀態感知指標及其相關數據作為客戶感知監控預警模型的輸入[12]。
根據上述挖掘的監控預警指標,采用基于聚類中心的選取算法,計算各分簇中心的間距,以此精確求出各分層單元展開系數[13-14]。然而,由于聚類算法在應用過程中必須先確定所有的數據矢量和簇中心數目,而在現實情況下,這種方法不能滿足客戶需求。因此必須通過改進聚類算法,把聚類方法轉換成動態聚類方法,從而有效地解決無法提前確定各項參數的問題[15]。同時,在建立模型的同時,利用數字矢量實時更新模型中心參數。基于此,模型構建過程如下所示:
步驟1:在充分考慮到異常情況感知目標的前提下,將客戶感知分為存在需要預警行為和不存在需要預警行為兩種類型,并在客戶感知監控數據中,隨機選擇兩個樣本作為初始聚類中心。
步驟2:從訓練樣本集中隨機抽取一組訓練樣本,并將訓練樣本的每個分簇中心間的歐氏距離進行分類[16]。采用不同的學習步長更新已有的類型數據,一次只更新一個集群。
步驟3:收斂性判定。以聚類中心的波動小于設置的門限為基準,判定更新的結果是否會收斂;如果未收斂,需重新匹配。如果收斂,可計算模型各個層次之間連接權值,計算公式為:
式中,e 為自然常數;Oi為更新后的聚類中心;Ci為初始聚類中心;dmax為聚類中心間距最大值。
步驟4:構建監控預警模型,在滿足收斂性條件下的模型能夠更好地實現監控預警,整體模型如圖1所示。

圖1 監控預警模型
從大數據挖掘的后驗規則集中,將客戶感知監控數據分為兩類,分別是存在需要預警行為和不存在需要預警行為。當客戶感知監控預警模型確定存在需要預警行為后,需要進行智能預警。利用監控預警模型,確定用戶是否存在需要預警行為。
依據已經構建完成的監控預警模型,實現客戶感知監控動態預警,過程如下:
步驟1:輸入第i個節點數據以及待預測的第n+1 天各個節點客戶感知監控數據。
沈家大院一夜之間已然化為一片灰燼。沈老七蹲在熱呼的廢墟上罵道:老子日你八輩的祖宗。大火燒了房子和銀票,且搭上了三房太太,沈老七也因此大病了一場。這時的沈小小不得不去張滿春家暫住。沈小小經歷了這場劫難后,變得沉默木訥。她是親眼看見自己的母親讓大火燒死的,那可怕的場景時常在她眼前晃悠。每逢此時,她就會指著遠處的田野說,火,火,火在燒我娘。張滿春每聽到,就會過來抱著她的頭,輕撫她的秀發說,小小,那不是火,是莊稼,是能打出好多糧食來的莊稼。
步驟2:采用主成分分析操作方法,將客戶感知監控數據降到1 維,并將第n+1 天各個節點客戶感知監控數據也采用主成分分析方法降到1 維。
步驟3:對于i個節點數據,需要進行回歸預測,獲取第n天各個節點數據,確定基線值。
步驟4:對第n+1 天第i個節點降維處理后,計算其與基線值的差值,以該計算結果為標準,判斷數據是否為正常數據,并預警。
選取預警閾值時,首先應確定客戶感知監控數據的正常波動范圍。假設已知原始客戶感知數據在正常波動范圍內,充分考慮相對誤差作為指標值,計算公式為:
式中,ai,n+1為第n+1 天的第i個節點實際數據;λi為節點基線值。該公式計算結果越小,表明ai,n+1與λi值越接近。根據客戶感知監控數據特點,確定閾值0 ≤ε<1,當0 ≤Ti≤ε<0.2 時,判定客戶感知數據為正常;當0.2 ≤Ti≤ε<0.5 時,客戶感知數據為異常,初級預警;當0.5 ≤Ti≤ε<0.7 時,客戶感知數據為異常,中級預警;當0.7 ≤Ti≤ε<0.9 時,客戶感知數據為異常,高級預警;當0.9 ≤Ti≤ε<1或ε<Ti<1 時,客戶感知數據為異常,嚴重預警。
以某城市五個區縣為例,采用隨機抽樣方法對2 500 個客戶感知數據進行分析,并建立客戶感知監控數據集。通過Matlab 軟件作為實驗工具,對客戶感知監控預警模型進行實驗驗證。
采用相對誤差作為閾值指標,公式為:
式中,xi為預測值;γi為擬合真實值。
使用采集系統提取監控數據,并計算判定指標誤差。該方法在假定所有數據都是正確且沒有任何異常的基礎上,首先設置閾值,然后采用絕對法確認認知需求,最后對比閾值,將指標數據歸一到0~1 范圍內,電壓、電流波動幅度如圖2 所示。

圖2 指標歸一化處理
由圖2 所示歸一化處理后,方便數據處理,保證監控預警時收斂速度加快。結合指標,劃分標準預警等級,如表1 所示。

表1 標準預警等級
表1 確定了電壓閾值和電流閾值,以此為標準進行實驗結果分析。
對于實驗結果與分析,將基于大數據挖掘的預警模型與基于同步相量測量裝置的感知方法、基于狀態評估態勢感知方法的電壓、電流波動幅度進行對比分析,對比結果如圖3 所示。

圖3 三種方法電壓、電流波動幅度對比分析
由圖3 可知,使用基于同步相量測量裝置的感知方法對于電壓、電流波動幅度的分析,分別與圖2所示標準值最大相差0.025 V、0.17 A;使用基于狀態評估態勢感知方法對于電壓、電流波動幅度的分析,分別與圖2 所示標準值最大相差0.035 V、0.22 A;使用基于大數據挖掘的預警模型對于電壓、電流波動幅度的分析,分別與圖2 所示標準值最大相差0.005 V、0.12 A。
通過上述分析結果可知,使用基于大數據挖掘的預警模型電壓、電流波動幅度與標準值更接近,說明使用該模型預警范圍更加精準,客戶根據相應預警等級采取對應措施。
該文利用大數據技術挖掘客戶感知監控數據,能夠通過數據處理篩選出異常數據。構建客戶感知監控預警模型,及時判定異常數據并預警。在后續優化過程中,為了增強模型適應性,將重點研究大數據挖掘技術的擴展性。通過對客戶感知監控數據的深入挖掘,對指標進行了優化,從而使預警結果準確度得到了進一步提升。