徐 揚 張紫濤
基于遺傳模擬退火算法改進BP神經(jīng)網(wǎng)絡(luò)的中長期電力負(fù)荷預(yù)測
徐 揚 張紫濤
(河海大學(xué)能源與電氣學(xué)院,南京 211100)
針對目前中長期負(fù)荷預(yù)測方法中存在過擬合、預(yù)測精度和效率較低等問題,本文提出一種基于遺傳模擬退火算法(GSA)改進BP神經(jīng)網(wǎng)絡(luò)的中長期電力負(fù)荷預(yù)測模型,即BP-GSA模型。首先建立標(biāo)準(zhǔn)三層神經(jīng)網(wǎng)絡(luò),即輸入層、隱藏層和輸出層,選擇國民生產(chǎn)總值、第二產(chǎn)業(yè)生產(chǎn)總值、市區(qū)常駐人口及月平均溫度四個影響因子作為輸入變量,月度負(fù)荷為輸出變量。其次利用遺傳模擬退火算法不斷修正網(wǎng)絡(luò)節(jié)點連接權(quán)值,以最優(yōu)適應(yīng)度為標(biāo)準(zhǔn),確定最優(yōu)網(wǎng)絡(luò)節(jié)點連接權(quán)值分布。最后,代入權(quán)值最優(yōu)解,通過訓(xùn)練樣本數(shù)據(jù),獲取最小方均差預(yù)測模型。分別應(yīng)用本文提出的BP-GSA模型及其他四種傳統(tǒng)方法,對某市2020年月度負(fù)荷進行預(yù)測。誤差分析表明,BP-GSA模型預(yù)測精度最高。隨后將BP-GSA模型分別應(yīng)用于不同年份的月度負(fù)荷預(yù)測,預(yù)測結(jié)果表明其誤差穩(wěn)定,證明了模型的魯棒性。
負(fù)荷預(yù)測;遺傳算法;模擬退火;BP神經(jīng)網(wǎng)絡(luò)
隨著負(fù)荷種類的多樣化和我國電力市場的逐漸完善,負(fù)荷預(yù)測成為電力調(diào)度的重要一環(huán)。負(fù)荷預(yù)測主要分為長期、中期和短期預(yù)測三大類。對于全社會而言,由于GDP增長情況與全社會用電量變化趨勢基本保持一致,因此中長期負(fù)荷預(yù)測尤為重要。但是中長期負(fù)荷預(yù)測所需數(shù)據(jù)集較大、時間跨度較長,不確定影響因素多[1]。傳統(tǒng)的中長期電力負(fù)荷預(yù)測模型(例如時間序列模型[2],多回歸分析模 型[3-5],累積平均氣溫模型[6])過于簡單,無法準(zhǔn)確模擬中長期電力負(fù)荷的階段性特征。
近年來,由于深度學(xué)習(xí)算法在處理非線性因素時具有良好的性能,因此被廣泛應(yīng)用于中長期負(fù)荷預(yù)測。文獻[7]通過構(gòu)建多變量灰色遺傳的中長期負(fù)荷預(yù)測模型,顯著提高預(yù)測精度;文獻[8]基于大數(shù)據(jù)聚類方法進行了中長期負(fù)荷預(yù)測,有效避免復(fù)雜的調(diào)參過程,提高了預(yù)測效率;采用Dempster合成法則和Yager組合規(guī)則,文獻[9]提出一種基于改進的證據(jù)理論的中長期負(fù)荷預(yù)測方法。
上述文獻所提出的負(fù)荷預(yù)測方法均為單一結(jié)構(gòu)模型,預(yù)測能力有限,準(zhǔn)確性仍有待提高,因此組合預(yù)測模型得到廣泛應(yīng)用。文獻[10]將灰色Verhulst模型與等維新息灰色理論線性組合,充分發(fā)揮了灰色Verhulst模型所需數(shù)據(jù)少、不受特定負(fù)荷數(shù)據(jù)及等維新息灰色理論影響的優(yōu)勢;但是該模型針對不同數(shù)據(jù)樣本的結(jié)果波動較大,魯棒性有待提高。文獻[11]提出了一種基于數(shù)據(jù)分組處理方法來優(yōu)化粒子群算法-最小二乘支持向量機(particle swarm optimization-least squares support vector machine, PSO-LSSVM)的中長期電力負(fù)荷預(yù)測模型,由于核函數(shù)的選取直接影響支持向量機性能優(yōu)劣,而目前有關(guān)核函數(shù)及其參數(shù)選取的相關(guān)文獻較少,因此該方法具有一定的隨機性。文獻[12]基于馬爾科夫-云模型,提出了一種預(yù)測模型篩選與變權(quán)重組合預(yù)測的方法,兼顧了負(fù)荷預(yù)測的效率和精度,但是在處理噪聲數(shù)據(jù)時,該模型性能較差。文獻[13]提出一種組合殘差與修正的BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network, BPNN)模型,擬合精度和可靠性均得到提高,但是文章中沒有直接的方法指導(dǎo)神經(jīng)網(wǎng)絡(luò)的開發(fā),其結(jié)構(gòu)主要由重復(fù)的試驗決定,需要更多的訓(xùn)練時間。此外,上述模型均沒有考慮預(yù)測過程中的過擬合問題,實際預(yù)測性能有待提高。
因此,針對上述問題,本文提出一種基于遺傳模擬退火算法改進BP神經(jīng)網(wǎng)絡(luò)(BP neural network improved by genetic simulated annealing algorithm, BP-GSA)的中長期電力負(fù)荷預(yù)測模型。該模型選擇大規(guī)模歷史數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集,并通過遺傳模擬退火算法修正神經(jīng)網(wǎng)絡(luò)節(jié)點的連接權(quán)值。由于該修正具有試探性,因此網(wǎng)絡(luò)在訓(xùn)練過程中可以避免陷入極小值點,解決了現(xiàn)階段中長期負(fù)荷預(yù)測模型存在的過擬合問題。實際算例表明,BP-GSA模型避免了復(fù)雜的參數(shù)設(shè)置,在預(yù)測精度和預(yù)測效率方面,均優(yōu)于其他方法,且具有良好的魯棒性。
標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)由誤差反向傳播算法訓(xùn)練而成,是一種三層前饋網(wǎng)絡(luò),即輸入層、隱藏層和輸出層,標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)拓?fù)淙鐖D1所示。BP神經(jīng)網(wǎng)絡(luò)通過監(jiān)督學(xué)習(xí)方法進行訓(xùn)練,該學(xué)習(xí)方法包括信號的正向傳播和誤差的反向傳播。在正向傳播過程中,如果輸出層的信息不符合預(yù)期,則通過隱藏層將輸入信息傳輸?shù)捷敵鰧?,然后進入反向傳播過程,即期望輸出和實際輸出之間的誤差從輸出層進入隱藏層,并經(jīng)過連接節(jié)點權(quán)重和閾值的不斷修改而減少。重復(fù)此過程,以使整個網(wǎng)絡(luò)朝誤差減少的方向更正,直到將誤差減少到目標(biāo)值為止。
圖1 標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)拓?fù)?/p>
遺傳算法(genetic algorithm, GA)是一種由自然進化過程衍生出來的算法,并成為一種基于生物學(xué)的杰出隨機搜索技術(shù)。GA首先從一組初始的隨機解決方案開始,將每一個目標(biāo)編碼為一條染色體,代表問題的解。在連續(xù)迭代過程中,染色體不斷進化,并基于適應(yīng)度的標(biāo)準(zhǔn)來評判該染色體是否為最優(yōu)解。其后代是通過使用交叉算子將當(dāng)前一代的兩個染色體合并或使用突變算子對染色體修飾而形成。
模擬退火(simulated annealing, SA)算法靈感來自于溫度變化的過程,該過程導(dǎo)致固體加熱和冷卻后能量發(fā)生變化。SA具有很強的局部搜索能力。根據(jù)Metropolis標(biāo)準(zhǔn)的概率規(guī)則,可以接受目標(biāo)函數(shù)的增加。該標(biāo)準(zhǔn)依賴控制參數(shù),類似于物理退火,因此被稱為系統(tǒng)溫度。SA在溫度不斷下降過程中通過重復(fù)采樣,得到問題的全局最優(yōu)解。
遺傳模擬退火(genetic simulated annealing, GSA)算法以提高效率為目的,將上述兩種算法相組合。GSA算法既保留了遺傳算法全局搜索的優(yōu)點,又結(jié)合了模擬退火算法局部搜索的長處。GSA算法本質(zhì)上是從一組隨機產(chǎn)生的初始解開始,進行最優(yōu)解搜索[14]。首先基于一系列遺傳操作產(chǎn)生一組新的個體,然后引入SA過程進行修正,該過程類似于隨機梯度下降法,最后將退火結(jié)果作為新個體。
式中:x為輸入層樣本數(shù)據(jù);net, net分別為隱藏層第個節(jié)點和輸出層第個節(jié)點的凈輸入;θ、δ分別為隱藏層第個節(jié)點和輸出層第個節(jié)點的閾值;(net)為sigmod函數(shù),即
誤差反向階段,誤差信號為
式中:為總誤差;d為樣本的期望輸出;o為神經(jīng)元的實際輸出。
權(quán)值修正量為
根據(jù)式(4)可知,由于權(quán)值的確定性,神經(jīng)網(wǎng)絡(luò)算法極值容易過早出現(xiàn),具有較低的局部搜索能力,但該算法的全局搜索能力很強。相反,遺傳模擬退火算法具有一定局部搜索能力,但必須經(jīng)過反復(fù)的退火操作才能進入最優(yōu)過程,因而運行效率不高。因此,若通過GSA對神經(jīng)網(wǎng)絡(luò)節(jié)點的權(quán)值進行修正,將大大提高運行效率和準(zhǔn)確度。對式(4)做出如下調(diào)整,有
此時,適應(yīng)度F的計算式為
基于遺傳模擬退火算法的BP神經(jīng)網(wǎng)絡(luò)模型主要分為網(wǎng)絡(luò)結(jié)構(gòu)確定、遺傳模擬退火算法優(yōu)化和神經(jīng)網(wǎng)絡(luò)預(yù)測三部分。BP-GSA算法流程框圖如圖2所示,具體步驟如下[15-16]:
1)初始化。確定BP神經(jīng)網(wǎng)絡(luò)輸入層、隱藏層和輸出層的節(jié)點數(shù)及退火初始溫度、退火次數(shù)、種群規(guī)模、交叉概率、變異概率相關(guān)參數(shù)初始值。
2)二進制編碼。對網(wǎng)絡(luò)權(quán)值進行二進制編碼。使用一組二進制數(shù)表示一組網(wǎng)絡(luò)權(quán)值分布,即個體。
3)產(chǎn)生新個體。采用選擇、交叉、變異一系列操作,產(chǎn)生新的網(wǎng)絡(luò)權(quán)值分布,即新個體。
4)模擬退火。按照Metropolis概率標(biāo)準(zhǔn)剔除一部分新個體。
5)適應(yīng)度判斷。按照式(8)計算新個體適應(yīng)度。判斷是否滿足適應(yīng)度要求,不滿足轉(zhuǎn)3)。
6)訓(xùn)練。代入最佳節(jié)點權(quán)值,訓(xùn)練樣本數(shù)據(jù)。
7)計算訓(xùn)練結(jié)果方均差(mean squared error, MSE),判斷是否滿足誤差允許范圍,不滿足轉(zhuǎn)6)。
圖2 BP-GSA算法流程框圖
為驗證BP-GSA模型預(yù)測效果,本文以某市2001年1月至2019年12月的月度負(fù)荷數(shù)據(jù)為網(wǎng)絡(luò)輸出變量,以國民生產(chǎn)總值(GDP)、第二產(chǎn)業(yè)生產(chǎn)總值(GDP2)、市區(qū)常駐人口(POP)及月平均溫度(TEM)四個影響因子作為輸入變量,建立了算例仿真模型。既考慮到樣本代表性、均衡性和用電負(fù)荷的自身特點,避免維數(shù)過多、信息量過剩,又注意到中長期電力負(fù)荷變化趨勢與社會生產(chǎn)發(fā)展、氣候環(huán)境緊密相關(guān)。另外,經(jīng)過計算可知,該地區(qū)每月工業(yè)負(fù)荷比重均在70%以上,部分月份達到80%。因此該市負(fù)荷變化趨勢主要受工業(yè)負(fù)荷影響,總體相對平穩(wěn)。
上述GDP和GDP2均為季度數(shù)據(jù),因此,為了與月度負(fù)荷數(shù)據(jù)匹配,通過式(9)計算月平均數(shù)值代入模型。
式中:GDPqua和GDP2qua分別為每季度國民生產(chǎn)總值和第二產(chǎn)業(yè)生產(chǎn)總值;GDPmon和GDP2mon分別為該季度每月平均國民生產(chǎn)總值和第二產(chǎn)業(yè)生產(chǎn)總值。
1)BP-GSA模型預(yù)測
表1 BP-GSA模型參數(shù)
本文設(shè)計的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 本文設(shè)計的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
根據(jù)圖3及表1,利用Matlab編寫B(tài)P-GSA算法。在確定網(wǎng)絡(luò)節(jié)點最佳權(quán)值后,本文分別采用萊文貝格-馬夸特方法(Levenberg-Marquardt, LM)、貝葉斯正則化方法和量化共軛梯度法進行訓(xùn)練,最終LM訓(xùn)練所得結(jié)果的MSE最小,運算速度較快,LM訓(xùn)練結(jié)果如圖4所示。
圖4 LM訓(xùn)練結(jié)果
根據(jù)圖4可得,模型在第53個訓(xùn)練周期后停止,而最佳的驗證性能則出現(xiàn)在第47個訓(xùn)練周期,此時神經(jīng)網(wǎng)絡(luò)模型MSE達到最小值,所以該網(wǎng)絡(luò)為最佳模型。為檢驗擬合效果,本文將訓(xùn)練集、驗證集和測試集的輸出結(jié)果與目標(biāo)值進行回歸,回歸結(jié)果如圖5所示。
圖5 回歸結(jié)果
圖5中,目標(biāo)值和輸出值之間的關(guān)系通過相關(guān)系數(shù)進行評價。如果越接近于1,則模型的預(yù)測能力越好。根據(jù)圖5,相關(guān)系數(shù)均大于0.99,表明該訓(xùn)練所得模型具有良好的預(yù)測能力。將最佳訓(xùn)練模型作為最終的預(yù)測模型,對2020年每月用電量進行預(yù)測,結(jié)果如圖6所示。
2)傳統(tǒng)模型預(yù)測
為驗證BP-GSA預(yù)測模型較其他模型的優(yōu)越性,本文利用極限學(xué)習(xí)機(extreme learning machine, ELM)、支持向量機(support vector machine, SVM)、BP神經(jīng)網(wǎng)絡(luò)和小波神經(jīng)網(wǎng)絡(luò)(wavelet neural network, WNN)四種傳統(tǒng)方法對該市負(fù)荷進行預(yù)測,傳統(tǒng)模型預(yù)測結(jié)果如圖7所示。
圖6 BP-GSA模型預(yù)測結(jié)果
圖7 傳統(tǒng)模型預(yù)測結(jié)果
作出BP-GSA模型和上述四個傳統(tǒng)模型的誤差曲線,如圖8所示。
圖8 誤差曲線
由圖6~圖8可知,BP-GSA模型得到的預(yù)測值最接近原始值,預(yù)測曲線幾乎與原始負(fù)荷曲線重合,且誤差曲線在零值附近小幅波動,誤差最小。此外,觀察圖6可得,2020年除3月、7月及8月個別月份外,月度負(fù)荷實際值均低于BP-GSA模型所得預(yù)測值,考慮到該市高比例工業(yè)負(fù)荷的實際情況及2020年工業(yè)發(fā)展受疫情沖擊的突發(fā)狀況,說明負(fù)荷實際變化趨勢還受現(xiàn)實突發(fā)因素的影響。
進一步分析,該市2020年月度負(fù)荷預(yù)測結(jié)果見表2。根據(jù)表2及式(11)~式(14)分別求取最大誤差(maximum error, ME)、平均相對誤差(mean relative error, MRE)、平均絕對誤差(mean absolute error, MAE)、方均根誤差(root mean square error, RMSE)。
表2 2020年12個月預(yù)測值 單位:×109kW·h
式中:act,、pre,i分別為2020年第個月實際值和預(yù)測值;為預(yù)測樣本數(shù),本文表示12個月,即12。
誤差計算結(jié)果見表3。
表3 誤差計算結(jié)果一
分析表3數(shù)據(jù)可知,與其他模型相比,BP-GSA模型預(yù)測效果最佳,預(yù)測精度大幅度提高。經(jīng)過GSA算法改進后的BP神經(jīng)網(wǎng)絡(luò),能夠充分提取出負(fù)荷的變化特征,既包含不同年份、相同月份負(fù)荷的變化特征,又包含同一年份、不同月份負(fù)荷的變化特征。且由于GSA算法的優(yōu)化,BP神經(jīng)網(wǎng)絡(luò)在進行訓(xùn)練時,可以有效避免樣本數(shù)據(jù)中由于突發(fā)情況所造成的不正常數(shù)據(jù)的影響,大大提高預(yù)測結(jié)果的準(zhǔn)確性。
為檢驗BP-GSA模型的魯棒性,本文分別以2016年、2017年、2018年、2019年的月度負(fù)荷數(shù)據(jù)為測試集,2001年至預(yù)測年份前一年的負(fù)荷數(shù)據(jù)為訓(xùn)練集,通過該模型進行了預(yù)測,其誤差計算結(jié)果見表4。
表4 誤差計算結(jié)果二
由表3及表4可知,當(dāng)預(yù)測年份發(fā)生變化時,采用BP-GSA模型預(yù)測的月度負(fù)荷誤差基本相同,說明BP-GSA模型具有良好的魯棒性。
針對電力負(fù)荷預(yù)測中傳統(tǒng)預(yù)測模型的的局限性,本文提出了BP-GSA模型,具有如下優(yōu)點:
1)通過GSA算法修正網(wǎng)絡(luò)節(jié)點連接權(quán)值,避免網(wǎng)絡(luò)陷入極小值點,解決了現(xiàn)階段負(fù)荷預(yù)測模型所存在的過擬合問題。
2)實際算例表明,在預(yù)測精度及處理大規(guī)模樣本數(shù)據(jù)集的效率方面,BP-GSA模型均優(yōu)于其他方法,且避免了復(fù)雜參數(shù)設(shè)置,具有廣闊的發(fā)展和應(yīng)用前景。
3)通過對不同年份的月度負(fù)荷分別做出預(yù)測,模型預(yù)測結(jié)果與實際值的誤差保持穩(wěn)定,說明本文提出的BP-GSA模型具有良好的魯棒性。
此外,實際中長期負(fù)荷變化趨勢還受疫情等突發(fā)狀況的影響,在今后的研究中,可在BP-GSA模型中引入突發(fā)狀況影響因子,進一步提高中長期負(fù)荷預(yù)測的精度。
[1] 魏華棟, 陶媛, 蔡昌春, 等. 基于改進長短期記憶神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測[J]. 電測與儀表, 2020, 57(19): 93-98.
[2] 張帥, 楊晶顯, 劉繼春, 等. 基于多尺度時序建模與估計的電力負(fù)荷數(shù)據(jù)恢復(fù)[J]. 電工技術(shù)學(xué)報, 2020, 35(13): 2736-2746.
[3] 張敏, 錢霜秋, 吳仲麒, 等. 基于數(shù)據(jù)挖掘技術(shù)的中長期負(fù)荷預(yù)測方法[J]. 電氣技術(shù), 2021, 22(6): 43-48.
[4] 陳毅波, 鄭玲, 姚建剛. 基于粗糙集理論與D-S證據(jù)理論改進的多元回歸負(fù)荷預(yù)測方法研究[J]. 電力系統(tǒng)保護與控制, 2016, 44(6): 62-67.
[5] 李濱, 覃芳璐, 吳茵, 等. 基于模糊信息?;c多策略靈敏度的短期日負(fù)荷曲線預(yù)測[J]. 電工技術(shù)學(xué)報, 2017, 32(9): 149-159.
[6] 潘文虎, 夏友斌, 宋銘敏, 等. 基于累積平均氣溫模型的氣象負(fù)荷預(yù)測[J]. 電氣技術(shù), 2020, 21(4): 67-70.
[7] 陳先飛, 何山, 王杰, 等. 基于MGM(1, n, r)的主動配電網(wǎng)中長期負(fù)荷預(yù)測[J]. 太陽能學(xué)報, 2020, 41(2): 189-193.
[8] 徐源, 程潛善, 李陽, 等. 基于大數(shù)據(jù)聚類的電力系統(tǒng)中長期負(fù)荷預(yù)測[J]. 電力系統(tǒng)及其自動化學(xué)報, 2017, 29(8): 44-48.
[9] 吳耀武, 婁素華, 盧斯煜, 等. 基于改進的D-S證據(jù)理論的中長期負(fù)荷預(yù)測方法[J]. 電工技術(shù)學(xué)報, 2012, 27(8): 158-162.
[10] 林天祥, 張宇. 灰色Verhulst與等維新息組合模型在中長期負(fù)荷預(yù)測中的研究[J]. 電氣技術(shù), 2017, 18(3): 42-46.
[11] 龍金蓮, 盧家暄, 張玉. 基于GMDH-PSO-LSSVM中長期電力負(fù)荷預(yù)測[J]. 貴州大學(xué)學(xué)報(自然科學(xué)版), 2017, 34(6): 50-53.
[12] 尹星露, 肖先勇, 孫曉璐. 基于預(yù)測有效度和馬爾科夫-云模型的母線負(fù)荷預(yù)測模型篩選與變權(quán)重組合預(yù)測[J]. 電力自動化設(shè)備, 2015, 35(3): 114-119.
[13] 宋建, 束洪春, 董俊, 等. 基于GM(1, 1)與BP神經(jīng)網(wǎng)絡(luò)的綜合負(fù)荷預(yù)測[J]. 電力建設(shè), 2020, 41(5): 75-80.
[14] 蔣美云. 基于模擬退火算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型[J]. 軟件工程, 2018(7): 36-38.
[15] 郭彩杏, 郭曉金, 柏林江. 改進遺傳模擬退火算法優(yōu)化BP算法研究[J]. 小型微型計算機系統(tǒng), 2019, 40(10): 2063-2067.
[16] 張巨林. 基于模擬退火優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的變形監(jiān)測數(shù)據(jù)預(yù)測方法[J]. 測控技術(shù), 2020, 39(11): 57-62.
Medium and long-term power load forecasting based on BP neural network improved by genetic simulated annealing algorithm
XU Yang ZHANG Zitao
(College of Energy and Electric Engineering, Hohai University, Nanjing 211100)
Aiming at the problems of over-fitting, low accuracy and low efficiency in current medium and long-term load forecasting methods, a novel model, which is based on improved BP neural network (BP-GSA), is proposed. Firstly, a standard three-layer neural network including the input layer, the hidden layer and the output layer is established. The paper selects GDP, secondary industry GDP, urban resident population, monthly average temperature as input variables, and monthly load as the output variable. Secondly, the genetic simulated annealing algorithm is used to continuously modify the network node connection weights until the optimal network node connection weight distribution is achieved according to the optimal fitness standard. Finally, with the optimal solution of weights substituted, the paper obtains the model that has the minimum mean square error through the training of the data. The calculation example compares the BP-GSA model proposed in the paper with the other four types of traditional methods by predicting one city’s monthly load in 2020. The error analysis shows that the BP-GSA provides the best prediction. Then the model is applied to other different years. The error remains stable, which verifies the robustness of the algorithm.
load forecasting; genetic algorithm (GA); simulated annealing; BP neural network
2021-03-11
2021-03-28
徐 揚(1999—),男,江蘇省常州市人,本科,主要研究方向為電力系統(tǒng)及其自動化。