廣西大學 徐 昕
本文提出基于隨機森林的電力系統(tǒng)運行狀態(tài)辨識方法,以IEEE10機39節(jié)點為例,分析系統(tǒng)在不同運行狀態(tài)下的時序特征,并按照重要性來選擇特征來作為后續(xù)辨識的依據(jù)。在此基礎(chǔ)上,通過仿真數(shù)據(jù)與現(xiàn)場實際數(shù)據(jù)分析,表明該方法可有效避免使用其他方法產(chǎn)生的誤判問題,具有能夠處理多維特征電力系統(tǒng)量測數(shù)據(jù)的能力。
以IEEE10機39節(jié)點為例,分析系統(tǒng)在不同運行狀態(tài)下的時序特征。假設(shè)各個母線上均安裝了量測裝置,可實時記錄包括各母線電流電壓幅值、相角、頻率等數(shù)據(jù),在不同狀態(tài)下對系統(tǒng)進行仿真實驗,對比分析靜動態(tài)系統(tǒng)的時序特征。以母線電壓幅值為例,將系統(tǒng)處于靜態(tài)時記錄各母線電壓,如圖1所示。圖中縱坐標為編號為1~39的各母線A 相電壓幅值,選擇電壓基準值為345kV。由圖可知,系統(tǒng)的運行狀態(tài)為靜態(tài)狀態(tài)時母線電壓的幅值保持穩(wěn)定,一旦出現(xiàn)震蕩和突變則非常容易被判斷為系統(tǒng)異常數(shù)據(jù)。
圖1 IEEE10機39節(jié)點系統(tǒng)靜態(tài)下各母線電壓幅值
接下來設(shè)置母線1和母線2間輸電線路發(fā)生低頻振蕩,故障位于線路二分之一處,持續(xù)時間為0.1s,上送頻率為100Hz,各母線量測數(shù)據(jù)如圖2所示。由圖可知,系統(tǒng)動態(tài)時電壓幅值數(shù)據(jù)呈現(xiàn)周期性的規(guī)律振蕩,一段時域內(nèi)的數(shù)據(jù)特征與靜態(tài)運行狀態(tài)下存在大量不同,由于動態(tài)狀態(tài)下存在一定的離散變化,若出現(xiàn)數(shù)據(jù)的振蕩和突變?nèi)蓦[藏在大量的正常數(shù)據(jù)中不易被辨識,所以在監(jiān)測異常數(shù)據(jù)前對系統(tǒng)的運行狀態(tài)進行辨識具有很重要的意義。
圖2 IEEE10機39節(jié)點系統(tǒng)動態(tài)下各母線電壓幅值
由圖1和圖2對比可知,系統(tǒng)靜態(tài)時電壓幅值穩(wěn)定,不存在周期振蕩或突變狀態(tài);系統(tǒng)動態(tài)時幅值振蕩。假設(shè)在時間t 內(nèi)的電力系統(tǒng)量測數(shù)據(jù)樣本X(X1,X2,...,XN)(同時含有靜動態(tài)數(shù)據(jù)),靜動態(tài)數(shù)據(jù)占比為1:1。令m 個數(shù)據(jù)為一組,共k 組數(shù)據(jù),即存在N=m×k。設(shè)置靜態(tài)數(shù)據(jù)的標簽為0,動態(tài)數(shù)據(jù)標簽為1。不同數(shù)據(jù)組的狀態(tài)由其中量測數(shù)據(jù)的狀態(tài)決定,假設(shè)i 組中全部為靜態(tài)數(shù)據(jù),則Ci=0,即為靜態(tài)數(shù)據(jù)組;若第k 組中全部為動態(tài)數(shù)據(jù),則第k 組數(shù)據(jù)的標簽為Ck=1,即為動態(tài)數(shù)據(jù)組?;谏鲜鰧Ρ?,計算各數(shù)據(jù)組中的最大值ai、最小值bi、平均值ci、標準差di、方差ei、相鄰數(shù)據(jù)波動大小fi等6類特征為各數(shù)據(jù)組特征。
隨機森林可實現(xiàn)分類和歸化的功能,文章的目標是判別電力系統(tǒng)的運行狀態(tài),由于運行狀態(tài)只有靜態(tài)和動態(tài)兩種,所以文章應(yīng)用隨機森林來實現(xiàn)二分類的功能。文獻[1]通過構(gòu)決策樹的方法辨識,但考慮的特征較少,導致辨識結(jié)果的準確率較低。同時決策樹是機器學習的一種,黑盒子無法判別噪音數(shù)據(jù),易陷入過擬合,自身的泛化性較差。因此,文章采用的方法是集成算法,應(yīng)用Bagging 模型全稱為bootstrap aggregation,其中最典型的代表就是隨機森林。
Bagging 模型是機器學習領(lǐng)域的一種集成學習算法,最初由Leo Breiman 于1994年提出。Bootstrap 重采樣指在訓練集里有放回的重采樣等長的數(shù)據(jù)形成新的數(shù)據(jù)集并計算相關(guān)參數(shù),重復(fù)n次得到對參數(shù)的估計。采用引導聚集算法的方法生成w 個子訓練集,原始樣本X 中各數(shù)據(jù)組沒有被抽取到的概率為(1-1/N)N,當N 趨近于正無窮時,概率值約為1/e ≈0.36。由此可知,在原始樣本中約有36%的數(shù)據(jù)組不會出現(xiàn)在子訓練樣本中,將這些數(shù)據(jù)成為袋外數(shù)據(jù),可基于袋外數(shù)據(jù)估計隨機森林的泛化性能力。
對各子樣本進行決策樹構(gòu)造。令子訓練樣本X1作為某決策樹的根節(jié)點樣本。由于決策樹主要有三種算法,分別是CD3、C4.5和CART。這里選擇CART 作為決策樹的基本算法,不同與其他兩類算法以熵作為判斷分類效果的好壞,CART 模型采用基尼系數(shù)來判斷分類效果,基尼系數(shù)定義為式中,K=2表示數(shù)據(jù)存在靜動態(tài)兩種類別,子樣本X1中靜態(tài)數(shù)據(jù)組的概率為p1,動態(tài)數(shù)據(jù)組的概率為p2。假設(shè)分類結(jié)果中出現(xiàn)靜態(tài)(動態(tài))數(shù)據(jù)的概率接近1,意味著決策樹分類效果非常好,而此時的決策樹基尼系數(shù)接近0,可用一個決策樹的基尼系數(shù)是否接近0來判斷決策樹分類效果的好壞。
決策樹需要構(gòu)造根節(jié)點和各分類節(jié)點,以子樣本中特征c 舉例,計算其基尼系數(shù),為公式(1):Gini(X1,c)=|X1′|/|X1|Gini(X1′)+|X1′|/|X1|Gini(X1′),其中,X1′和X1′為子樣本X1按照特征c 的某屬性值ci作為分割點,將子樣本分割成的兩部分。|X1|表示子樣本X1中的數(shù)據(jù)組個數(shù)。
同時需要考慮到,上述6類特征需進行連續(xù)特征離散處理,計算過程如下:若連續(xù)特征c 中有q 個不同的取值,令這些取值升序排列,得到特征取值集合{c1,c2...,cj,...,cq},取各區(qū)間(ci,ci+1)的均值(ci,ci+1)/2作為候選分割點,可得分割點集合Pc={(ci,ci+1)/2|1≤i≤q}。通過公式(1)可得,集合Pc中各候選分割點的基尼系數(shù),選取其中的基尼系數(shù)最小值作為決策樹的分支節(jié)點。按照上述步驟對分支節(jié)點進行分裂,直至下一次分支節(jié)點選擇的某類特征與其父節(jié)點選擇的特征相同,則表明該節(jié)點為葉子節(jié)點,無需在進行分裂。
對w 個子樣本重復(fù)上述步驟,可得由w 個不同的決策樹組成的隨機森林,由于各個決策樹間相互獨立,且各自的權(quán)重相同,因此最終的分類結(jié)果可采用投票的原則確定,選取其中票數(shù)最多的狀態(tài)為最終數(shù)據(jù)組的狀態(tài)即可。
由于各決策樹是相互獨立的,因此在決策樹生成過程中可以并行計算,大幅提高了算法的計算效率。同時由于決策樹過擬合的風險較大,理論上可對包括噪音數(shù)據(jù)的所有數(shù)據(jù)進行完全的分類,此時的樹模型非常龐大并不適用測試數(shù)據(jù),可利用決策樹的剪枝操作來增加泛化性。文章采用的限制深度的預(yù)剪枝方法來控制隨機森林的復(fù)雜度,因此在構(gòu)造隨機森林前,首先設(shè)置各決策樹的最大深度d,通過網(wǎng)絡(luò)搜索的方法計算得到?jīng)Q策樹的最佳的最大深度。
從圖3可看出,通過數(shù)據(jù)不斷的訓練,參數(shù)也在此過程中不斷得到修正,當決策樹的最大深度為7,訓練集中靜動態(tài)數(shù)據(jù)的的辨識準確率最高,如果決策樹的深度過大,易產(chǎn)生過擬合現(xiàn)象,導致準確率降低。因此,各決策樹的最大深度為7。同時根據(jù)經(jīng)驗確定隨機森林中決策樹個數(shù)的上限,其他各參數(shù)的取值范圍參考樣本條件確定,計算得到各參數(shù)在訓練集上的最優(yōu)取值:決策樹數(shù)量與最大特征數(shù)的取值范圍分別為[5,50]、[2,6],最優(yōu)取值分別為32、5。
圖3 決策樹最大深度與辨識準確率的關(guān)系
文章選用的測試環(huán)境:系統(tǒng)版本為Windows10 20H2,CPU 為Intel 酷睿i7-11700K 8核16線程,內(nèi)存為32GB,顯卡為NVIDIA GTX 1080Ti,編程語言Python 3.8和Matlab。為了測試所提系統(tǒng)辨識方法的有效性,采用如圖1所示的系統(tǒng)仿真數(shù)據(jù)和美國某系統(tǒng)實際數(shù)據(jù)進行驗證。
設(shè)置IEEE10機39節(jié)點靜態(tài)運行時發(fā)生0.15Hz的低頻振蕩,輸出母線1的電壓幅值,上送頻率為100Hz,即每秒上送100個量測數(shù)據(jù),靜動態(tài)仿真數(shù)據(jù)如圖4所示,可知該系統(tǒng)運行約1.6秒后發(fā)生低頻振蕩,其中紅色表示系統(tǒng)1.6秒處于靜態(tài)運行,靜態(tài)數(shù)據(jù)約為160個;藍色表示系統(tǒng)處于動態(tài)運行,動態(tài)數(shù)據(jù)為240個。隨機設(shè)置80%的訓練數(shù)據(jù)和20%的測試數(shù)據(jù)。分別用文章所提方法、單一決策樹法、支持向量機法和反向傳播神經(jīng)網(wǎng)絡(luò)法辨識系統(tǒng)運行狀態(tài)。
圖4 靜動態(tài)仿真數(shù)據(jù)
各方法辨識準確率結(jié)果如下:本文所提方法99.7%、單一決策樹法94.6%、支持向量機法93.8%、反向傳播神經(jīng)網(wǎng)絡(luò)法94.2%??煽闯鰡我粵Q策樹法的辨識準確率高于支持向量機法和反向傳播神經(jīng)網(wǎng)絡(luò)法。為測試所提方法的泛化性,將上述仿真數(shù)據(jù)中的隨機設(shè)置不同比例的缺失數(shù)據(jù),在含有缺失數(shù)據(jù)的情況下,分別測試四種方法的辨識準確率。
從圖5可知,所提方法在不同比例的缺失數(shù)據(jù)下,仍可有效表示系統(tǒng)的運行狀態(tài)且所提方法的泛化性最好。缺失數(shù)據(jù)下,對仿真數(shù)據(jù)進行辨識。由圖6可知,在系統(tǒng)靜動態(tài)數(shù)據(jù)均存在缺失的情況下,所提的方法雖然存在誤判,但仍可有效辨識靜動態(tài)數(shù)據(jù),當缺失數(shù)據(jù)比例為10%時,所提方法的辨識準確率為98.5%,具有良好的泛化性。
圖5 缺失仿真數(shù)據(jù)下的辨識方法準確率對比
圖6 缺失仿真數(shù)據(jù)下的辨識結(jié)果
基于文獻[2]算例分析中美國電網(wǎng)某地PMU獲取的低頻振蕩的實測數(shù)據(jù),對所提方法進行多次驗證。重復(fù)多次試驗,取平均結(jié)果,各方法辨識準確率結(jié)果如下:所提方法98.3%、單一決策樹法92.8%、支持向量機法91.2%、反向傳播神經(jīng)網(wǎng)絡(luò)法93.5%??芍岱椒ǖ谋孀R準確率遠遠高于其他三種方法。同樣,測試所提方法在實測數(shù)據(jù)存在缺失的情況下的泛化性。由圖7可知,隨著缺失數(shù)據(jù)個數(shù)的增加,四種方法的辨識準確率受到不同程度的影響。其中,仿真測試相同的是,支持向量機法受缺失數(shù)據(jù)的影響最大,所提方法的受缺失數(shù)據(jù)的影響最小,且辨識準確率最高。
圖7 失數(shù)據(jù)下的辨識方法準確率對比