李國強,王沖,高秀芝,王華,徐綺,李泠聰
(1.國網(wǎng)內(nèi)蒙古東部電力有限公司信息通信分公司,呼和浩特 010010;2.東北電力大學計算機學院,吉林 132012)
電力物聯(lián)網(wǎng)作為國家電網(wǎng)公司的重要戰(zhàn)略支撐,其本質(zhì)是電力系統(tǒng)在信息物理融合的基礎(chǔ)上,新融入了一些與社會相關(guān)的要素(例如非電力領(lǐng)域的物體、人類活動、自然環(huán)境、政府政策等),形成了電力信息物理社會融合系統(tǒng)[1-3]。因為信息-物理-社會的融合導致了電力物聯(lián)網(wǎng)運行環(huán)境復雜多樣,終端設備接入類型與數(shù)量激增,使其在各個環(huán)節(jié)都容易受到外界風險的干擾[4-6]。同時電力物聯(lián)網(wǎng)能量流、數(shù)據(jù)流、業(yè)務流的耦合特性逐漸加強,也使得信息側(cè)、物理側(cè)、社會側(cè)的交互耦合特性日趨復雜,進而影響電力物聯(lián)網(wǎng)整體安全可靠的運行。另外,電力物聯(lián)網(wǎng)面臨的風險呈現(xiàn)種類多樣化和范圍擴大化等特點,設備故障、惡意攻擊、人為失誤等風險都會影響電力物聯(lián)網(wǎng)穩(wěn)定運行[7],從而造成一系列的跨空間連鎖故障,嚴重時甚至會導致災難性的停電事故。
在電力系統(tǒng)風險預測方面已經(jīng)開展了一些研究,文獻[8]綜合考慮了風險的不確定性和耦合性,提出了一種基于反向傳播BP(back propagation)神經(jīng)網(wǎng)絡的分層風險評估方法,利用不同風險區(qū)間對應的不同風險發(fā)生概率來評估單一風險,考慮風險耦合,通過綜合概率序列來評估多重風險。文獻[9]通過構(gòu)建概率分布模型來評估新能源電力系統(tǒng)中的小干擾失穩(wěn)風險,提出了一種基于高維模型表達方法的小干擾失穩(wěn)概率計算方法,用來快速、準確地評估電力系統(tǒng)中的小干擾失穩(wěn)風險。文獻[10]提出了一種基于機器學習的電網(wǎng)安全風險智能評估系統(tǒng),基于深度學習方法提取動態(tài)安全風險特征,并采用主流機器學習算法構(gòu)建動態(tài)安全風險評估模型,用來快速評估電網(wǎng)的動態(tài)安全風險和預測高風險場景。文獻[11]采用機器學習方法對在線開放電氣干擾數(shù)據(jù)進行數(shù)據(jù)挖掘,開發(fā)了一個預測電氣干擾類型的系統(tǒng),所提系統(tǒng)可對電氣干擾進行有效分類。文獻[12]綜合考慮了氣象信息、設備運行信息、地理信息等空間多源異構(gòu)信息,使用擬合優(yōu)度法在6種機器學習算法中建立了組合模型,對臺風災害下桿塔損毀風險進行預測與評估。但是,目前對電力物聯(lián)網(wǎng)運行風險預測的研究還存在以下兩點不足。
(1)基于概率分布的風險預測方法過于復雜,不能較好地滿足實時預測的要求,并且利用機器學習方法挖掘數(shù)據(jù)進行風險預測的精度和效率還有待提升。
(2)現(xiàn)有研究大多以信息側(cè)和物理側(cè)為核心進行分析,容易忽略社會側(cè)風險對電力物聯(lián)網(wǎng)運行的影響。在電力信息物理社會融合的背景下,如果風險分析不全面,易導致風險排查不徹底,風險極易傳播和擴散,造成不可忽視的影響。
綜上所述,本文從數(shù)據(jù)挖掘的角度出發(fā),綜合考慮電力信息側(cè)、物理側(cè)、社會側(cè)因素,基于集成學習算法設計一種電力物聯(lián)網(wǎng)運行風險預測方法;以時間序列為基準進行數(shù)據(jù)融合,基于隨機矩陣理論構(gòu)建融合電力信息、物理、社會風險的多維數(shù)據(jù)集;基于自適應綜合過采樣ADASYN(adaptive synthetic sampling approach)算法對融合后的數(shù)據(jù)進行數(shù)據(jù)不平衡處理,根據(jù)數(shù)據(jù)不平衡度自動生成和真實樣本高度相仿的偽樣本,構(gòu)建出平衡數(shù)據(jù)集;提出ReliefF-S 算法對處理后的電力物聯(lián)網(wǎng)風險平衡樣本集進行最優(yōu)特征選擇;設計基于BO-CatBoost 的電力物聯(lián)網(wǎng)運行風險預測模型。
電力物聯(lián)網(wǎng)長期運行過程中,發(fā)生風險的概率很低,導致采集到的數(shù)據(jù)中存在嚴重的數(shù)據(jù)不平衡現(xiàn)象,容易引起風險預測模型誤報率過高的問題。為此,本文首先抽取電力物聯(lián)網(wǎng)運行的信息側(cè)、物理側(cè)、社會側(cè)多源風險數(shù)據(jù),以時間序列為基準進行數(shù)據(jù)融合,基于隨機矩陣理論構(gòu)建融合信息、物理、社會風險的多維數(shù)據(jù)集;然后,采用ADASYN 方法對訓練集進行數(shù)據(jù)不平衡處理,進而采樣生成規(guī)定數(shù)量的風險類偽樣本,從而實現(xiàn)數(shù)據(jù)的平衡化處理。
風險是指威脅電力物聯(lián)網(wǎng)穩(wěn)定運行的各種復雜因素,風險管控對電力物聯(lián)網(wǎng)的安全穩(wěn)定運行至關(guān)重要。隨著電力物聯(lián)網(wǎng)中信息物理社會系統(tǒng)的融合,信息側(cè)、物理側(cè)、社會側(cè)彼此交互,互相影響,任何層面的擾動都可能影響電力物聯(lián)網(wǎng)的安全可靠運行。雖然電力物聯(lián)網(wǎng)具有一定的自愈能力,可自動調(diào)節(jié)使系統(tǒng)恢復到正常狀態(tài),但一些風險如果不及時管控,也可能會引發(fā)一系列的連鎖故障,甚至引起大面積的停電事故。因此,及時排查風險與進行風險預測研究對減少停電事故的發(fā)生和提高供電質(zhì)量具有重要意義。
影響電力物聯(lián)網(wǎng)穩(wěn)定運行的風險因素眾多,本文是從數(shù)據(jù)挖掘的角度對風險進行研究,所以要重點關(guān)注電力物聯(lián)網(wǎng)運行時所能采集到的數(shù)據(jù)及外界便于獲取的數(shù)據(jù)。為了便于研究,本文從電力信息、物理、社會的角度出發(fā),著重考慮影響電力物聯(lián)網(wǎng)運行的以下3類風險。
(1)物理側(cè)風險數(shù)據(jù)。輸電線路的短路風險是電力物聯(lián)網(wǎng)運行時最常見的風險,線路短路會對輸電線路的電壓造成影響,從而導致更大面積的輸電線路損壞,產(chǎn)生嚴重危害。電力系統(tǒng)中線路兩端均配置同步相量測量裝置,可獲取線路的三相電流和電壓相量、線路功率等實時數(shù)據(jù)并發(fā)送到數(shù)據(jù)處理中心[13-14],為后續(xù)風險分析提供了一定的數(shù)據(jù)支撐。因此,物理側(cè)重點研究各類短路風險。
(2)信息側(cè)風險數(shù)據(jù)。信息側(cè)風險可由攻擊者從信息側(cè)發(fā)起,通過網(wǎng)絡連接傳遞到物理側(cè),造成物理側(cè)元件設備故障,引起物理側(cè)電網(wǎng)的波動,嚴重時會引起停電風險。電力物聯(lián)網(wǎng)的智能監(jiān)控系統(tǒng)可以采集到信息側(cè)的數(shù)據(jù),為后續(xù)風險分析提供了一定的數(shù)據(jù)支撐。因此,信息側(cè)重點研究惡意的網(wǎng)絡攻擊風險。
(3)社會側(cè)風險數(shù)據(jù)。人為失誤和極端氣象都會直接對物理側(cè)設備造成影響,將其風險看成社會側(cè)風險,若風險引起關(guān)鍵電力設備故障,則容易引發(fā)停電事故。隨著氣象衛(wèi)星、雷達和超級計算機等技術(shù)的發(fā)展,氣象數(shù)據(jù)被有效采集。此外,人為誤操作風險也容易模擬并獲取數(shù)據(jù)。因此,社會側(cè)重點研究氣象風險和人為誤操作風險。
隨機矩陣理論RMT(random matrix theory)是一種新興的大數(shù)據(jù)分析方法,主要用來處理多維數(shù)據(jù)。RMT可以將各類數(shù)據(jù)集成到高維矩陣中,在宏觀上對數(shù)據(jù)進行研究分析,從概率和統(tǒng)計角度研究矩陣的特性和數(shù)據(jù)的分布情況。隨機矩陣理論不需要構(gòu)建物理模型,可將各類數(shù)據(jù)進行綜合考慮,便于從高維角度認識復雜系統(tǒng)[15-16]。
采用RMT 從電力信息、物理、社會3 個角度對電力物聯(lián)網(wǎng)運行風險進行綜合分析。在任意一段時間內(nèi),電力信息側(cè)、物理側(cè)、社會側(cè)中的任何一個特征采集到的量測數(shù)據(jù)均可以構(gòu)成一個列向量。設信息側(cè)數(shù)據(jù)集Dc的第i個特征采集到的數(shù)據(jù)為xi=(xi1,xi2,…,xiN)T,物理側(cè)數(shù)據(jù)集Dp的第i個特征采集到的數(shù)據(jù)為yi=(yi1,yi2,…,yiN)T,社會側(cè)數(shù)據(jù)集Ds的第i個特征采集到的數(shù)據(jù)為zi=(zi1,zi2,…,ziN)T。分別抽取信息側(cè)、物理側(cè)、社會側(cè)的量測數(shù)據(jù)構(gòu)成原始數(shù)據(jù)集Dataset,可表示為
在構(gòu)建完信息側(cè)、物理側(cè)和社會側(cè)的完整數(shù)據(jù)集后,以時間序列為基準,對同一時間不同空間的數(shù)據(jù)進行融合。當數(shù)據(jù)融合時,選擇其中一個數(shù)據(jù)文件中的時間序列為基準,該文件稱為基準文件,其他數(shù)據(jù)流文件的參數(shù)都要統(tǒng)一到這一時間基準上來。按照時間序列將信息側(cè)、物理側(cè)、社會側(cè)構(gòu)建好的數(shù)據(jù)集集成到一起,構(gòu)造出高維隨機矩陣D,可表示為
矩陣D即為融合了電力信息側(cè)、物理側(cè)和社會側(cè)運行風險的完整數(shù)據(jù)集。
ADASYN是一種常用的數(shù)據(jù)處理方法,其以密度分布為標準來自動決定訓練集中少數(shù)類樣本需生成的合成樣本數(shù)量。ADASYN算法基于少數(shù)類樣本的概率分布對少數(shù)類樣本進行自適應插值(過采樣),實現(xiàn)對少數(shù)類樣本的擴充。該算法考慮了樣本的分布信息,避免了樣本的簡單隨機復制,從而使數(shù)據(jù)達到均衡[17]。ADASYN算法流程如圖1所示。
圖1 ADASYN 算法流程Fig.1 Flow chart of ADASYN algorithm
根據(jù)圖1 所示的ANASYN 算法[18]的步驟,進行重復合成少數(shù)類樣本,直到得到需要合成的樣本數(shù)量為止。ADASYN 算法利用少數(shù)類樣本的密度分布來自動決定每個少數(shù)類樣本需要合成的樣本數(shù)量,可有效獲得充足的和原始數(shù)據(jù)高度相仿的偽數(shù)據(jù),在數(shù)據(jù)端可有效解決數(shù)據(jù)不平衡對機器學習算法訓練精度的影響。
ReliefF算法適用于處理多類別問題,但其僅評估了每個特征對分類的貢獻值,只要對分類起積極作用的特征都可能被保留下來,而忽略了每對特征之間的相關(guān)關(guān)系,可能造成特征間的相互冗余。為此,本文在ReliefF 算法的基礎(chǔ)上,引入Spearman 相關(guān)系數(shù)分析特征間的相關(guān)度來解決這一問題。基于ReliefF-S 算法聯(lián)合考慮特征與類別之間的相關(guān)關(guān)系和特征間的相關(guān)關(guān)系實現(xiàn)對風險特征的去冗余操作,以便最大程度地減少冗余,最終得到最優(yōu)風險特征集合。ReliefF-S算法流程如圖2所示。
圖2 ReliefF-S 算法流程Fig.2 Flow chart of ReliefF-S algorithm
ReliefF-S算法的具體步驟如下。
步驟1在樣本集中隨機選擇1 個樣本S,首先搜索與S同類別的k個最近鄰樣本Lj(j=1,2,…,k),計算在特征Y下樣本Si與Lj之間的距離DL(Y),其計算公式為
式中,diff(Y,Si,Lj)為在特征Y下第i個S樣本與第j個L樣本之間的距離。
然后再搜索與S不同類別的k個最近鄰樣本Mj(c)(j=1,2,…,k),計算在特征Y下樣本Si與Mj(c)之間的距離DM(Y),其計算公式為
步驟2計算在給定特征Y下兩個樣本S1和S2之間的距離,其計算公式為
式中,S1(Y)、S2(Y)分別為樣本S1、S2在特征Y下對應的取值。
步驟3不斷更新特征Y的權(quán)重,在特征Y下,若樣本S與其同類別樣本的距離小于該樣本與其不同類別樣本之間的距離,則表明該特征的分類能力強,應賦予該特征較大權(quán)重。由此重復迭代n次來更新權(quán)重,將各個特征的平均權(quán)重作為最終權(quán)重。更新權(quán)重W(Y)的計算公式為
式中:class(Si)為樣本Si的類別;P(c)為類別c的比例;P()
class(Si) 為隨機選取樣本Si類別的比例,經(jīng)歸一化處理后,每個特征權(quán)重的取值范圍為[0,1]。
步驟4計算任意兩個特征之間的相關(guān)性系數(shù)ρYi,Yj來判斷特征間的相關(guān)性,其計算公式為
式中:Yi、Yj為任意兩個特征;Yif、Yjf分別為特征Yi和Yj的觀察值;為k個觀察值的平均值。兩個特征間相關(guān)性的取值范圍為[-1,1],取值越接近1,表示特征之間的相關(guān)性越強。
步驟5根據(jù)設定的權(quán)重閾值刪除權(quán)重低的特征,然后在保留的特征中,挑選強相關(guān)性特征中對分類貢獻值小的特征進行刪除。
CatBoost模型可以通過合并多個學習器來提升分類性能,但模型性能會受關(guān)鍵參數(shù)影響,人工調(diào)整參數(shù)需要一定的工作量且具有一定的盲目性,容易丟失參數(shù)最優(yōu)解,從而影響風險預測模型的精度。采用貝葉斯優(yōu)化算法尋找最優(yōu)參數(shù)時,對初始樣本點的數(shù)量要求少、優(yōu)化效率高,相比于網(wǎng)格搜索、隨機搜索、遺傳算法等方法更具優(yōu)勢,更加適合模型的參數(shù)尋優(yōu)。
貝葉斯優(yōu)化算法通過建立概率模型來尋找使目標函數(shù)最小化的參數(shù)值,是一種黑盒優(yōu)化算法,算法的主要思想是通過高斯回歸模型對目標函數(shù)進行建模[19]。為了找到適合CatBoost模型的最優(yōu)參數(shù)集合,提升模型的預測精度,本文將貝葉斯優(yōu)化算法與CatBoost算法結(jié)合,構(gòu)建了基于BO-CatBoost的電力物聯(lián)網(wǎng)運行風險預測模型,具體流程如圖3所示。具體步驟如下。
步驟1構(gòu)建CatBoost 算法模型,按照一定的比例劃分訓練集和測試集。
步驟2挑選CatBoost 模型中需要優(yōu)化的參數(shù)并設置參數(shù)優(yōu)化區(qū)間,每個參數(shù)都可以取區(qū)間內(nèi)的任意值。
步驟3將CatBoost 算法作為訓練目標,采用測試集驗證模型得到的準確率作為評價標準,然后將定義好的目標優(yōu)化函數(shù)和參數(shù)優(yōu)化區(qū)間代入到貝葉斯優(yōu)化函數(shù)中,設置初始化點和迭代次數(shù),利用貝葉斯優(yōu)化算法不斷對參數(shù)進行調(diào)整。
步驟4判斷是否達到最大迭代次數(shù),若達到則停止迭代,輸出使模型性能指標達到最優(yōu)的參數(shù)組合,否則返回步驟3繼續(xù)調(diào)整參數(shù)。
步驟5存儲當前最優(yōu)參數(shù)組合,將其裝載到CatBoost模型中,從而得到最終的預測模型。
本文在數(shù)據(jù)不平衡處理和特征選擇的基礎(chǔ)上進行了風險預測模型的構(gòu)建,將經(jīng)貝葉斯優(yōu)化的CatBoost算法作為最終的電力物聯(lián)網(wǎng)運行風險預測模型。所提模型是一個多分類模型,最后的輸出結(jié)果代表一類風險事件或者非風險事件,具體流程如圖4 所示。首先,基于RMT 將來自電力信息側(cè)、物理側(cè)、社會側(cè)的數(shù)據(jù)進行融合,并基于ADASYN 算法對少數(shù)類樣本進行過采樣處理,解決數(shù)據(jù)不平衡對算法精度的影響;然后采用ReliefF-S算法聯(lián)合考慮特征與類別之間的相關(guān)度和特征間的相關(guān)度實現(xiàn)對風險特征的去冗余操作,降低數(shù)據(jù)維度并提升模型訓練速度;最后以對稱樹為基分類器構(gòu)建Cat-Boost 集成學習模型,并結(jié)合貝葉斯優(yōu)化算法來尋找模型最優(yōu)參數(shù),以便更好地提升模型性能。
圖4 電力物聯(lián)網(wǎng)運行風險預測模型構(gòu)建流程Fig.4 Flow chart of construction of operation risk prediction model for power IoT
本文利用RT-LAB 與OPNET 聯(lián)合仿真來獲取信息側(cè)、物理側(cè)和社會側(cè)的風險數(shù)據(jù),實驗主要使用Python3.7平臺實現(xiàn)。由于使用Python3.7平臺進行多分類問題的實驗結(jié)果存在差異性,因此本文通過100 次仿真實驗取均值的方法來確保結(jié)果的準確性。
RT-LAB 是一套實時仿真系統(tǒng),可與Matlab/Simulink 集成,實現(xiàn)模型編輯、可視化、數(shù)據(jù)采集及測試程序等,其靈活性和可擴展性能有效解決各種復雜仿真和控制問題。OPNET 是一個網(wǎng)絡仿真技術(shù)軟件包,其能夠準確地分析拓撲模型的性能和行為,通過拓撲結(jié)構(gòu)中的信號控制單元在任意位置設置網(wǎng)絡干擾,并采集數(shù)據(jù)進行統(tǒng)計,可用來仿真信息側(cè)風險數(shù)據(jù)。
利用RT-LAB搭建一個小型的16節(jié)點電網(wǎng),其拓撲結(jié)構(gòu)如圖5所示,主要由電源、斷路器、輸電線路及變壓器等部件組成,可以在拓撲結(jié)構(gòu)中設置不同的故障單元來模擬不同的風險進而生成風險數(shù)據(jù)。
圖5 16 節(jié)點拓撲結(jié)構(gòu)Fig.5 Structure of 16-node topology
本文通過RT-LAB與OPNET的聯(lián)合仿真,模擬信息側(cè)、物理側(cè)、社會側(cè)風險影響下電力物聯(lián)網(wǎng)的運行狀態(tài)變化來獲取數(shù)據(jù)。在模擬風險時,將故障過程和故障恢復過程產(chǎn)生的數(shù)據(jù)都視為風險數(shù)據(jù)。這里主要模擬并采集8 種狀態(tài)下電力物聯(lián)網(wǎng)運行所產(chǎn)生的數(shù)據(jù),包括電力物聯(lián)網(wǎng)正常運行狀態(tài)、單相短路狀態(tài)、雙相短路狀態(tài)、兩相接地短路狀態(tài)、三相短路狀態(tài)、虛假命令注入狀態(tài)、人為誤操作狀態(tài)和極端氣象狀態(tài)。
在仿真物理側(cè)風險數(shù)據(jù)時,可以直接在RTLAB 搭建的拓撲模型中選擇節(jié)點設置故障單元來模擬風險并采集數(shù)據(jù)。
在仿真信息側(cè)風險數(shù)據(jù)時,可在RT-LAB 中某節(jié)點處設置信號控制單元,然后在OPNET 中通過代碼輸入來模擬信息命令攻擊,使帶有通信功能的斷路器強制動作、不動作或延遲動作。
在仿真社會側(cè)風險數(shù)據(jù)時,模擬人為誤操作事故時,可直接在RT-LAB中模擬因失誤而違規(guī)拉閘,導致設備損壞的狀態(tài);在模擬極端氣象風險時,可根據(jù)文獻[20]提出的氣象條件對輸電線路參數(shù)的影響結(jié)論來模擬極端氣象風險。本文將溫度為20 ℃、風速為0 m/s、覆冰厚度為0 mm 作為基準氣象條件,在該基準氣象條件下,導線的基準電路參數(shù)如表1所示。
表1 導線的基準電路參數(shù)Tab.1 Reference circuit parameters of conductor
根據(jù)文獻[20]設置一種特殊氣象狀態(tài),即溫度為-5 ℃、7級風的風速為15m/s、覆冰厚度為30 mm。在此氣象條件下輸電線路參數(shù)值與基準參數(shù)的參數(shù)變動對比情況如表2所示。
表2 特殊氣象條件下的線路參數(shù)及變動百分比Tab.2 Line parameters and changes in percentage under special meteorological conditions
在利用RT-LAB 與OPNET 聯(lián)合仿真模擬不同風險來獲取信息側(cè)、物理側(cè)和社會側(cè)的風險數(shù)據(jù)時,以0.01 s 為時間間隔,采集了210 s 共兩萬多條數(shù)據(jù)。分別選擇不同節(jié)點來模擬不同風險,在t=15.0~16.5 s 期間設置單相短路風險;在t=45.0~45.5 s 期間設置雙相短路風險;在t=75.0~76.5 s 期間設置兩相接地短路風險;在t=120.0~120.5 s 期間設置三相短路風險;在t=150.0~151.0 s 期間設置虛假命令攻擊注入風險;在t=195.0~195.5 s 期間設置人為違反規(guī)程拉閘來模擬人為誤操作風險;在t=200.0~200.5 s 期間調(diào)節(jié)特殊氣象條件下的線路參數(shù)來模擬社會側(cè)的氣象風險。
在得到信息側(cè)、物理側(cè)、社會側(cè)的數(shù)據(jù)后,以采集的時間序列為基準,基于RMT 將信息側(cè)、社會側(cè)的數(shù)據(jù)融合到物理側(cè)的數(shù)據(jù)集中,得到多維完整數(shù)據(jù)集如表3所示。
表3 電力物聯(lián)網(wǎng)運行風險完整數(shù)據(jù)集Tab.3 Complete data set of operation risk of power IoT
在表3 中,Node 表示物理側(cè)采集的節(jié)點,該數(shù)據(jù)集共包含118個特征,包括物理側(cè)采集的16個節(jié)點的三相電流與三相電壓等物理量特征、信息側(cè)的攻擊命令和開關(guān)狀態(tài)特征及社會側(cè)的氣象特征等。
為了便于后續(xù)模型的學習和訓練,根據(jù)仿真時間對數(shù)據(jù)集按照模擬的8種風險進行數(shù)據(jù)標注,每種狀態(tài)用一個標簽表示,風險數(shù)據(jù)標注結(jié)果如表4所示。
表4 電力物聯(lián)網(wǎng)運行風險數(shù)據(jù)標注結(jié)果Tab.4 Annotation results of operation risk data of power IoT
如果對全體樣本進行過采樣,會導致嚴重的過擬合問題。因此,需要選取一定比例的數(shù)據(jù)樣本充當測試集來驗證后續(xù)模型性能,本文按照7∶3的比例劃分訓練集和測試集,并對訓練集中的少數(shù)類樣本進行過采樣處理,使模型在訓練時有充足的數(shù)據(jù)樣本進行學習。過采樣處理時采用ADASYN算法,可自動將少數(shù)類樣本數(shù)量過采樣至和樣本數(shù)最多的一類樣本持平,訓練集中的各類樣本經(jīng)ADASYN后的數(shù)據(jù)統(tǒng)計如圖6所示。
圖6 過采樣后訓練集數(shù)據(jù)統(tǒng)計Fig.6 Statistics for training set data after oversampling
由圖6 可知,經(jīng)ADASYN 算法過采樣處理后,訓練集中的少數(shù)類別的樣本數(shù)量明顯增多,各類樣本的占比已經(jīng)趨于平衡,形成了融合信息物理社會運行風險的平衡數(shù)據(jù)集。為了分析過采樣對風險預測模型的提升程度,通過CatBoost 算法分別對數(shù)據(jù)平衡前后的數(shù)據(jù)集進行訓練,并用測試集對模型風險預測性能進行驗證,得到數(shù)據(jù)平衡化處理前后的風險預測結(jié)果的混淆矩陣如圖7所示。
圖7 數(shù)據(jù)平衡化處理前后風險預測的混淆矩陣Fig.7 Confusion matrix of risk prediction before and after data balancing processing
在圖7 所示混淆矩陣中,從左上到右下對角線上的值表示該類別樣本被預測正確的概率,非對角線上的值表示實際類別和預測類別之間的誤報率??梢钥闯?,數(shù)據(jù)平衡化處理后的大部分風險類別預測的正確率均有一定程度的提升。在圖7(a)中,原始數(shù)據(jù)訓練的模型預測的風險類別2、4、7的正確率偏低,分別為86.0%、87.0%和95.9%;在圖7(b)中,數(shù)據(jù)平衡化處理后,風險類別2、4、7預測的正確率分別提升到了93.0%、89.9%和96.5%,誤報率也明顯下降。因此,數(shù)據(jù)不平衡處理對提升少數(shù)類樣本預測的正確率和降低模型風險預測的誤報率具有重要作用。
過采樣只是增加了少數(shù)類樣本的數(shù)量,并沒有降低數(shù)據(jù)維度。原始數(shù)據(jù)中共有118 列特征,數(shù)據(jù)維度相對較高,高維數(shù)據(jù)中可能含有冗余特征,會增加模型的復雜度,導致模型的訓練時間變長。因此,在構(gòu)建模型前有必要對數(shù)據(jù)進行特征選擇來減少冗余。原始數(shù)據(jù)特征及描述見表5,主要包括物理側(cè)采集到的16 個節(jié)點的三相電壓和三相電流屬性,信息側(cè)的攻擊命令屬性和社會側(cè)的開關(guān)狀態(tài)和各種氣象屬性等118列特征。
表5 原始數(shù)據(jù)特征及描述Tab.5 Features and description of raw data
在過采樣處理的基礎(chǔ)上,利用平衡樣本集進行實驗,以驗證RelieF 和ReliefF-S 算法的有效性。ReliefF 算法是通過設置特征對分類的貢獻閾值來自動篩選特征。為了找到最佳特征數(shù)并衡量出模型的綜合性能,以CatBoost 模型在測試集上的F1-Score 作為目標函數(shù),按照所篩選特征的比例來設置貢獻閾值并篩選特征,每篩選一次后采用Cat-Boost 算法在默認參數(shù)下對風險預測的性能進行驗證,得到不同閾值下的算法性能對比如表6所示。
表6 不同貢獻閾值下ReliefF 與ReliefF-S 的性能對比結(jié)果Tab.6 Result of comparison of performance between ReliefF and ReliefF-S under different contribution thresholds
利用CatBoost 模型處理未經(jīng)特征選擇的平衡樣本集,訓練時間為440 s,模型在測試集上的F1-Score 為94.87%。由表6 可以得到ReliefF 算法和ReliefF-S算法在不同閾值下的性能對比,當特征數(shù)較少時,模型的訓練時間較短,但模型的性能不高,隨著特征數(shù)的增加,模型的訓練時間和性能均有一定程度的提高。ReliefF-S 算法相比ReliefF 算法更適合用于高維數(shù)據(jù),當貢獻閾值設置為0.5時,采用ReliefF-S 算法的模型性能達到最優(yōu),此時可通過ReliefF-S算法篩選出60列特征,相比于原始特征維度降低了49%。此時采用ReliefF-S 算法的模型的F1-Score 為95.67%,比ReliefF 算法提高了0.23%,比特征選擇前模型的F1-Score提高了0.80%。采用ReliefF-S算法的模型訓練時間為217 s,比ReliefF 縮短了49 s,比特征選擇前縮短了223 s。由此可見,ReliefF-S算法相比于ReliefF算法效果更好,且可有效降低數(shù)據(jù)維度,對模型的性能提升更有效。
表7 給出了當ReliefF 算法中的貢獻閾值設置為0.5 時,從原始特征中篩選出的貢獻度前68列的特征及特征對分類的貢獻值,按各個特征對分類貢獻值從大到小依次排列。
表7 68 列特征對分類的貢獻值Tab.7 Contribution values of 68 columns of features to classification
圖8 為使用Spearman 方法分析68 列特征間相關(guān)性的熱力圖,該相關(guān)系數(shù)是兩個特征之間線性相關(guān)的度量,取值范圍為[-1,1],其中-1 表示總線性負相關(guān),0 表示沒有線性關(guān)系,+1 表示強線性相關(guān)。68 列特征間相關(guān)性熱力圖展示了各種特征間的相關(guān)性,從熱力圖中篩選相關(guān)系數(shù)大于0.9 的特征,然后將分類貢獻值相對較小的特征看成冗余特征進行刪除。此時可以從68列特征中篩選出60列特征,最終所篩選出的特征即為風險預測的最優(yōu)特征子集,結(jié)果如表8所示。
表8 采用ReliefF-S 算法的特征選擇結(jié)果Tab.8 Feature selection results obtained using ReliefF-S algorithm
圖8 68 列特征間相關(guān)性熱力圖Fig.8 Thermodynamic diagram of correlation between 68 columns of features
由表8可知,上述篩選出的60列特征即為最優(yōu)特征子集,相比特征選擇之前特征維度降低了49%,有效剔除了無關(guān)特征和冗余特征。風險預測的最優(yōu)特征子集包含的最優(yōu)特征TOP10 分別是攻擊命令、開關(guān)狀態(tài)、溫度、相對濕度、Node_3_V_1、覆冰厚度、Node_1_V_1、Node_4_V_1、Node_2_V_1、Node_4_V_2。這些特征是電力物聯(lián)網(wǎng)運行風險預測的關(guān)鍵特征,篩選出的特征涉及到信息側(cè)、物理側(cè)和社會側(cè),也說明了綜合考慮信息側(cè)、物理側(cè)、社會側(cè)風險進行電力物聯(lián)網(wǎng)運行風險預測的必要性。
利用最優(yōu)特征子集實驗的105 318 條數(shù)據(jù),對CatBoost 模型進行參數(shù)尋優(yōu)。由于CatBoost 模型的性能主要受一些關(guān)鍵參數(shù)影響,因此需要先確定出CatBoost 模型的關(guān)鍵參數(shù)。表9 列出了影響Cat-Boost模型性能的關(guān)鍵參數(shù)。
表9 CatBoost 模型關(guān)鍵參數(shù)Tab.9 Key parameters of CatBoost model
表9中,iterations表示模型建立樹的最大數(shù)量,取值會對模型的計算成本產(chǎn)生影響,默認值為500;learning_rate 的設置可以減少梯度步長,影響模型訓練總時間,取值范圍一般為[0,1],learning_rate 取值越小,迭代次數(shù)越多,學習速度也越慢,但全局最優(yōu)會更準確,默認值為0.03;depth 表示對稱樹的深度,取值對模型效果和過擬合有較大影響,默認值為6;l2_leaf_reg為代價函數(shù)的L2正則化項的系數(shù),取值可以減少過擬合,默認值為3.0。
為進一步提升CatBoost 模型性能,結(jié)合貝葉斯優(yōu)化方法來尋找模型的最優(yōu)參數(shù),在實驗中貝葉斯優(yōu)化的關(guān)鍵參數(shù)優(yōu)化區(qū)間設置如表10所示。
表10 關(guān)鍵參數(shù)優(yōu)化區(qū)間Tab.10 Optimization intervals for key parameters
確定好參數(shù)優(yōu)化區(qū)間后,按照7∶3 的比例劃分訓練集和測試集,用訓練集來訓練模型,將測試集在模型上的準確率作為目標函數(shù),把最大迭代次數(shù)設置為30,開始參數(shù)尋優(yōu)。經(jīng)多次迭代后,貝葉斯參數(shù)優(yōu)化最后輸出的最優(yōu)參數(shù)集合為{depth=6,iterations=815,l2_leaf_reg=1.3,learning_rate=0.27},此時驗證測試集得到的模型準確率達到最大,為99.69%,貝葉斯尋優(yōu)過程的可視化結(jié)果如圖9所示。
圖9 貝葉斯優(yōu)化算法尋參過程Fig.9 Parameter seeking process using Bayesian optimization algorithm
從圖9可以看出,當?shù)降?次時,模型的準確率最高,達到了99.69%,此時對稱樹的最大深度為6,最大樹數(shù)為815,L2正則化系數(shù)為1.3,學習率為0.27。此時的參數(shù)組合即為最優(yōu)參數(shù)組合。
為進一步評估算法的有效性,將特征選擇后不含冗余的數(shù)據(jù)按照7∶3 的比例劃分訓練集和測試集,然后將訓練集放入到不同的機器學習算法模型中進行訓練,并用測試集進行驗證對比。對比算法包括多層感知器MLP(multi-layer perceptron)、K近鄰KNN(Knearest neighbors)分類算法、梯度提升決策樹GBDT(gradient boosting decision tree)和XGBoost、LightBoost、CatBoost 和BO-CatBoost 等主流的集成學習算法。用宏平均后的精確率、召回率、F1-Score 作為衡量風險預測模型的性能指標,對比結(jié)果如圖10所示。不同算法的訓練時間和預測時間對比結(jié)果如圖11所示。
圖10 不同算法的性能指標對比結(jié)果Fig.10 Results of comparison of performance indicators among different algorithms
圖11 不同算法的時間性能對比結(jié)果Fig.11 Result of comparison of time performance among different algorithms
從圖10可以看出,BO-CatBoost算法性能最優(yōu),其精確率、召回率和F1-Score 可分別達到98.54%、98.98%和98.76%;MLP 模型性能最差,不適用于解決此類預測問題;BO-CatBoost 算法與傳統(tǒng)的GBDT算法相比,風險預測的F1-Score 高出15.03%,比KNN 算法的F1-Score 高出6.61%;目前主流的集成學習算法XGBoost和LightBoost也具有較好的性能,F(xiàn)1-Score 比CatBoost 僅低0.15%和0.25%;BO-Cat-Boost算法的F1-Score分別比XGBoost、LightBoost和CatBoost 高出3.24%、3.34%和3.09%。因此,BOCatBoost 算法和其他機器學習算法相比,對風險預測的精度更高,可以更準確地預測出電力物聯(lián)網(wǎng)運行時面臨的風險類別。
風險預測模型應具備良好的時間性能,以便快速預測出風險。從圖11 可以看出,KNN 算法的訓練時間最短,但預測時間最長;LightBoost 算法的訓練時間也較短,但預測時間相比于其他集成學習算法過長,不利于及時預測出風險;MLP 算法預測時間較短,但模型性能較差;CatBoost 和BO-CatBoost可實現(xiàn)快速預測,預測時間最優(yōu),BO-CatBoost 的訓練時間比CatBoost更短,在時間性能上更優(yōu)。
綜上所述,基于BO-CatBoost 算法構(gòu)建的風險預測模型不僅能準確預測出電力物聯(lián)網(wǎng)運行時面臨的風險類別,還可以實現(xiàn)快速預測,以便有針對性地及時采取措施,從而有效保障電力物聯(lián)網(wǎng)的安全穩(wěn)定運行。
本文從數(shù)據(jù)挖掘的角度提出了一種電力物聯(lián)網(wǎng)運行風險預測方法。首先對風險數(shù)據(jù)的融合與平衡化處理方法,然后基于ReliefF-S進行最優(yōu)特征子集選擇,并建立了基于BO-CatBoost 的電力物聯(lián)網(wǎng)運行風險預測模型。該風險預測方法可快速、準確地預測出影響電力物聯(lián)網(wǎng)運行的風險類別,相比于其他算法具有預測精度高、速度快的優(yōu)點。