宋小龍,劉友寬,伍陽陽,郭磊
(云南電力試驗(yàn)研究院(集團(tuán))有限公司,云南 昆明 650217)
通常情況下光伏電站處于最大功率點(diǎn)跟蹤運(yùn)行模式(Maximum Power Point Tracking,MPPT),即通常說的自由發(fā)電模式[1]。當(dāng)光伏電站投入AGC 閉環(huán)功能后,就必須根據(jù)AGC指令參與調(diào)節(jié)全站的有功出力,此時(shí)AGC 可控出力上限即為當(dāng)前時(shí)刻的所有逆變器的理論功率之和[2]。而光伏逆變器的理論功率是實(shí)時(shí)變化的,與當(dāng)前時(shí)刻的太陽輻照度、溫度及總電阻等具有復(fù)雜的關(guān)系,在工程實(shí)踐中難以應(yīng)用[3,4]。本文考慮通過相關(guān)性的特征選擇算法計(jì)算出特征相關(guān)性高的逆變器作為樣板逆變器,然后分別使用線性回歸和隨機(jī)森林建立預(yù)測模型,最后以樣板逆變器作為輸入通過預(yù)測模型計(jì)算后的輸出與實(shí)際自然發(fā)電的功率作比較,選出誤差最小的計(jì)算方法。具體算法如圖1 所示。
Hall 于1999 年提出基于相關(guān)性的特征選擇(Correlation-based feature selection,CFS)方法。CFS 方法是一種典型的filter 式特征選擇方法,它啟發(fā)式地將單一特征對應(yīng)于每個(gè)分類的作用來進(jìn)行評價(jià),從而得出最終的特征子集[5]。
CFS 估計(jì)特征子集,并對特征子集而不是單個(gè)特征進(jìn)行排序,其核心是采用啟發(fā)式的方式來評估特征子集的價(jià)值。CFS 通過計(jì)算特征之間的相關(guān)性以及特征與類標(biāo)之間的相關(guān)性來實(shí)現(xiàn)特征的選擇,其目的是使被選中的特征之間彼此盡可能不相關(guān),而與類標(biāo)之間高度相關(guān)。CFS 的啟發(fā)式方程為:
式(1)中:merits表示包含k個(gè)特征的特征子集S 的merit(類別區(qū)分能力);rcf 表示類別c 與特征f(f∈S)的平均相關(guān)系數(shù);rff是特征f之間的平均相關(guān)系數(shù);r為Pearson 相關(guān)系數(shù),所有的變量需要標(biāo)準(zhǔn)化。分子部分表示特征子集S的類預(yù)測能力;分母部分表示特征子集S中特征的冗余程度。因此,分子越大表示特征子集S的類預(yù)測能力越強(qiáng),分母越小表示該特征子集的冗余越小。
特征選擇就是選擇一組特征構(gòu)成特征子集,該子集與類別高度相關(guān),但是子集中的特征之間高度不相關(guān)。由此可見merits的值越大,當(dāng)前特征子集S對于分類的貢獻(xiàn)就越大,是優(yōu)良的特征子集。
但在CFS 中,特征必須是離散的隨機(jī)變量,而且是通過條件熵和互信息的計(jì)算方式來對特征之間和特征與類標(biāo)之間進(jìn)行評價(jià),因此針對數(shù)據(jù)是連續(xù)性的隨機(jī)變量時(shí)就難以處理?;诖耍槍?shù)據(jù)是連續(xù)性隨機(jī)變量時(shí)可通過Pearson 相關(guān)系數(shù)來計(jì)算特征之間的相關(guān)性以及特征與類標(biāo)之間的相關(guān)性。相關(guān)系數(shù)的絕對值越大,則相關(guān)性越強(qiáng);相關(guān)系數(shù)越接近于0,則相關(guān)度越弱。
CFS(如圖2 所示)首先從訓(xùn)練集中計(jì)算特征與類和特征與特征相關(guān)矩陣,然后用前向選擇搜索策略(forward selection search strategy,F(xiàn)S)搜索特征子集空間,也可使用其他的搜索方法,包括最佳優(yōu)先搜索(best first search,BFS)、 后向消除(backward elimination,BE)。前向選擇剛開始沒有特征,然后貪心地增加一個(gè)特征,直到?jīng)]有合適的特征加入。后向消除開始有全部特征,然后每一次貪心地去除一個(gè)特征,直到估計(jì)值不再降低。最佳優(yōu)先搜索與其他兩種搜索方法差不多,可以開始于空集或全集。以空集M為例,開始時(shí)沒有特征選擇,并產(chǎn)生了所有可能的單個(gè)特征;計(jì)算特征的估計(jì)值( 由merits值表示),并選擇merits值最大的一個(gè)特征進(jìn)入M,然后選擇第二個(gè)擁有最大的merits值的特征進(jìn)入M。如果這兩個(gè)特征的merits值小于原來的merits值,則去除這第二個(gè)最大的merits值的特征,然后在進(jìn)行下一個(gè)。依次遞歸,找出使merits最大的特征組合。
圖2 CFS計(jì)算方法
圖3 理論功率計(jì)算效果對比
在確定了樣本逆變器的基礎(chǔ)上,通過樣本逆變器與訓(xùn)練集之間建立預(yù)測模型。由于訓(xùn)練集中的理論功率為自由發(fā)電狀態(tài)下所有逆變器有功之和,其中也包含了樣本逆變器,所以樣本逆變器與理論功率呈強(qiáng)相關(guān)。在這種強(qiáng)相關(guān)性的關(guān)系下,本文選擇了線性回歸(LinearRegression,LR)和隨機(jī)森林(RandomForest,RF)進(jìn)行模型建立。
線性回歸主要涵蓋兩種不同的線性回歸模型,即一元線性以及多元線性回歸模型。通常來說,當(dāng)僅僅只需要一個(gè)自變量x去進(jìn)行預(yù)測工作時(shí),一元線性回歸模型由于較少的自變量x的數(shù)量,其模型復(fù)雜度將更為簡單,同時(shí)也會(huì)由于忽略了關(guān)聯(lián)度較高的自變量的使用而導(dǎo)致數(shù)據(jù)與模型擬合不足的問題[6]。因此,如何選擇被使用自變量x的數(shù)量,以及如何選取關(guān)聯(lián)度較高的自變量x去進(jìn)行線性模型的搭建以及回歸問題的解決是線性回歸算法中的核心所在[7]。一元線性回歸模型函數(shù)表達(dá)式如下所示:
式(2)中,為模型輸出的預(yù)估值,而β0,β1為預(yù)測系數(shù),可采用最小二乘法計(jì)算。
多元線性回歸則使用多個(gè)關(guān)聯(lián)自變量進(jìn)行回歸問題的解決方法,其模型函數(shù)表達(dá)式為:
與一元線性回歸模型函數(shù)類似,m為所使用自變量x的總數(shù),β0…βm則為各個(gè)自變量相對應(yīng)的預(yù)測系數(shù)。
隨機(jī)森林(Random Forest,RF)是一種集成學(xué)習(xí)算法,是將多個(gè)弱分類器進(jìn)行組合然后經(jīng)過投票或求均值確定最后的結(jié)果。該算法由BREIMAN 提出,綜合了其提出的Bagging算法和HO 提出的隨機(jī)子空間方法,這可整體提高模型的精度和泛化能力。隨機(jī)森林算法中的基本分類器是CART 決策樹,又被稱為分類回歸樹(Classification and Regression Tree,CART)[8]。
CART 算法是BREIMAN 和STONE 共同提出,該算法在信息熵的基礎(chǔ)上并依據(jù)特定的準(zhǔn)則構(gòu)造得到的決策樹。該算法與ID3 決策樹算法和C4.5 決策樹算法不同的是在節(jié)點(diǎn)分裂選擇特征屬性的時(shí)候采用了基尼指數(shù)(Gini Index)最小準(zhǔn)則來進(jìn)行選擇,通過基尼指數(shù)可以選擇特征屬性并且通過基尼值可以反映樣本的純度。數(shù)據(jù)集D的純度定義為:
式(4)中:pk為樣本點(diǎn)屬于第k類的概率;y表示數(shù)據(jù)集D的類別。
基尼指數(shù)定義為:
式(5)中:α為特征條件;υ表示數(shù)據(jù)集D中滿足特征條件α的類別。
算法過程:
在原始樣本數(shù)據(jù)集中進(jìn)行k次Bootstrap 重采樣,每次采集固定個(gè)數(shù)的樣本且每采集一個(gè)樣本都將樣本放回,采樣結(jié)束后即可得到k個(gè)子樣本集。
利用CART 算法構(gòu)建針對于每個(gè)子樣本集的決策樹。假設(shè)從第i個(gè)子樣本集中選取出的特征fi中包含了C個(gè)類別,則其Gini值為:
式(6)中:pj為類別Cj出現(xiàn)的概率。
Gini值越小樣本純度越高。因此,決策樹節(jié)點(diǎn)的分裂特征即為該決策樹中所有特征Gini最小的特征。
每個(gè)子樣本集按照步驟產(chǎn)生一顆決策樹,所有樣本子集的決策樹共同構(gòu)成隨機(jī)森林。每棵決策樹在生長時(shí),隨機(jī)從含有M個(gè)特征的特征集合T中抽取個(gè)特征作為一個(gè)特征子集,將抽取出的特征子集作為決策樹的劃分屬性,按照Gini值最小準(zhǔn)則生長決策樹。
利用多數(shù)投票算法對所有決策樹的結(jié)果進(jìn)行分析和投票,最終的投票結(jié)果即為隨機(jī)森林的結(jié)果。
本文選擇某總裝機(jī)30 MW 光伏電站作為實(shí)例。該光伏電站共有60 臺(tái)同規(guī)格型號的單臺(tái)容量為0.5 MW 的逆變器,編號為#1~#60。采集的數(shù)據(jù)為自由發(fā)電運(yùn)行中的2022 年6 月1 日至11 月24 日每臺(tái)逆變器開始上網(wǎng)到下網(wǎng)的實(shí)發(fā)有功值及總的有功值,其中若某臺(tái)逆變器發(fā)生故障、通訊中斷等情況,這也是一種特征,在這里將其實(shí)發(fā)有功值置為0 處理。另外將每月1至5 日五天的數(shù)據(jù)作為測試集,其余數(shù)據(jù)作為訓(xùn)練集。
在懷卡托智能分析環(huán)境(Waikato Environment for Knowledge Analysis,WEKA)中導(dǎo)入訓(xùn)練集數(shù)據(jù)[9-10],特征評估選擇CfsSubsetVal-P1-E1,搜索方法選擇BestFirst-D1-N5。
計(jì)算得到特征最相關(guān)的逆變器共13 個(gè),按相關(guān)性排列順序?yàn)?2,#6,#12,#16,#24,#27,#31,#33,#40,#48,#49,#55,#60。一般樣本逆變器總?cè)萘坎怀^總裝機(jī)容量的10%,在本案例中即不超過6 個(gè),所以確定樣本逆變器為#2,#6,#12,#16,#24,#27。
在WEKA 中導(dǎo)入訓(xùn)練集中樣本逆變器#2,#6,#12,#16,#24,#27 有功值及總有功值,通過線性回歸建立模型。
表1 誤差分析
在WEKA 中導(dǎo)入訓(xùn)練集中樣本逆變器#2,#6,#12,#16,#24,#27 有功值及總有功值,通過隨機(jī)森林建立好模型。
表2 誤差分析
在建立好的兩種模型的基礎(chǔ)上,將測試集中的樣本逆變器#2,#6,#12,#16,#24,#27有功值作為輸入,通過模型計(jì)算輸出為光伏電站理論功率,與實(shí)際總有功對比。
表3 誤差分析
本文通過樣本逆變器的選擇,及光伏電站理論功率計(jì)算模型建立及驗(yàn)證,得出以下結(jié)論:
1)線性回歸和隨機(jī)森林兩種計(jì)算方法在理論功率計(jì)算上均取得較好的效果,隨機(jī)森林計(jì)算法計(jì)算誤差更小。
2)基于大量的實(shí)際運(yùn)行數(shù)據(jù)計(jì)算對比后發(fā)現(xiàn)30 MW 裝機(jī)光伏電站,本文的計(jì)算方法平均相對誤差在0.4 MW 左右,約為1.3%,可以應(yīng)用到光伏電站AGC 中計(jì)算理論功率,確認(rèn)AGC 可控有功上限。