韋 權(quán),湯占軍
(昆明理工大學(xué)信息工程與自動化學(xué)院,云南昆明 650504)
隨著風(fēng)電在電網(wǎng)中的滲透率逐年上升,風(fēng)電的強(qiáng)波動性、強(qiáng)隨機(jī)性對電網(wǎng)的調(diào)度決策和安全運行造成了難以克服的挑戰(zhàn)[1]。降低與風(fēng)力發(fā)電相關(guān)的復(fù)雜性和不穩(wěn)定性,能夠給電力系統(tǒng)的統(tǒng)籌調(diào)度提供可參考的方案[2]。
近些年來,國內(nèi)外很多專家學(xué)者把研究重點聚焦于風(fēng)電功率點預(yù)測的研究,點預(yù)測方法主要分為物理研究法和統(tǒng)計研究法[3]。物理法主要是利用數(shù)值天氣預(yù)報(Numerical Weather Prediction,NWP)信息和風(fēng)場詳細(xì)的地理地貌信息,通過功率曲線映射得到功率預(yù)測值,預(yù)測結(jié)果的準(zhǔn)確度受到NWP 精確度的影響。統(tǒng)計法是基于歷史風(fēng)電統(tǒng)計數(shù)據(jù),通過參數(shù)估計、數(shù)據(jù)訓(xùn)練、曲線擬合等方式建立風(fēng)電功率與影響因素之間的聯(lián)系,常見的方法有支持向量機(jī)法[4]、神經(jīng)網(wǎng)絡(luò)法[5]、灰色模型法[6]、時間序列法[7-8]、人工智能法[9]等等。歸因于風(fēng)力資源的不穩(wěn)定性以及預(yù)測模型自身的局限性,當(dāng)前風(fēng)電功率點預(yù)測結(jié)果為電網(wǎng)調(diào)度等實際應(yīng)用提供的幫助不多。
為滿足決策者在電網(wǎng)調(diào)度、可靠性評估等方面的需要和探索可定量表現(xiàn)出風(fēng)電功率波動范圍的新預(yù)測形式,研究人員們開始把目光轉(zhuǎn)移到風(fēng)電功率區(qū)間預(yù)測研究。風(fēng)電功率區(qū)間預(yù)測相較于點預(yù)測,可更直觀地反映風(fēng)電功率的起伏趨勢。文獻(xiàn)[10]提出一種將BiLSTM 與Bootstrap 方法相結(jié)合的風(fēng)電功率區(qū)間預(yù)測模型。文獻(xiàn)[11]提出將徑向基神經(jīng)網(wǎng)絡(luò)作為預(yù)測模型,再結(jié)合分位數(shù)回歸法構(gòu)造功率預(yù)測區(qū)間。文獻(xiàn)[12]提出了一種基于混沌雞群優(yōu)化和極限學(xué)習(xí)機(jī)的風(fēng)電功率區(qū)間預(yù)測模型。文獻(xiàn)[13]提出了一種基于樸素貝葉斯的正態(tài)指數(shù)平滑法和混合滑動核密度估計的組合風(fēng)電功率區(qū)間預(yù)測方法。文獻(xiàn)[10-13]各自以不同的研究角度豐富了風(fēng)電功率區(qū)間預(yù)測的方法,但是鮮有針對降低原始風(fēng)電功率序列的波動性、隨機(jī)性來提升風(fēng)電功率區(qū)間預(yù)測的精準(zhǔn)度。
為了有效降低原始風(fēng)電功率序列的復(fù)雜程度,提出一種基于參數(shù)優(yōu)化VMD-SE-KELM 結(jié)合蒙特卡洛法的風(fēng)電功率區(qū)間預(yù)測模型。首先引入麻雀搜索算法(Sparrow Search Algorithm,SSA)優(yōu)化變分模態(tài)分解(Variational Modal Decomposition,VMD),將原始風(fēng)電功率序列分解為理想數(shù)量的子序列,再根據(jù)計算出的樣本熵(Sample Entropy,SE)對其進(jìn)行序列重構(gòu),得到的新子序列分別建立核極限學(xué)習(xí)機(jī)(Kernel Extreme Learning Machine,KELM)點預(yù)測模型,疊加各點預(yù)測結(jié)果得到最終點預(yù)測結(jié)果及功率誤差序列,最終使用蒙特卡洛法對誤差累計概率密度隨機(jī)抽樣得到對應(yīng)置信度下的預(yù)測區(qū)間。通過實例進(jìn)行驗證,結(jié)果表明本文所提方法可以保證預(yù)測區(qū)間的準(zhǔn)確性、可靠性。
現(xiàn)實中采集到的風(fēng)電功率數(shù)據(jù)存在強(qiáng)波動性、強(qiáng)非線性、強(qiáng)不穩(wěn)定性、強(qiáng)時間依賴性等不利因素,直接輸入預(yù)測模型往往難以得到準(zhǔn)確的預(yù)測結(jié)果。為了提高預(yù)測精度,可對功率序列使用VMD對預(yù)測輸入數(shù)據(jù)進(jìn)行預(yù)處理。
VMD是由Konstantin Dragomiretskiy和Dominique Zosso 于2014 年提出的一種完全自適應(yīng)、非遞歸的信號分解算法。它的作用是將輸入信號v(t)分解成若干個特征、頻段互異且?guī)捰邢薜谋菊髂B(tài)函數(shù)(Intrinsic Mode Function,IMF)序列,目的是在所有模態(tài)之和等于輸入信號v(t) 為前提下,使所有IMF 帶寬總計最小[14]。變分模型如下:
式中:uk={u1,…,uk} 與ωk={ω1,…,ωk} 分別為VMD分解出來的K個子模態(tài)集合和其對應(yīng)的中心頻率集合;?t為求偏導(dǎo)運算符;*為卷積運算符;δ為單位脈沖函數(shù);j 表示虛數(shù)。
引用懲罰因子α以及Lagrange 乘法算子λ(t)的目的是把帶約束的變分問題轉(zhuǎn)化為無約束的變分問題,這樣方便成為Lagrange 表達(dá)式的推廣形式。為了便于求得變分問題最優(yōu)解,用交替方向乘子法迭代計算出各IMF 及其對應(yīng)的中心頻率。
大量實驗和理論研究告訴我們,影響VMD 算法分解效果優(yōu)劣的主要參數(shù)包括分解出的子模態(tài)個數(shù)值K以及懲罰因子α。使用VMD 算法自適應(yīng)地處理目標(biāo)信號時需要提前設(shè)置好分解參數(shù)[15]。
SSA 作為近年較新穎的群智能優(yōu)化算法,它的提出靈感源于麻雀群的捕食行為和反捕食行為[16]。此方法相較于鯨魚優(yōu)化算法[17](Whale Optimization Algorithm,WOA)、粒子群算法[18](Particle Swarm Optimization,PSO)、灰狼優(yōu)化算法[19](Grey Wolf Optimizer,GWO)等傳統(tǒng)智能優(yōu)化算法具有不依賴梯度信息、尋優(yōu)精度較高、穩(wěn)定性較強(qiáng)等優(yōu)勢,廣泛運用于機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等研究領(lǐng)域[20]。
SSA 在尋優(yōu)的過程中,把麻雀群分成3 部分,分別是觀察者、跟隨者及警戒者。麻雀群中視野位置比較好的麻雀為觀察者,數(shù)量一般占種群的10%~20%,任務(wù)是帶領(lǐng)同伴辨認(rèn)安全方向和搜索食物,跟隨者則會跟隨觀察者一起爭奪食物,觀察者和跟隨者之間可以相互轉(zhuǎn)換。同時,任意分配10%~20%的麻雀為警戒者,任務(wù)是發(fā)現(xiàn)周圍環(huán)境的威脅,并會釋放警告信號提示種群成員往安全的區(qū)域移動。
觀察者位置更新變化如下:
式中:c為目前的迭代次數(shù);M為最大的迭代次數(shù);為迭代次數(shù)為第t次時,第i只麻雀的第j個維度的位置;a為范圍[0,1]的隨機(jī)數(shù);R2為預(yù)警值,R2∈[0,1] ;ST為種群的安全閾值,ST∈[0.5,1] ;L為一個所有元素為1 的1×d階的矩陣;Q為一個服從正態(tài)分布的隨機(jī)數(shù)。
當(dāng)滿足R2<ST時,表示此刻麻雀種群身處在安全的區(qū)域內(nèi),四周并沒有發(fā)現(xiàn)捕食者,故觀察者可以擴(kuò)大食物的搜索范圍,帶領(lǐng)種群獲取更多的食物;當(dāng)滿足R2≥ST時,表示此刻種群內(nèi)已經(jīng)有警戒者發(fā)現(xiàn)周圍出現(xiàn)了捕食者,并且發(fā)出了危險警告,隨之麻雀種群作出反捕食行為,即觀察者迅速帶領(lǐng)種群成員調(diào)整覓食位置,轉(zhuǎn)移到安全區(qū)域。
跟隨者的位置更新變化如下:
當(dāng)滿足i>n/2 時,表明第i個適應(yīng)度較低的跟隨者沒有爭奪到食物,此時為了擺脫饑餓狀態(tài),飛往其他區(qū)域進(jìn)行覓食。
警戒者位置更新變化如下:
式中:β為控制步長的參數(shù),是一個服從于均值為0 并且方差為1 的正態(tài)分布的隨機(jī)數(shù);為迭代到c次時的全局最優(yōu)位置;K1為一個屬于[-1,1]的隨機(jī)數(shù),用于控制麻雀移動的方向;fi為目前麻雀個體的適應(yīng)度值;fω為全局最劣的適應(yīng)度值;fg為全局最佳的適應(yīng)度值;ε為一個無限接近于0 的常數(shù),為避免式子分母為0。當(dāng)滿足fi>fg時,該個體處于群體的邊緣區(qū)域,極易遭受攻擊,為了躲避攻擊,要向種群中心靠攏。
近似熵是一種量化時間序列復(fù)雜度的重要標(biāo)準(zhǔn),卻因為算法自身的缺陷而往往導(dǎo)致結(jié)果欠佳。樣本熵(SE,無量綱)作為近似熵的一種改進(jìn)算法,其本身具備良好的魯棒性和一致性,且算法本身不依賴于數(shù)據(jù)長度,可以減少近似熵產(chǎn)生的誤差[21]。樣本熵值越小,序列的自我相似性越高;反之,序列的復(fù)雜性就越高。本文依照樣本熵對VMD 分解后得到的IMF 序列加以重構(gòu)處理,提高序列重構(gòu)的解釋性。針對給定序列,其樣本熵的計算步驟及參數(shù)設(shè)定見文獻(xiàn)[22]。
極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)是由Huang 等人于2006 年提出的一種新型單一隱藏層前饋神經(jīng)網(wǎng)絡(luò),具有擬合速度快、非線性擬合能力強(qiáng)、網(wǎng)絡(luò)易實現(xiàn)等優(yōu)點[23]。KELM 是針對ELM 算法的一種改進(jìn),它基于ELM 算法加入了核函數(shù),以達(dá)到增強(qiáng)ELM 算法的穩(wěn)定性、泛化性的目的。傳統(tǒng)ELM 算法表達(dá)式為:
式中:N為樣本個數(shù);ω為輸入層到隱藏層之間的權(quán)值;b為隱藏層的偏置;H為神經(jīng)網(wǎng)絡(luò)的隱藏層矩陣;H+為H的廣義逆矩陣;β為隱藏層與輸出層之間的輸出權(quán)重;g()為激活函數(shù);k為隱藏層的神經(jīng)元個數(shù);T為預(yù)測目標(biāo)值向量。
KELM 通過引入核函數(shù),將ELM 算法中的隨機(jī)映射變成了穩(wěn)定的核映射,同時加入?yún)?shù)I/C至單位對角陣(HHT)中防止其特征根為0,I為一個N階單位陣,C為正則化系數(shù),需要預(yù)先設(shè)置。提高ELM 的穩(wěn)定性和泛化性。綜上所述,KELM 算法表達(dá)式如下:
式中:k(a,b)為核函數(shù),一般設(shè)定為徑向基核函數(shù),需要設(shè)置核函數(shù)參數(shù)。
選取VMD 算法參數(shù)的不合適,很可能導(dǎo)致目標(biāo)信號的過分解或欠分解,造成信號分解的效果欠佳。單純憑借經(jīng)驗來選取分解參數(shù),如保持一個參數(shù)不變優(yōu)化另一個參數(shù)或者隨機(jī)設(shè)置2 個參數(shù),結(jié)果往往會產(chǎn)生較大的誤差。本文利用SSA 對VMD算法中重要的2 個參數(shù),即懲罰因子α和分解出的子模態(tài)個數(shù)K進(jìn)行尋優(yōu),來提升VMD 算法結(jié)果的精度。圖1 為SSA-VMD 流程圖。
圖1 SSA-VMD流程圖Fig.1 SSA-VMD flow chart
針對現(xiàn)實風(fēng)電功率波動性強(qiáng)、隨機(jī)性強(qiáng)的問題,本文將VMD 分解算法、KELM 模型相結(jié)合,提出了一種基于SSA-VMD-SE-KELM 風(fēng)電功率點預(yù)測模型,此模型可有效提升風(fēng)電功率預(yù)測的精度和可靠性。具體建模過程如下:
1)對原始風(fēng)電數(shù)據(jù)進(jìn)行預(yù)處理,包括剔除異常數(shù)據(jù)補(bǔ)充缺失數(shù)據(jù)等。
2)為了防止不同量綱之間的差異對模型結(jié)果帶來的誤差,對各個輸入量進(jìn)行歸一化,并把數(shù)據(jù)集按照8:2 的比例劃分為訓(xùn)練集和測試集。
3)針對訓(xùn)練集風(fēng)電功率序列,利用SSA 算法優(yōu)化對VMD 算法,最終確定VMD 分解的最優(yōu)參數(shù)。
4)利用VMD 分解風(fēng)電功率序列,得到若干個IMF 序列。
5)計算各個IMF 序列的SE 值,SE 值相近的IMF 序列進(jìn)行重構(gòu),得到若干個新序列。
6)若干個新序列分別于其余變量一起輸入設(shè)置好的KELM 模型訓(xùn)練學(xué)習(xí)。
7)各個預(yù)測結(jié)果疊加得到最終點預(yù)測結(jié)果。
蒙特卡洛法也叫做統(tǒng)計模擬法,是一種采用隨機(jī)抽樣統(tǒng)計來估算的計算方法[24]。它的基本思路是利用已知目標(biāo)函數(shù)y=f(x1,…,xn)對隨機(jī)變量(x1,…,xn)進(jìn)行概率分布估計,對這些變量進(jìn)行隨機(jī)抽樣得到對應(yīng)的y的特征值,通過大量抽樣結(jié)果計算得出y的概率分布。隨著抽樣模擬次數(shù)的增多,蒙特卡洛法計算的結(jié)果與實際結(jié)果的誤差越來越小[25]。針對蒙特卡洛法而言,最重要的是對一個(0,1)的概率分布進(jìn)行隨機(jī)抽樣統(tǒng)計,利用誤差統(tǒng)計分析得到的累計概率密度函數(shù)正是一個在(0,1)上的概率分布,這為使用蒙特卡洛法建立預(yù)測區(qū)間提供了理論上的支持。
針對現(xiàn)實風(fēng)電功率的不穩(wěn)定性以及點預(yù)測自身的局限性,本文將VMD 分解算法、KELM 模型和蒙特卡洛法相結(jié)合,提出了一種基于SSA-VMDSE-KELM 結(jié)合蒙特卡洛法的風(fēng)電功率區(qū)間預(yù)測模型,此模型可有效提升風(fēng)電功率預(yù)測的精度和可靠性。圖2 為具體預(yù)測建模流程圖。
圖2 區(qū)間預(yù)測模型結(jié)構(gòu)圖Fig.2 Interval prediction model structure diagram
本文采用云南某風(fēng)電場2 號風(fēng)機(jī)實際采集到的風(fēng)電歷史數(shù)據(jù),采集時間為2020 年9 月至10月,時間間隔為10 min,將歷史數(shù)據(jù)劃分為訓(xùn)練集和測試集,對其風(fēng)電功率進(jìn)行點預(yù)測和區(qū)間預(yù)測。
對于風(fēng)電功率點預(yù)測結(jié)果,本文采用平均絕對誤差(Mean Absolute Error,MAE)和R-Square(R2)這2 個無量綱指標(biāo)來考量點預(yù)測的精準(zhǔn)度,MAE 的值(EMA)越小,R2越大,則點預(yù)測的效果越好,模型精度越高。評價指標(biāo)定義式如下:
式中:M為預(yù)測點的數(shù)量;Pi為第i個時刻風(fēng)電功率的實際值;i為第i個時刻風(fēng)電功率的預(yù)測值;Pˉ為M個風(fēng)電功率的平均值。
對于風(fēng)電功率區(qū)間預(yù)測結(jié)果,本文采用預(yù)測區(qū)間的覆蓋率(Prediction Interval Coverage Probability,PICP)和預(yù)測區(qū)間平均寬度(Prediction Interval Normalized Averaged Width,PINAW)來考量預(yù)測區(qū)間的優(yōu)劣,二者無量綱。PICP 的值(IPICP)用于評判預(yù)測區(qū)間的可靠性,其值越大越好,PINAW 的值(IPINAW)用于評判預(yù)測區(qū)間的清晰度,其值越小越好。定義式如下:
風(fēng)電功率序列具有較強(qiáng)的波動性和不平穩(wěn)性。對原始風(fēng)電功率序列進(jìn)行VMD 分解,同時用SSA優(yōu)化VMD 算法中的參數(shù)K和α。經(jīng)過多次試驗,SSA 的參數(shù)設(shè)置如下:最大迭代次數(shù)為50 次,種群大小為30,K的尋優(yōu)范圍為[3,100],α的尋優(yōu)范圍為[7,5 000],適應(yīng)度目標(biāo)函數(shù)為樣本熵極小值。采用SSA 最終得到VMD 的最優(yōu)參數(shù)為K=7,α=3 000,故利用VMD 算法將原始風(fēng)電功率序列分解成7 個IMF子序列。
為了有效降低建模的復(fù)雜程度,計算出各個IMF序列的樣本熵,并將樣本熵相近的子序列合并成為新的子序列。各個IMF序列的樣本熵值見圖3。
圖3 各子序列樣本熵值情況Fig.3 Entropy value of each subsequence sample
可明顯看出,子序列中IMF3,IMF4,IMF6,IMF7的樣本熵值相近,說明它們序列復(fù)雜程度相近,所以把它們合并成一個新的序列。此時重構(gòu)后得到的新的子序列記作K1,K2,K3,K4:
然后再采用KELM 分別對新的子序列K1,K2,K3,K4進(jìn)行點預(yù)測,KELM 參數(shù)具體設(shè)置為:正則化系數(shù)C=4 000,核函數(shù)參數(shù)為3.9。最后,將每一個子序列KELM 點預(yù)測結(jié)果疊加得到最終的功率預(yù)測值。
為了說明SSA-VMD-SE-KELM 模型的有效性,本文采用經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)與KELM 相結(jié)合的模型(即EMD-KELM),VMDKELM,SSA-VMD-KELM 3 種點預(yù)測模型與之對比。圖4 為各個點預(yù)測模型的預(yù)測結(jié)果對比,表1為各個點預(yù)測模型的評價指標(biāo)。
由圖4 可以看出,相較于其他預(yù)測模型而言,SSA-VMD-SE-KELM 模型的預(yù)測結(jié)果曲線明顯更貼合真實值的曲線。由表1 可以更直觀地發(fā)現(xiàn),相較于其他的預(yù)測模型而言,SSA-VMD-SE-KELM 模型的各項點預(yù)測評價指標(biāo)均優(yōu)于其他預(yù)測模型,R2達(dá)到了0.970 5,EMA降至2.741 4。本文提出的SSAVMD-SE-KELM 點預(yù)測模型可見預(yù)測結(jié)果極佳,具有較高的預(yù)測精度。
表1 各個點預(yù)測模型的評價指標(biāo)Table 1 Evaluation index of each point prediction model
圖4 各個點預(yù)測模型的預(yù)測結(jié)果對比Fig.4 Comparison of prediction results of each point prediction model
利用SSA-VMD-SE-KELM 點預(yù)測模型的預(yù)測結(jié)果,與真實值作差便得到得到預(yù)測誤差功率序列。經(jīng)過多次試驗,本文選擇使用高斯分布擬合預(yù)測誤差序列得到誤差累計概率密度分布函數(shù),然后采用蒙特卡洛法對累計概率密度進(jìn)行1 000 次隨機(jī)抽樣,根據(jù)抽樣累計概率密度得到所對應(yīng)的誤差序列,按照采樣累計概率密度的大小對采樣誤差序列重新排序。最后給定置信度,結(jié)合點預(yù)測結(jié)果得出該時刻對應(yīng)的預(yù)測功率區(qū)間。圖5 為各置信度下的預(yù)測區(qū)間結(jié)果。
圖5 各置信度預(yù)測功率區(qū)間Fig.5 Predicted power interval of each confidence level
為了更好地證明本文提出的模型之優(yōu)劣,分別計算出SSA-VMD-SE-KELM 模型與蒙特卡洛法、Bootstrap 重采樣法、分位數(shù)回歸法、核密度估計法結(jié)合計算出區(qū)間預(yù)測評價指標(biāo),對比結(jié)果見表2。
表2 各預(yù)測區(qū)間評價指標(biāo)Table 2 Evaluation indicators for each prediction interval %
表2 可以看出,在相同置信度下,相較于其他3種模型,本文提出基于SSA-VMD-SE-KELM 結(jié)合蒙特卡洛法的區(qū)間預(yù)測模型,可以做到緊密地跟隨著風(fēng)電功率序列的變化趨勢,并且可以得到更高的區(qū)間覆蓋率及更窄的區(qū)間平均寬度。例如在置信度85%區(qū)間里,PICP 的值為89.98%,相較于其他3種方法,指標(biāo)分別提升了3.46%,4.86%,4.75%;PINAW 值也是最小的,相較于其他3 種方法,指標(biāo)分別降低了3.63%,7.79,5.01%,體現(xiàn)模型效果的高準(zhǔn)確性、高可靠性。
為了進(jìn)一步證明本文提出的模型有效性,采用甘肅某風(fēng)電場1 號、3 號、5 號風(fēng)機(jī)的歷史風(fēng)電數(shù)據(jù)對模型效果進(jìn)行驗證。圖6 為各風(fēng)機(jī)置信度為85%時的預(yù)測功率區(qū)間效果。
圖6 各風(fēng)機(jī)置信度85%預(yù)測功率區(qū)間Fig.6 Predicted power range of each fan with confidence level of 85%
表3 為各風(fēng)機(jī)預(yù)測功率區(qū)間評價指標(biāo)。實驗結(jié)果不難看出,本文提出的基于SSA-VMD-SE-KELM和蒙特卡洛法的區(qū)間預(yù)測模型在其他數(shù)據(jù)集上的效果準(zhǔn)確度、可靠度較為出色,預(yù)測區(qū)間均能得到優(yōu)秀的區(qū)間覆蓋率和較窄平均寬度。
表3 各風(fēng)機(jī)預(yù)測區(qū)間評價指標(biāo)Table 3 Evaluation index of each fan forecast interval%
由于風(fēng)電功率固有的強(qiáng)波動性和強(qiáng)隨機(jī)性,以及目前點預(yù)測方法難以實現(xiàn)風(fēng)電功率預(yù)測結(jié)果的高精準(zhǔn)度,本文提出了一種基于SSA-VMD-SEKELM 結(jié)合蒙特卡洛法的組合區(qū)間預(yù)測模型。通過算例結(jié)果分析,可得到以下結(jié)論:
1)經(jīng)過參數(shù)優(yōu)化后的VMD 算法分解,再結(jié)合樣本熵對其子序列進(jìn)行重構(gòu),可有效降低風(fēng)電功率序列的復(fù)雜程度,提升風(fēng)電功率點預(yù)測結(jié)果的精度。
2)本文提出的預(yù)測模型可以有效地實現(xiàn)風(fēng)電功率區(qū)間預(yù)測。相比于其他傳統(tǒng)模型,可以更加緊密地跟隨著風(fēng)電功率序列的變化起伏趨勢,得到更高的區(qū)間覆蓋率及更窄的區(qū)間平均寬度,為電網(wǎng)的安全運行和調(diào)度決策提供更多的可參考方案。