程路明,樓平,諸駿豪,李凌雁,崔曉昱,孫毅
(1.國網浙江省電力有限公司湖州供電公司,浙江省湖州市 313000;2.華北電力大學電氣與電子工程學院,北京市 102206)
電力通信傳輸網作為電力系統智能化調度和現代化管理的樞紐,承載著支撐電網安全可靠運行的調度管理業務[1]。當前,以數據為驅動的新興業務正處于迅猛發展的階段,電力通信網的安全可靠是海量數據高效傳輸的基礎和關鍵。而針對大量且復雜的電力通信網運行原始數據和告警數據,如何篩選關鍵信息進而對通信網告警進行預測,避免規模性電力通信網故障是保障通信網穩定運行的有效途徑之一。
電力通信網告警數據通常只反映因網絡故障引起的系統相關部件的狀態變化,但是由于網絡節點和設備之間存在鏈接,告警信息可能會沿著網絡鏈接傳播到與其相連的多個站點,從而產生衍生告警信息[2]。面對繁復的原始冗余數據,難以從中提取根源性告警信息,即故障根本原因,這不僅影響故障排查的精確性和搶修的實時性,也消耗大量的人力物力。目前,多省已開展電力通信網資源信息集中監視平臺建設,重點突破根告警預測定位技術,提高網絡質量,業務通信通道平均中斷時間降低了98.8%,實現告警壓縮率0.04%[3]。根告警預測能夠協助運維人員預知網絡風險,提前聚焦高風險點,及時定位網絡可能出現的故障,從根源上排查網絡故障,進而提高電力通信網的可靠性,降低區域性衍生告警概率及運維成本損耗[4]。其中設備屬性是產生根源性告警的主要因素之一,且其預測技術存在預測精度不高的問題,仍是目前亟待解決的工程難題。因此,如何基于歷史告警數據對設備屬性造成的根源性告警實現精準預測,是本文解決的重點問題。
現有的網絡告警預測研究雖然已經取得了較好的成果,但鮮少區分根源性告警和衍生告警,無差別式修復所有告警信息不僅降低排查效率,增加運維成本,同時可能出現由于未及時排查到根源性告警導致仍然產生大量衍生告警的情況。文獻[4-5]提出臟數據預處理(dirty-data-based alarm prediction,DAP)的預測算法,提升數據集精度和機器學習性能;文獻[6-7]提出加權告警分析方法和加權增量關聯規則挖掘重要告警序列模式,提高通信網絡告警預測的精度和效率;文獻[8]對通信網絡進行狀態估計,排除錯誤告警;文獻[9-10]利用聚類算法壓縮告警事務集,提高告警關聯規則的準確度;文獻[11]使用機器學習和深度學習組合算法實現光傳輸網絡的告警分析和故障預測;文獻[12]提出了一種基于自學習數據增強的機器學習的告警預測方法;文獻[13]采用貝葉斯線性回歸分類預測告警順序模式達到提高預測性能目的;文獻[14]采用基于跨層人工智能架構的預測算法,數據量相對較少。
上述預測算法對告警影響因素關聯性挖掘不足,導致數據的冗余性較大,價值密度低,預測誤差增大,也增加了模型計算的復雜度、運維人員排查故障的難度和成本。同時,現有的機器學習預測算法缺乏對模型復雜度的控制和優化模型的泛化能力,算法訓練時間長。
針對上述存在的根源性告警技術研究較少、告警預測精度不足和模型效率不高的問題,本文提出一種基于關聯規則挖掘的通信網根告警預測算法,結合根源性告警關鍵影響因素對根源性告警進行精準預測,有效提升預測精度和時效性,并通過實際光通信網數據驗證該方法的有效性,為管理維護人員進行電力通信網根源性故障高效精準運維提供參考。其中,本文的創新點和貢獻主要在于:1)針對大量原始告警信息,采用APRIORI算法挖掘根告警關聯規則,利用概率函數轉化提取關鍵影響因素,降低貝葉斯優化XGBoost模型中輸入數據的冗余度,提高輸入數據價值密度,避免無效數據對預測結果的擾動;2)建立基于APRIORI-貝葉斯優化XGBoost的通信網根告警預測模型,利用貝葉斯尋找XGBoost參數最優解,簡化模型尋優過程,進而提升模型效率和告警預測精度。
本文采用廣西省電力通信網實際告警信息記錄表作為原始數據集,共13 401條記錄,但存在以下缺陷:
1)重復告警。一個設備發生故障時可能會導致其他相關設備發生故障,出現告警傳播現象,同時間歇性發生的故障也可能會導致大量的重復告警。
2)屬性冗余。原始數據集共包含23個屬性,如所屬廠家、告警級別、告警對象、確認人、確認時間、設備編碼等,但多數屬性與告警預測相關性較弱。
3)信息缺失。某些環境或者人為因素會導致告警信息丟失,如網絡通道發生故障造成的告警信息無法傳送。
4)信息噪聲。錯誤告警可視為信息噪聲,將嚴重影響關聯挖掘結果的可靠性。
因此,本文首先對原始數據集進行了預處理,包括對數據進行去冗、去噪、標準化處理,過濾數值嚴重缺失的記錄,對僅有部分缺失的數據暫時保留。預處理后的數據集中每一屬性對應元素如表1所示,其中依據不同區域對廣西省電力通信傳輸網絡進行劃分,包括IT監視二區、IT監視三區、烽火光傳輸網、華為光傳輸網、省光傳輸網A、省光傳輸網I和中調動力環境7類。
APRIORI算法具有消除數據冗余、簡化數據和關聯規則結果全面的功能[15],因此,本文選取APRIORI算法對根告警預測影響因子進行關聯挖掘。同時,由于APRIORI算法屬于布爾關聯規則頻繁項集挖掘算法,只能處理離散型變量,不能處理數值型變量,故本文對預處理數據拆分離散化,形成離散型樣本集。為進一步詳細說明算法流程,本文以樣本集中10條數據的7個屬性作為APRIORI頻繁項集生成的應用示例,抽取數據及屬性如表2所示。抽取數據分析僅作為APRIORI算法流程說明,具體根告警關聯規則挖掘結果見仿真分析。

表1 不同屬性及其對應元素Table 1 Different attributes and their corresponding elements
表2中10條記錄代表10個事務,記為T1~T10,z為0-1變量,z=1表示“事務為根告警”,z=0表示“事務不是根告警”,對選取的指標依次由a~g進行編號。X={a,b,…,g}是影響根告警的因子集合,即項的集合;T={T1,T2,…,T10}是根告警的集合,即事務集。每個事務Ti都是項的集合,即Ti?X。

表2 隨機抽取數據及元素Table 2 Randomly extracted data and elements
頻集的產生需設定最小支持度閾值,項集X的支持度S(X)計算公式為:
S(X)=P(X)
(1)
式中:P(X)代表數據集中項集X的支持數在事務集T中所占的比例,設定最小支持度為50%,APRIORI關聯規則生成過程如下:
1)掃描事務集,生成1-項候選集C1,并計算對應項集支持度,選擇滿足閾值條件的項集組成頻繁1-項集L1,如表3所示。

表3 頻繁1-項集L1Table 3 Frequent 1-item set L1
2)根據表2產生2-項候選集C2,計算對應項集支持度,選擇滿足閾值條件的項集組成頻繁2-項集L2,如表4所示。

表4 頻繁2-項集L2Table 4 Frequent 2-item set L2
3)根據表3產生3-項候選集C3,計算對應項集支持度,選擇滿足閾值條件的項集組成頻繁3-項集L3,如表5所示。

表5 頻繁3-項集L3Table 5 Frequent 3-item set L3
由于L3無法繼續構成候選集C4,算法結束迭代,最終得到的頻繁項集為L1、L2、L3。
4)同時滿足設定的最小支持度和最小置信度閾值輸出為強關聯規則,據此生成根告警關聯規則X?Y,其中X為前項,Y為后項,支持度S(X?Y)和置信度C(X?Y)計算公式如式(2)所示:
(2)
式中:P(X∪Y)為事務集T中X、Y兩個項集同時出現的概率;P(Y|X)為出現項集X的事務集T中,項集Y也同時出現的概率,其中X、Y均為包含于T的項集,且X∩Y=?。本文中的支持度指的是表1所列26類元素中若干項存在導致根告警出現的概率,而置信度表現為若干項屬性存在導致根告警出現的可能性大小。規定最小支持度為15%,最小置信度為80%,生成的強關聯規則如表6所示。由表6可知,所有規則均符合最小置信度閾值要求,輸出為強關聯規則。

表6 強關聯規則挖掘結果分析Table 6 Analysis of mining results of strong association rules %
利用關聯規則概率化確定影響因子的關聯度,對APRIORI關聯因素分析結果進行轉換作為預測模型的樣本集,用Ri表示某個影響因子的關聯度,反映該影響因子和其他影響因子的關聯程度及該影響因子和是否為根告警之間的關聯程度,Ri計算值較大時代表關聯度較強,反之相反。具體關聯度概率化計算如式(3)所示:

(3)

貝葉斯優化XGBoost預測模型以關聯規則概率化后篩選的影響因素作為模型的輸入樣本集,將貝葉斯優化應用于超參數尋優中,得到光傳輸網的根告警預測結果。
2.2.1 XGBoost模型
XGBoost是在梯度提升樹的基礎上對boosting算法進行的改進,將弱分類器集成為一個強分類器,利用分類與回歸樹模型(classification and regression tree,CART)進行預測,第k棵樹的預測函數為:
(4)

XGBoost算法每輪優化的目標函數κ和回歸樹復雜度函數Ω(fk)分別為:
(5)

將式(4)代入目標函數中,在XGBoost模型訓練過程中,每一輪迭代都在現有樹的基礎上增加1棵樹擬合前面樹的預測結果與真實值之間的殘差,因此第t輪優化的目標函數變為:
(6)

(7)
式中:Gm、Hm分別代表一階導數和二階導數;Im代表葉子節點m的集合。
2.2.2 貝葉斯優化
貝葉斯優化算法用于結合歷史數據的全局優化,算法核心為概率代理模型與采集函數。由于本文構建的預測模型分布未知,無法根據經驗選擇最優的模型,因此在仿真過程中概率代理模型使用高斯過程回歸模型[16-19],采集函數使用改進概率(probability of improvement,PI)方法。貝葉斯優化超參數的目標函數為:
(8)
式中:X是實驗樣本集;x*是目標函數達到最優的一組集合。
貝葉斯優化XGBoost算法的實現步驟為:
1)初始化XGBoost模型參數以及超參數取值范圍,生成隨機初始化點,將APRIORI算法處理后的告警數據樣本集和初始化參數作為貝葉斯優化中高斯模型和根告警預測模型的輸入變量,得出根告警的預測結果,修正參數改進高斯模型,使其輸出結果更接近真實值;
2)在修正后的高斯模型選取待評估的參數組合點,使得采集函數達到最優,同時高斯模型比其余參數組合點更逼近目標函數的真實分布,得到最優參數組合;
3)將全局最優參數組合輸入XGBoost模型中進行訓練,如果選取的參數組合的誤差低于預先設置的閾值,則算法結束,輸出對應的參數組合以及模型的預測誤差(xi,f(xi));
4)如果f(xi)不滿足閾值要求,則將(xi,f(xi))輸入到高斯模型中,對高斯模型進行修正,返回步驟2),直至低于預先設置的閾值。
基于APRIORI-貝葉斯優化XGBoost預測模型的具體流程如圖1所示。
隨著電力通信網中的網絡參數和拓撲結構不斷發生變化,樣本數據集隨之更新,本文所提算法可通過調整XGBoost模型中的葉子節點個數、樹的深度、葉子節點3個參數重新訓練預測模型來適應新出現的樣本數據,同時通過調整目標函數中的正則項控制預測模型的復雜程度,防止出現過擬合的現象,保證模型的預測精度和復雜度。
本文的實驗運行環境為64位Windows10操作系統,處理器為Intel(R)Core(TM)i7-7500U CPU @ 2.70 GHz 2.90 GHz。本文采用隨機抽取原則抽取不同量級數據,但在每一量級下控制根告警與非根告警的樣本比例為1∶4。

圖1 基于APRIORI-貝葉斯優化XGBoost的根告警預測流程圖Fig.1 Flowchart of root alarm prediction based on APRIORI-Bayesian optimization of XGBoost
貝葉斯優化XGBoost模型預先設置相關仿真參數取值范圍及含義如表7所示。

表7 XGBoost參數范圍及含義Table 7 Range and meaning of XGBoost parameters
為避免關聯規則的冗余性,重復對比多次實驗結果后選取前項最大項目數為3,最小支持度為15%,最小置信度為80%,對結果進行整合排序后如表8所示,其中規則ID指的是利用APRIORI算法生成的所有關聯規則的編號。
由表8數據可得下列結論:1)規則ID17、13、16顯示,所屬專業因素中傳輸專業導致通信網根告警的支持度最高(94.493%),其次是所屬廠家因素中烽火(82.351%)和傳輸網絡因素中烽火光傳輸網(82.351%),這3個因素在很大程度上影響著電力通信網根源性告警;相比之下告警對象類型影響較小,如規則ID8、4所示;2)多個因素同時出現時也很可能會導致通信網根告警的產生,如規則ID35、34和55。

表8 根告警關聯規則挖掘結果分析Table 8 Analysis of the mining results of root alarm association rules
對上節關聯規則挖掘結果進行概率化提取的特征包括傳輸網絡、所屬廠家、所屬專業、告警對象類型和告警級別5個。本文以準確率A、召回率R、F-值作為算法性能評價指標,選取了如下3種算法仿真對比通信告警預測的準確率:
對比算法1:序列模式挖掘算法[20];
對比算法2:基于netica API的貝葉斯推理算法[21];
對比算法3:基于主成分分析優化隨機森林算法[22]。
其中,對比指標計算公式如下:
(9)
式中:TP代表實際為根告警并且被預測為根告警的數據;FN代表實際為根告警但未被預測為根告警的數據;FP代表實際為非根告警但被預測為根告警的數據;TN代表實際為非根告警并且被預測為非根告警的數據;α代表A和R的權重比值,本文計算選取α=1。F越高表示實驗方法越有效。
3.3.1 關聯因素挖掘對預測精度影響分析
為分析APRIORI對本文算法預測性能的影響,選取最佳支持度,首先對比分析不同告警數據量下有無APRIORI以及采用FP-growth關聯規則挖掘的算法預測準確率。如表9和圖2所示,在預測模型中增加APRIORI算法遴選關鍵因素,利用APRIORI算法挖掘關聯規則的準確率高于FP-growth,3種算法的最高準確率分別為0.855 2,0.847 1和0.831 9,隨著數據量的增多,3種算法的準確率都呈現先增大后減少的趨勢,這是由于告警數據量增多會造成貝葉斯優化XGBoost預測模型過擬合,導致樣本數據繼續增加時,模型預測準確率下降。

表9 不同算法的根告警預測性能分析Table 9 Analysis of root alarm prediction performance of different algorithms

圖2 關聯因素挖掘對預測精度影響對比Fig.2 Comparison of the impact of correlation factor mining on prediction accuracy
3.3.2 不同算法預測精度對比分析
在同樣場景和參數設置下,如圖3所示,APRIORI-貝葉斯優化XGBoost算法的預測準確率、召回率、F-值3個評價指標均有明顯提升,各項指標均達到80%以上,本文算法的準確率為85.14%,比序列模式挖掘、貝葉斯網絡和優化隨機森林算法分別提高4%。

圖3 4種算法預測結果對比Fig.3 Comparison of prediction results of 4 algorithms
為驗證算法的高效性,本文選取算法執行時間作為反映算法復雜度的指標[20-22],對不同告警數據量下的4種算法執行時間進行了仿真對比。如圖4所示,本文算法的執行時間整體最短,同時隨著數據量的增多,本文算法執行時間的增長速率變緩,在較大的數據樣本下仍能維持較短的執行時間,在數據量達到10 000時,本文算法的執行時間相比于序列模式挖掘算法、貝葉斯網絡及優化隨機森林分別降低18%、19%及12%。在未來感知互聯的通信網絡中,面向海量的網絡數據,顯然本文方法具有更好的預測效果,能夠在較短的時間內快速獲取有效信息,及時排查和定位網絡故障,降低資源投入和網絡風險。

圖4 不同告警數據量下算法執行時間Fig.4 Algorithm execution time under different alarm data volume
3.3.3 不同支持度對預測精度影響分析
本文設置支持度從10%至50% 變化,分析在不同支持度下算法的預測性能。仿真結果如圖5所示。

圖5 不同支持度下告警預測性能Fig.5 Alarm prediction performance under different support levels
由圖5可知,隨著支持度的減小,告警預測的準確率和F-值先增大后減小,這是因為隨著支持度的減小,挖掘出的告警關聯規則增多,將小概率的關聯規則納入預測模型的先驗知識,能夠提升預測精度,然而過多的關聯規則會導致降低有效關聯規則的占比,對預測精度造成影響。因此,由仿真結果分析可知在支持度為15%時算法整體性能達到最優,因此本文在關聯規則挖掘時設定最小支持度為15%。
為及時排查和預測電力光傳輸網絡的根源性告警,本文提出一種基于APRIORI-貝葉斯優化XGBoost的根告警預測方法,利用電力通信光傳輸網的告警數據關聯分析精準預測高風險根源性告警,為運維人員提供必要的數據信息,進而高效快速定位高風險點,及時排查故障,降低網絡風險概率和運維成本。仿真實驗結果表明,與現有的告警預測方法相比,本文所提方法能在多方面提升預測精確度和整體性能,具有較好的可行性和優越性。
在今后的研究中將重點研究頻繁模式樹、泛化序列模式、關聯分類算法等改進關聯分析算法,進一步提升數據挖掘效率,實現挖掘效率和預測準確率的高效優化。