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