吳 卓
(三峽大學 電氣與新能源學院,湖北宜昌 443002)
風電作為可再生能源是電力系統(tǒng)的重要組成部分,但其自身存在間歇性和波動性,因此,風電大規(guī)模并網(wǎng)會對電網(wǎng)的穩(wěn)定運行帶來巨大的安全隱患[1,2]。風電功率預(yù)測的精準度對提高風電接入容量和保證電網(wǎng)運行穩(wěn)定性具有重要意義[3]。超短期預(yù)測是預(yù)測風電未來4 h 內(nèi)的出力狀態(tài),將風電未來出力情況由未知變?yōu)榛疽阎猍4]。提高風電功率超短期預(yù)測精度對滿足電網(wǎng)調(diào)度要求具有重要作用。
深度學習網(wǎng)絡(luò)在特征提取方面存在很大的優(yōu)勢,同時,其網(wǎng)絡(luò)結(jié)構(gòu)對非線性擬合具有很強的能力,這讓它在電力系統(tǒng)各領(lǐng)域的研究中備受關(guān)注。當前,多風電場超短期預(yù)測面臨的困難在于風電場數(shù)量增加,風電場數(shù)據(jù)之間的時空關(guān)系變得復(fù)雜。針對上述研究所存在的問題,提出一種基于堆疊稀疏降噪自動編碼器(Stacked Sparse Denoising Autoencoder,SSDAE)的地區(qū)風電場群高精度超短期功率預(yù)測方法。該方法降低了對人工經(jīng)驗的依賴,通過深層網(wǎng)絡(luò)提取特征,并對特征進行預(yù)測,進一步對預(yù)測特征解碼。對輸入的風電功率數(shù)據(jù)先要加入噪聲,再對加入噪聲后的功率數(shù)據(jù)進行稀疏性編碼,最終,通過SSDAE來去除加入的噪聲,使其提取輸入數(shù)據(jù)的本質(zhì)特征,提高模型的泛化能力。以某地區(qū)15 座風電場的實際算例從預(yù)測精度驗證了所提方法的有效性。
自動編碼器(AE)通過無監(jiān)督學習,降維得到輸入數(shù)據(jù)的本質(zhì)特征[5],結(jié)構(gòu)如圖1 所示,包括編碼器和解碼器兩部分。
圖1 自動編碼器結(jié)構(gòu)圖
自動編碼器的期望輸出z與輸入x相同,在訓練中利用反向傳播算法,以均方誤差損失最小為目標訓練網(wǎng)絡(luò)結(jié)構(gòu)的最佳參數(shù)θ*,其編碼、解碼和訓練過程可描述如下:
式中,F(xiàn)為隱含層輸出的特征向量,f與g分別為編碼與解碼的激活函數(shù),網(wǎng)絡(luò)參數(shù)θ=[W1,W2,b1,b2]為編碼和解碼過程中的權(quán)重和偏置參數(shù)集合,m為訓練樣本個數(shù),L為均方誤差損失函數(shù)。
稀疏自動編碼器(Sparse Autoencoder,SAE)是在原有基礎(chǔ)上對自動編碼器的改進,通過對降維后的隱含層數(shù)據(jù)加入稀疏性約束而得到[6]。
本文神經(jīng)元的激活函數(shù)采用sigmoid 函數(shù)。平均稀疏激活度表示為:
式中,aj為隱含層神經(jīng)元j的激活值,aj(xi)為輸入xi時隱含層神經(jīng)元j的激活值。
為了實現(xiàn)稀疏約束條件,通常在損失函數(shù)中加入懲罰因子,以達到對自動編碼器的稀疏性限制,使ρ?j的值一直逼近ρ,ρ為稀疏性參數(shù)。通常選取相對熵KL(ρ‖ρ?j)作為懲罰因子,其可表示為:
當ρ=ρ?j時,KL(ρ‖ρ?j) = 0,并且隨著ρ?j與ρ之間的差異增大而單調(diào)遞增。
稀疏自動編碼器的損失函數(shù)表示為:
式中,β為稀疏性限制條件的權(quán)重系數(shù)。
降噪自動編碼器(DAE)如圖2 所示,為實現(xiàn)編碼器提取的特征表達更加具有魯棒性,在原有自動編碼器的基礎(chǔ)上對輸入數(shù)據(jù)加入噪聲,同時防止過擬合問題的發(fā)生[7]。
圖2 降噪自動編碼器結(jié)構(gòu)圖
對原始輸入數(shù)據(jù)x加入噪聲得到干擾輸入x?,然后,利用激活函數(shù)f對輸入x?進行特征提取獲得隱含變量y,再利用激活函數(shù)g將隱含變量y解碼為輸出z,最后用損函數(shù)表示重構(gòu)誤差,即:
式中,λ為權(quán)重衰減系數(shù),ni為神經(jīng)網(wǎng)絡(luò)的層數(shù),Sl為第l層的單元數(shù)目。
稀疏降噪自動編碼器(Sparse Denoising Autoencoder,SDAE)的損失函數(shù)表示為:
顧名思義,堆疊降噪稀疏自動編碼器是通過將兩個稀疏降噪自動編碼器組合生成,前一層稀疏降噪自動編碼器的隱含層作為下層稀疏降噪自動編碼器的輸入,圖3 為基于堆疊降噪稀疏自編碼器的預(yù)測結(jié)構(gòu)。它通過逐層的編碼,提取數(shù)據(jù)的深層特征,在處理具有復(fù)雜非線性相關(guān)性的高維數(shù)據(jù)時,能夠?qū)崿F(xiàn)特征的逐步抽象,最終得到更加有用的特征[7]。
圖3 基于堆疊降噪稀疏自編碼器的預(yù)測結(jié)構(gòu)
結(jié)構(gòu)網(wǎng)絡(luò)的預(yù)訓練過程采用無監(jiān)督逐層貪婪訓練算法,每次只訓練一個隱含層,此層自動編碼器優(yōu)化后再開始訓練下一層,直至訓練完最后一個隱藏層,以此來獲取所有層在深度神經(jīng)網(wǎng)絡(luò)中最佳的初始權(quán)重,再將最后一個隱藏層的特征輸入到Elman神經(jīng)網(wǎng)絡(luò)采用梯度下降法進行有監(jiān)督訓練。預(yù)訓練完成后,進入微調(diào)階段,利用有監(jiān)督訓練的方式調(diào)整模型網(wǎng)絡(luò)的權(quán)重。堆疊稀疏降噪自動編碼器是運用無監(jiān)督降維提取特征的方法,而Elman 神經(jīng)網(wǎng)絡(luò)是一種有監(jiān)督的學習算法,將兩者結(jié)合后的預(yù)測模型能夠有效預(yù)測風電功率數(shù)據(jù)。
算例分析部分采用中國某地區(qū)的15 個風電場群,以各風電場全年8760 h 的實測功率樣本數(shù)據(jù)為分析對象進行未來1 h 的超短期功率預(yù)測。樣本分為兩部分:訓練集為對樣本隨機選擇80%,剩余20%樣本作為測試集。
為便于網(wǎng)絡(luò)學習與訓練,同時,能夠消除量綱引起的學習不收斂現(xiàn)象,先對輸入功率數(shù)據(jù)歸一化,過程為:
從預(yù)測精度來驗證所提方法的應(yīng)用效果,將SSDAE 模型與AE、SAE 兩種常用降維方法和Elman網(wǎng)絡(luò)結(jié)合后的預(yù)測模型對比,并分析稀疏化、獨立性對降維特征獨立性和降維結(jié)果合理性的改善作用。所有程序用Matlab2019a 編寫,在Intel(R)Core(TM)i7CPU@2.30 GHz 計算機運行,預(yù)測結(jié)果取10次試驗的平均值。表1為網(wǎng)絡(luò)參數(shù)設(shè)置。
表1 網(wǎng)絡(luò)參數(shù)設(shè)置
評價指標采用均方根誤差RMSE 和平均絕對百分誤差MAPE評價預(yù)測精度。
式中,xN為風電場的額定功率。
表2分別給出了多風季與少風季五種模型對18座風電場功率預(yù)測結(jié)果的誤差統(tǒng)計值和預(yù)測時間。圖4為兩季各風電場預(yù)測結(jié)果的平均絕對百分比誤差XMAPE對比圖。
在預(yù)測精度方面,在圖4 和表2 所示信息中可以看出將本文SSDAE 模型與AE 和SAE 兩種模型對比,SSDAE 的平均MAPE 比AE 和SAE 分別降低了3.51%和2.18%。同時,平均RMSE 分別降低了32.8%和19.8%。與此同時,本文方法的MAPE 和RMSE 的最大最小值也都低于兩種對比模型。因此,本文方法能夠獲得更高的預(yù)測精度。
圖4 15座風電場的MAPE誤差對比
表2 15座風電場風電功率預(yù)測誤差對比
圖5 所示為在SSDAE 基礎(chǔ)上分別去除稀疏性、降噪性以及將稀疏和降噪性都去除之后的模型的MAPE誤差的對比。
圖5 消融試驗MAPE誤差對比
從圖5 可以看出本文SSDAE 預(yù)測模型的平均MAPE 誤差相比于消融試驗的其他模型的平均MAPE誤差最低。并且可以看出稀疏性對模型的影響效果更大一些。在分別去除稀疏性、降噪性以及全部去除稀疏性和降噪性的三種情況下,預(yù)測模型的平均MAPE 分別降低了1.35%,1.76%和2.18%。綜上,在SAE 中引入稀疏性和降噪性,能夠有效提高多風電場功率預(yù)測精度。
為提高提取特征的可靠性和魯棒性,以及進一步提高風電場功率超短期預(yù)測的準確性,提出一種基于堆疊稀疏降噪自動編碼器的風電場超短期預(yù)測方法。算例分析結(jié)果表明,本方法通過引入稀疏性約束和降噪技術(shù)改進自動編碼器,使編碼器能夠?qū)︼L電功率數(shù)據(jù)進行深度特征提取,學習到的特征表達具備較強的魯棒性,同時,有效提高風電功率的預(yù)測精度。相比于其他兩種風功率預(yù)測模型,堆疊稀疏降噪自動編碼器的風電場超短期預(yù)測方法精確度更高。由于本文只利用風電數(shù)據(jù),存在一定的局限性,后續(xù)研究可加入氣象信息等因素來進一步提高預(yù)測的精確度。