趙 鵬,涂菁菁*,鄒偉東
(1.中國(guó)能源建設(shè)集團(tuán)投資有限公司,北京 100022;2.北京理工大學(xué),北京 100081)
近年來(lái),中國(guó)可再生能源發(fā)展迅速、能源結(jié)構(gòu)向低碳化轉(zhuǎn)型的需求迫切,以風(fēng)光水火儲(chǔ)一體化等多種能源相互結(jié)合為主體的新型電力系統(tǒng)將成為實(shí)現(xiàn)碳達(dá)峰、碳中和目標(biāo)的重要途徑[1-3]。發(fā)電系統(tǒng)中的風(fēng)功率預(yù)測(cè)在解決電力系統(tǒng)供需平衡問(wèn)題方面起到重要作用,特別是短期風(fēng)功率預(yù)測(cè),在新能源并網(wǎng)、電網(wǎng)運(yùn)行調(diào)度及電力市場(chǎng)輔助服務(wù)等方面將發(fā)揮更大作用[4-6]。
風(fēng)功率預(yù)測(cè)技術(shù)研究?jī)?nèi)容主要包括數(shù)值天氣預(yù)報(bào)、風(fēng)功率轉(zhuǎn)換模型、預(yù)測(cè)功能應(yīng)用及預(yù)測(cè)性能評(píng)價(jià),研究方法包括統(tǒng)計(jì)方法和物理方法兩大類[7-8]。其中,統(tǒng)計(jì)方法又可分為時(shí)間序列法、人工神經(jīng)網(wǎng)絡(luò)法、機(jī)器學(xué)習(xí)法及小波分析法等。比如:文獻(xiàn)[9]以風(fēng)電場(chǎng)的歷史數(shù)據(jù)為基礎(chǔ),利用主成分分析法對(duì)天氣預(yù)報(bào)數(shù)據(jù)進(jìn)行降維,運(yùn)用人工神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取和數(shù)據(jù)擬合,從而建立風(fēng)功率預(yù)測(cè)模型;文獻(xiàn)[10]基于主成分分析法提取風(fēng)功率序列的主成分,對(duì)風(fēng)速信息進(jìn)行譜聚類,以實(shí)現(xiàn)樣本信息降維;文獻(xiàn)[11]通過(guò)對(duì)原始信號(hào)按頻率進(jìn)行分解重組,并檢測(cè)熵值對(duì)異常分量進(jìn)行剔除,然后建立核極限學(xué)習(xí)機(jī)(kernel extreme learning machine,KELM)模型進(jìn)行短期風(fēng)功率預(yù)測(cè)。上述各類風(fēng)功率預(yù)測(cè)方法通過(guò)不同的數(shù)據(jù)處理方法來(lái)提高樣本數(shù)據(jù)的質(zhì)量,從而達(dá)到提高風(fēng)功率預(yù)測(cè)精度的目的。但上述預(yù)測(cè)方容易引入新的參數(shù),參數(shù)的設(shè)置對(duì)模型預(yù)測(cè)精度有不同程度的影響。
為了更好地提高風(fēng)功率的預(yù)測(cè)精度,常利用粒子群優(yōu)化(particle swarm optimization,PSO)算法、遺傳算法、隨機(jī)森林算法等對(duì)支持向量機(jī)(support vector machine,SVM)、KELM 等人工智能(artificial intelligence,AI)算法進(jìn)行參數(shù)尋優(yōu)。比如:文獻(xiàn)[12]通過(guò)PSO 優(yōu)化KELM 的正則化系數(shù)和核參數(shù),從而提出了一種基于粒子群優(yōu)化核極限學(xué)習(xí)機(jī)(particle swarm optimization kernel extreme learning machine,PSOKELM)的風(fēng)功率預(yù)測(cè)方法。文獻(xiàn)[13]通過(guò)引入改進(jìn)自適應(yīng)遺傳算法對(duì)BP 參數(shù)進(jìn)行尋優(yōu),建立基于小波變換的改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)風(fēng)功率組合預(yù)測(cè)模型。文獻(xiàn)[14]通過(guò)改進(jìn)螢火蟲(chóng)算法對(duì)最小二乘支持向量機(jī)(least square support vector machine,LSSVM)參數(shù)進(jìn)行尋優(yōu),以降低LSSVM 參數(shù)選擇的盲目性。但上述用于優(yōu)化參數(shù)的算法存在訓(xùn)練速度慢、耗時(shí)長(zhǎng)、參數(shù)設(shè)置復(fù)雜等[15]問(wèn)題。
近年來(lái),風(fēng)功率預(yù)測(cè)逐漸由機(jī)器學(xué)習(xí)向深度學(xué)習(xí)發(fā)展,但深度學(xué)習(xí)自身特點(diǎn)決定了所建立的模型通常具有多層網(wǎng)絡(luò)結(jié)構(gòu),并且需要大量數(shù)據(jù)進(jìn)行訓(xùn)練,對(duì)訓(xùn)練樣本質(zhì)量和仿真計(jì)算硬件條件要求較高,更適合進(jìn)行中長(zhǎng)期風(fēng)功率預(yù)測(cè)。而共軛梯度(conjugate gradient,CG)法計(jì)算速度快、穩(wěn)步收斂性好,參數(shù)設(shè)置簡(jiǎn)單。KELM 學(xué)習(xí)速度快,能夠避免陷入局部最優(yōu),泛化能力強(qiáng)[16-17]。在短期和超短期風(fēng)功率預(yù)測(cè)方面,能夠同時(shí)滿足對(duì)預(yù)測(cè)精度和訓(xùn)練時(shí)間的要求。
因而,針對(duì)短時(shí)風(fēng)功率預(yù)測(cè)應(yīng)用場(chǎng)景,本文提出一種基于共軛梯度核極限學(xué)習(xí)機(jī)(Conjugate gradient kernel extreme learning machine,
CGKELM)的風(fēng)功率預(yù)測(cè)方法。該方法利用CG法優(yōu)化KELM 的輸出權(quán)重,以風(fēng)速作為輸入、風(fēng)功率作為輸出,分別建立訓(xùn)練樣本和測(cè)試樣本,進(jìn)行風(fēng)功率預(yù)測(cè)。采用均方根誤差(RMSE)、相對(duì)標(biāo)準(zhǔn)差(RSD)作為預(yù)測(cè)精度評(píng)價(jià)指標(biāo)。利用某風(fēng)電場(chǎng)實(shí)測(cè)數(shù)據(jù)進(jìn)行仿真,并將預(yù)測(cè)結(jié)果分別與BP神經(jīng)網(wǎng)絡(luò)、LSSVM、KELM 和PSOKELM 的預(yù)測(cè)結(jié)果進(jìn)行比較,從而證明CGKELM 的有效性。
梯度法又稱最速下降法[18],其優(yōu)化思路是將當(dāng)前位置的最快下降方向作為搜索方向,即當(dāng)前位置的負(fù)梯度方向。本文采用的CG 法是梯度法[19]的一種,該方法是求解正定系數(shù)矩陣線性方程式(1)的一種迭代方法,而求解方程式(1)本質(zhì)上是求二次函數(shù)(式(2))的極小值,即相當(dāng)于求解無(wú)約束的凸二次優(yōu)化問(wèn)題(式(3))。CG法通過(guò)對(duì)當(dāng)前點(diǎn)的負(fù)梯度方向和前面搜索方向進(jìn)行共軛化,從而產(chǎn)生當(dāng)前點(diǎn)的搜索方向。
式中:A為系數(shù)矩陣;b為矩陣和向量的乘積;x為變量的向量;t為轉(zhuǎn)置。
變量的向量的其迭代式為:
式中:k為迭代次數(shù);dk為搜索方向;αk為迭代步長(zhǎng),表示為:
式中:gk為第k次迭代的梯度。
本文采用FR[20]CG 法,從而有:
式中:ηkFR為修正項(xiàng)系數(shù),記為:
與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比,KELM 通過(guò)核函數(shù)實(shí)現(xiàn)一種穩(wěn)定的核映射,非線性擬合能力更強(qiáng),能夠保證在獲得更好或相似的預(yù)測(cè)準(zhǔn)確度的前提下,實(shí)現(xiàn)更快的數(shù)據(jù)處理速度[21-22]。對(duì)于任意給定的N個(gè)樣本數(shù)量有:
式中:H為網(wǎng)絡(luò)隱含層輸出矩陣;β為連接隱含層和輸出神經(jīng)元之間的權(quán)重向量;T為樣本對(duì)應(yīng)的輸出矩陣。
CGKELM 是一種單隱含層前饋神經(jīng)網(wǎng)絡(luò),文中利用CG 法去優(yōu)化隱含層與輸出層連接權(quán)重向量,從而進(jìn)行優(yōu)化求解,建立從風(fēng)速到風(fēng)功率的非線性映射。因而,連接隱含層和輸出神經(jīng)元之間的權(quán)重向量的公式更新為:
KELM 的網(wǎng)絡(luò)訓(xùn)練輸出O可表示為:
網(wǎng)絡(luò)訓(xùn)練輸出到樣本對(duì)就的輸出矩陣T的誤差ε的函數(shù)可表示為:
式中:tr為矩陣的跡。
CGKELM 算法流程,如圖1 所示。
圖1 CGKELM 算法流程圖Fig.1 Flowchart of CGKELM algorithm
以某50 MW 風(fēng)電場(chǎng)的實(shí)測(cè)數(shù)據(jù)為例,分別對(duì)單點(diǎn)位和整場(chǎng)風(fēng)電機(jī)組數(shù)據(jù)進(jìn)行風(fēng)功率預(yù)測(cè),不同方案下的樣本數(shù)量如表1 所示。單點(diǎn)位方式時(shí),從風(fēng)電場(chǎng)中隨機(jī)選擇3 臺(tái)額定功率為2 MW的風(fēng)電機(jī)組,采樣時(shí)間間隔為15 min,利用前3天的歷史數(shù)據(jù)作為訓(xùn)練樣本,對(duì)模型進(jìn)行訓(xùn)練,對(duì)第4 天的風(fēng)功率進(jìn)行預(yù)測(cè)。采用整場(chǎng)方式時(shí),則是選取整個(gè)風(fēng)電場(chǎng)的全部25 臺(tái)風(fēng)電機(jī)組數(shù)據(jù)用于訓(xùn)練和測(cè)試。
實(shí)驗(yàn)數(shù)據(jù)采用RMSE 和RSD 進(jìn)行預(yù)測(cè)精度評(píng)估。均方根誤差的計(jì)算式為:
式中:eRMS為RMSE;N為樣本數(shù)量;y(i)為實(shí)測(cè)平均值;y*(i)為預(yù)測(cè)平均值。
RMSE 值越小,說(shuō)明預(yù)測(cè)精度越高。
相對(duì)標(biāo)準(zhǔn)差的計(jì)算式為:
式中:dRSD為RSD;分子分母均是標(biāo)準(zhǔn)差形式;為預(yù)測(cè)值的平均值。
RSD 值越接近1,說(shuō)明預(yù)測(cè)精度越高。
兩種方案下,分別根據(jù)不同樣本量對(duì)所提出的CGKELM 模型及其他模型進(jìn)行訓(xùn)練,得到兩組仿真結(jié)果,分別如表2 和表3 所示。
表2 采用方案1 時(shí)得到的仿真結(jié)果Table 2 Simulation results are obtained by using scheme 1
表3 采用方案2 時(shí)得到的仿真結(jié)果Table 3 Simulation results are obtained by using scheme 2
通過(guò)分析表2、表3 可以發(fā)現(xiàn):CGKELM在訓(xùn)練時(shí)間方面具有優(yōu)勢(shì),PSOKELM 和BP 神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)精度方面效果更好。當(dāng)樣本量比較小時(shí)(方案1),CGKELM 的訓(xùn)練時(shí)間分別比BP神經(jīng)網(wǎng)絡(luò)和LSSVM 方法快95%和35%;當(dāng)樣本量增大時(shí)(方案2),CGKELM 的訓(xùn)練時(shí)間分別比BP 神經(jīng)網(wǎng)絡(luò)和LSSVM 快59%和75%,且其此時(shí)的預(yù)測(cè)精度與BP 神經(jīng)網(wǎng)絡(luò)的接近。
另外,采用方案1 時(shí),PSOKELM 的訓(xùn)練時(shí)間長(zhǎng)達(dá)12.5 min;采用方案2 時(shí),該模型的訓(xùn)練時(shí)間長(zhǎng)達(dá)10.5 h。這主要是因?yàn)橐肓薖SO 優(yōu)化KELM 的參數(shù),導(dǎo)致訓(xùn)練時(shí)間過(guò)長(zhǎng)。
為了方便對(duì)比分別依據(jù)表2、表3繪制柱狀圖,兩種方案下不同方法的訓(xùn)練時(shí)間柱狀圖分別如圖2、圖3 所示。由圖可知,CGKELM 訓(xùn)練時(shí)間最短。當(dāng)樣本量由方案1 增至方案2,BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間增加了6.3 s,LSSVM 增加了13.9 s。
圖2 采用方案1 時(shí)各種方法的訓(xùn)練時(shí)間Fig.2 Training time of various methods with scheme 1
圖3 采用方案2 時(shí)各種方法的訓(xùn)練時(shí)間Fig.3 Training time of various methods with scheme 2
將兩種方案下采用不同方法時(shí)得到的RMSE和RSD 值繪制成柱狀圖,分別如圖4、圖5 所示。根據(jù)誤差的定義,均方根誤差值越小,相對(duì)標(biāo)準(zhǔn)差的值越接近1,表示預(yù)測(cè)效果越好。
圖4 采用方案1 時(shí)得到的RMSE 和RSD 值Fig.4 Volues of RMSE and RSD obtained by scheme 1 is adopted
圖5 采用方案2 時(shí)得到的RMSE 和RSD 值Fig.5 Volues of RMSE and RSD obtained by scheme 2 is adopted
由圖4、圖5 可知:CGKELM、BP 神經(jīng)網(wǎng)絡(luò)、KELM 和PSOKELM 的均方根誤差值基本一致,LSSVM 的值最大。PSOKELM 和BP 神經(jīng)網(wǎng)絡(luò)的RSD 值最接近1,CGKELM 和KELM 的次之,LSSVM 的RSD 值大于1.5。
綜合比較后發(fā)現(xiàn)PSOKELM 和BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果更好,CGKELM 和KELM 的次之,LSSVM 的預(yù)測(cè)效果一般。為了進(jìn)一步驗(yàn)證預(yù)測(cè)效果,采用方案1 和方案2 的風(fēng)功率預(yù)測(cè)值和實(shí)測(cè)值對(duì)比曲線別分如圖6、圖7 所示。從圖中實(shí)測(cè)值和預(yù)測(cè)值的曲線擬合程度可以看出:預(yù)測(cè)效果與上述誤差分析結(jié)果一致。
圖7 采用方案2 時(shí),不同方法得到的風(fēng)功率預(yù)測(cè)值與實(shí)測(cè)值對(duì)比曲線Fig.7 Comparison curves between predicted and measured wind power obtained by different method in scheme 2
綜上可知,采用CGKELM 方法,能夠在滿足預(yù)測(cè)精度的前提下,實(shí)現(xiàn)風(fēng)功率預(yù)測(cè),并通過(guò)仿真說(shuō)明了CGKELM 方法的有效性。
本文針對(duì)短期風(fēng)功率預(yù)測(cè)對(duì)訓(xùn)練時(shí)間和預(yù)測(cè)精度均有較高要求的問(wèn)題,提出了一種利用CGKELM 預(yù)測(cè)風(fēng)功率的方法,并以某風(fēng)電場(chǎng)為例,將其實(shí)測(cè)數(shù)據(jù)與通過(guò)BP 神經(jīng)網(wǎng)絡(luò)、最小二乘支持向量機(jī)和其他核極限學(xué)習(xí)機(jī)方法得到的預(yù)測(cè)數(shù)據(jù)進(jìn)行了對(duì)比,以RMSE 和RSD 作為評(píng)價(jià)指標(biāo),得到以下結(jié)論:
1)根據(jù)RMSE 和RSD 的誤差分析,綜合考慮訓(xùn)練時(shí)間、參數(shù)設(shè)置等方面,通過(guò)CG 法進(jìn)行風(fēng)功率預(yù)測(cè)具有可行性;
2)利用CG 法優(yōu)化KELM 的輸出權(quán)重,提高了模型處理訓(xùn)練樣本的速度,適合進(jìn)行短期風(fēng)功率預(yù)測(cè),預(yù)測(cè)精度能夠滿足工程應(yīng)用需要;
3)相較于BP 神經(jīng)網(wǎng)絡(luò)和LSSVM 需要根據(jù)經(jīng)驗(yàn)對(duì)參數(shù)進(jìn)行設(shè)置的問(wèn)題,CG 法基本不需要進(jìn)行參數(shù)設(shè)置,對(duì)樣本數(shù)據(jù)泛化性更好。
在后續(xù)研究中,結(jié)合目前風(fēng)功率預(yù)測(cè)逐漸由機(jī)器學(xué)習(xí)向深度學(xué)習(xí)發(fā)展的趨勢(shì),將進(jìn)一步研究在保證訓(xùn)練時(shí)間前提下,如何提高風(fēng)功率預(yù)測(cè)精度,使之不僅能夠用于短期風(fēng)功率預(yù)測(cè),也能夠進(jìn)行更大規(guī)模的中長(zhǎng)期風(fēng)功率預(yù)測(cè)。