李超 姜明洋
摘? 要:風(fēng)速時間序列具有非線性和非平穩(wěn)性的特點,傳統(tǒng)的預(yù)測方法難以建立風(fēng)速間的函數(shù)關(guān)系,因此風(fēng)速時間序列的預(yù)測結(jié)果精度不高。人工神經(jīng)網(wǎng)絡(luò)所具有的強非線性擬合能力有效地解決了風(fēng)速時間序列難以預(yù)測的痛點,文章選擇Elman神經(jīng)網(wǎng)絡(luò)預(yù)測全國3個地區(qū)不同尺度的風(fēng)速時間序列,初步探討了神經(jīng)網(wǎng)絡(luò)風(fēng)速預(yù)測的可行性。結(jié)果表明,Elman神經(jīng)網(wǎng)絡(luò)經(jīng)過訓(xùn)練,具有時序非線性擬合的能力,但預(yù)測結(jié)果精度尚未提高。
關(guān)鍵詞:時間序列;風(fēng)速預(yù)測;Elman神經(jīng)網(wǎng)絡(luò);預(yù)測精度
中圖分類號:TP18;TK81? 文獻標識碼:A? 文章編號:2096-4706(2023)03-0066-05
An Example of Wind Speed Time Series Prediction Based on Elman Neural Network
LI Chao, JIANG Mingyang
(Xinjiang Goldwind Sci & Tech Co., Ltd., Hohhot? 010010, China)
Abstract: The wind speed time series has the characteristics of nonlinear and non-stationary, and the traditional prediction method is difficult to establish the functional relationship between wind speeds, so the prediction accuracy of the wind speed time series is not high. The strong nonlinear fitting ability of the artificial neural network effectively solves the pain point of the difficult prediction of the wind speed time series. This paper selects the Elman neural network to predict the wind speed time series of different scales in three regions of the country, and preliminarily discusses the feasibility of the neural network wind speed prediction. The results show that Elman neural network has the ability of time series nonlinear fitting ability after training, but the accuracy of prediction results has not been improved.
Keywords: time series; wind speed prediction; Elman neural network; prediction accuracy
0? 引? 言
風(fēng)力發(fā)電項目的總體容量在我國電力系統(tǒng)所占比例不斷提升[1]。由于風(fēng)速具有隨機性、不穩(wěn)定性以及季節(jié)性因素的影響大等特點,因此風(fēng)力發(fā)電的實際功率也具有間歇性和波動性,由此給風(fēng)力發(fā)電機組的輸出功率帶來較強的不確定性[2,3]。由于風(fēng)電輸出功率的強波動特性,在風(fēng)電聯(lián)網(wǎng)過程中節(jié)點電壓急劇波動,發(fā)電機組投入頻繁,進而嚴重影響電力系統(tǒng)的穩(wěn)定運行[4]。準確、快速地預(yù)測風(fēng)速模型以減少或避免風(fēng)電場對電網(wǎng)的不良影響,提高風(fēng)速和風(fēng)電預(yù)測系統(tǒng)的預(yù)測精度,是風(fēng)力發(fā)電系統(tǒng)安全穩(wěn)定運行的必要前提和保證[5,6]。本文簡要分析了幾種預(yù)測模型的特點,根據(jù)風(fēng)速時序特性,選擇神經(jīng)網(wǎng)絡(luò)模型對全國三個地區(qū)不同的時間尺度進行了初步探索。
1? 預(yù)測模型介紹
1.1? 持久化方法
持久化方法公式如式(1)所示:
(1)
t為當(dāng)前時刻,Δt為預(yù)測時間點距當(dāng)前時刻t的步長,v為風(fēng)速,其中基于一個共識:當(dāng)前風(fēng)速和近期未來風(fēng)速之間存在高度相關(guān)性。即在這種方法中,當(dāng)前t時風(fēng)速可以認為是未來t+Δt時刻的風(fēng)速。在處理非常短期的預(yù)測時,持久化方法可以顯示出良好的準確性。
1.2? 數(shù)值天氣預(yù)報方法
數(shù)值天氣預(yù)報方法數(shù)值天氣預(yù)報(NWP)建立模型需要大量信息,除數(shù)值天氣數(shù)據(jù)外,還涉及風(fēng)電場的選址地形、周圍障礙物或數(shù)字地面模擬等。這種方式在氣象學(xué)中也得到了普遍應(yīng)用,不需要大量的歷史時間序列數(shù)據(jù)就可以得到比較準確的結(jié)論,但由于NWP采用了高維復(fù)雜的數(shù)理方程,通常必須在巨型計算機上進行,基本無法做到時間序列的超短時間和短期預(yù)測。
1.3? 統(tǒng)計方法
統(tǒng)計方法需要使用歷史時間序列風(fēng)數(shù)據(jù),在觀察的數(shù)據(jù)量少的情況下會影響預(yù)測精度。不需要對風(fēng)電場進行任何物理信息采集來建立預(yù)測模型,所需的計算資源和時間更少,主要關(guān)注風(fēng)的持續(xù)特性來實現(xiàn)預(yù)測,但由于風(fēng)所表現(xiàn)出的非平穩(wěn)性導(dǎo)致統(tǒng)計方法的準確性不高,即統(tǒng)計模型不能準確地描述非線性數(shù)據(jù)統(tǒng)計模型。
1.4? 神經(jīng)網(wǎng)絡(luò)方法
神經(jīng)網(wǎng)絡(luò)方法人工神經(jīng)網(wǎng)絡(luò)具有并行式數(shù)據(jù)處理、分布式存儲和容錯性強等特點,同時具備進行聯(lián)想存儲、非線性映射、分析與鑒別、優(yōu)化設(shè)計、知識管理序列預(yù)測等的基本能力。神經(jīng)網(wǎng)絡(luò)不需要對風(fēng)電場進行物理數(shù)據(jù)采集,只需通過訓(xùn)練找出準確的輸入數(shù)據(jù)(風(fēng)速及數(shù)值氣象信息)與預(yù)測風(fēng)速的相互作用,建立預(yù)測模型[7]。
2? 人工神經(jīng)網(wǎng)絡(luò)
2.1? BP神經(jīng)網(wǎng)絡(luò)
BP(Back Propagation, BP)神經(jīng)網(wǎng)絡(luò)算法是一種非線性的數(shù)據(jù)挖掘方法。BP神經(jīng)網(wǎng)絡(luò)由信號的正向傳播和誤差的反向傳播組成。首先是正向傳播,如果輸出層實際輸出與期望的輸出存在差,則進入誤差的反向傳播階段,不斷調(diào)整各層權(quán)值,在網(wǎng)絡(luò)的正反訓(xùn)練學(xué)習(xí)過程中,使實際輸出接近期望輸出。
由于BP神經(jīng)網(wǎng)絡(luò)較強的非線性擬合能力,特別是天氣預(yù)測中風(fēng)速、溫度等因素的處理,以及學(xué)習(xí)規(guī)則簡單,便于計算機實現(xiàn),因此目前大多利用BP學(xué)習(xí)算法進行神經(jīng)網(wǎng)絡(luò)訓(xùn)練。BP神經(jīng)網(wǎng)絡(luò)的一般網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示[8,9]。
BP神經(jīng)網(wǎng)絡(luò)計算主要分為兩個階段:
(1)正向過程。輸入信息從輸入層經(jīng)隱藏層逐層計算各單元的輸出值:
a1=ω11x1+ω12x2+b1? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
a2=ω11x1+ω22x2+b2? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
z1=φ(a1)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
z2=φ(a2)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(5)
y=ω1z1+ω2z2+b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (6)
其中,ω11…ω22為權(quán)值系數(shù),b1,b2為偏置系數(shù),φ(x)為激活函數(shù)。值得注意的是,激活函數(shù)通常采用非線性激活函數(shù),而不是線性激活函數(shù),在誤差反向傳播過程中,需對損失函數(shù)求偏導(dǎo),調(diào)整各個權(quán)值,因此要求激活函數(shù)可導(dǎo)、連續(xù)。
(2)反向過程。反向處理誤差使得輸出層在每個層的輸入層方向上傳播以計算每個單元的誤差,并使用該誤差來校正輸入層的權(quán)重和閾值,使得校正后的網(wǎng)絡(luò)的最終輸出接近期望值。由于初始權(quán)重都是隨機分配的,所以如果首先計算預(yù)測結(jié)果,必然會產(chǎn)生預(yù)測誤差,定義預(yù)測值和實際值的函數(shù)是損失函數(shù):
(7)
其中,Y為實際值,y為預(yù)測值,現(xiàn)在我們的任務(wù)就是希望通過數(shù)據(jù)集,不斷訓(xùn)練學(xué)習(xí)到一個函數(shù)使得這個損失函數(shù)最小。也就是要求minE時的ω,b參數(shù)。
神經(jīng)網(wǎng)絡(luò)根據(jù)輸入x1,x2,得到輸出y,可以列出下式:
(8)
(9)
欲使預(yù)測誤差最小即要求得E(x)最小,使用f(x)對各個參數(shù)求偏導(dǎo)為0,再進行迭代,例如:
(10)
2.2? Elman神經(jīng)網(wǎng)絡(luò)
Elman神經(jīng)網(wǎng)絡(luò)算法是目前應(yīng)用較多的動態(tài)型神經(jīng)網(wǎng)絡(luò),在BP神經(jīng)網(wǎng)絡(luò)隱層和輸出層之間增加了接收層結(jié)構(gòu)的改進,用于隱層輸出信息的存儲作為隱式層的輸入信號再次輸入[10]。
如圖2所示,Elman神經(jīng)網(wǎng)絡(luò)是由輸入層、隱式層、接受層、輸出層4層構(gòu)成的動態(tài)反饋型神經(jīng)網(wǎng)絡(luò)。這樣的網(wǎng)絡(luò)結(jié)構(gòu)能夠提高對過去的數(shù)據(jù)的靈敏度[11,12]。與BP神經(jīng)網(wǎng)絡(luò)相比,Elman神經(jīng)網(wǎng)絡(luò)是經(jīng)典的動態(tài)神經(jīng)網(wǎng)絡(luò),因此用于進行風(fēng)速時間序列和電力負荷預(yù)測,能夠更準確地反映風(fēng)速時間序列和電力負荷中的動態(tài)特性[13]。
3? 案例計算與結(jié)果分析
為了驗證Elman神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測性能,本文選取豐鎮(zhèn)市、錫林郭勒盟與天津市三個地區(qū),兩種時間尺度的風(fēng)速數(shù)據(jù)進行預(yù)測實驗,并采用BP神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果作為對照組。
3.1? 數(shù)據(jù)歸一化
由于不同量綱和單位的輸入會影響到數(shù)據(jù)分析的結(jié)果,為了避免因維度的不同而導(dǎo)致數(shù)據(jù)的某些特征主導(dǎo)或消失,采用MATLAB的mapminmax歸一化方法將風(fēng)速數(shù)據(jù)歸一化為[-1,1]區(qū)間,式(11)表示規(guī)范化的函數(shù)為:
(11)
其中,xnorm表示歸一化后的數(shù)據(jù),x表示原始數(shù)據(jù),xmin表示數(shù)據(jù)集中最小值,xmax表示的是數(shù)據(jù)集中最大值。
3.2? 預(yù)測模型構(gòu)建
預(yù)測模型的建立需要前期數(shù)據(jù)處理完成后,建立神經(jīng)網(wǎng)絡(luò)的模型,網(wǎng)絡(luò)的建立采用newff(BP神經(jīng)網(wǎng)絡(luò))、newelm(Elman神經(jīng)網(wǎng)絡(luò))命令,考慮到進行短期風(fēng)速時間序列預(yù)測需要網(wǎng)絡(luò)快速收斂,隱層只取一層,整個Elman神經(jīng)網(wǎng)絡(luò)由三層組成,這里輸入和輸出只有風(fēng)速值,因此兩層神經(jīng)元的個數(shù)都是1,隱層神經(jīng)元數(shù)N由經(jīng)驗公式和或組合方法確定。經(jīng)驗公式為:
(12)
式中:N為隱含層神經(jīng)元數(shù),m為輸入層神經(jīng)元數(shù),為輸出層神經(jīng)元數(shù),q為任意常數(shù)。
3.3? 誤差分析模型
本文的隱層神經(jīng)元傳遞函數(shù)為tansig、purelin,對Elman神經(jīng)網(wǎng)絡(luò)進行了多次訓(xùn)練,風(fēng)速預(yù)測結(jié)果如圖3~圖6所示。為了更準確地評價本次預(yù)測誤差,本文引入誤差平方和SSE、平均絕對誤差MAE、均方誤差RMSE和平均百分比誤差MAPE。
(13)
(14)
(15)
(16)
3.4? 算例驗證
算例1:本算例選取內(nèi)蒙古豐鎮(zhèn)市Merra2中尺度再分析數(shù)據(jù),訓(xùn)練集樣本點時間間隔為1 h,訓(xùn)練樣本為2018年5月份小時平均風(fēng)速數(shù)據(jù),共計744個樣本點,本算例測試集為5月31日小時平均風(fēng)速,共計24個預(yù)測點,預(yù)測結(jié)果如圖3、4與表1所示。
算例2:本算例選取錫林郭勒盟阿巴嘎旗實測風(fēng)速數(shù)據(jù)作為進行風(fēng)速預(yù)測樣本數(shù)據(jù),風(fēng)速樣本間隔15 min,訓(xùn)練樣本范圍為2021年1月11日—2021年1月20日,樣本點數(shù)為1 440,測試集2021年1月20日20:40—23:50,共計20個樣本點,預(yù)測結(jié)果如圖5、圖6與表2所示。
算例3:本算例選取天津市濱海新區(qū)測風(fēng)塔實測風(fēng)速數(shù)據(jù)作為進行預(yù)測樣本數(shù)據(jù),風(fēng)速樣本間隔15 min,訓(xùn)練樣本范圍為2017年5月1日—2016年5月10日,樣本點數(shù)為1 440,測試集范圍為2016年5月10日20:40—23:50,共計20個樣本點,預(yù)測結(jié)果如圖7、圖8與表3所示。
4? 結(jié)? 論
針對風(fēng)速與風(fēng)功率時間序列預(yù)測方法很多,其中包括自回歸移動平均法、支持向量機、機器學(xué)習(xí)法等。其中機器學(xué)習(xí)方法中的人工神經(jīng)網(wǎng)絡(luò)方法逐漸形成為熱門方法。已有大量研究表明,神經(jīng)網(wǎng)絡(luò)方法更容易擬合非線性數(shù)據(jù)。
因Elman神經(jīng)網(wǎng)絡(luò)與常規(guī)誤差反向傳播神經(jīng)網(wǎng)絡(luò)模型相比在隱含層處多了狀態(tài)承接層,使神經(jīng)網(wǎng)絡(luò)對歷史狀態(tài)的數(shù)據(jù)具有敏感性,相比BP神經(jīng)網(wǎng)絡(luò)Elman神經(jīng)網(wǎng)絡(luò)更適用于因此用它進行風(fēng)速時間序列與電力負荷預(yù)測。本文選用Elman神經(jīng)網(wǎng)絡(luò)模型對豐鎮(zhèn)市、錫林郭勒盟、天津市三個地區(qū)的中尺度在分析數(shù)據(jù),實測數(shù)據(jù)進行風(fēng)速數(shù)據(jù)的中期與超短期預(yù)測,并以BP神經(jīng)網(wǎng)絡(luò)模型作為對照。預(yù)測結(jié)果說明了兩種神經(jīng)網(wǎng)絡(luò)模型尤其是Elman神經(jīng)網(wǎng)絡(luò)在風(fēng)速時間序列預(yù)測的可行性。
Elman神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果精度明顯更有優(yōu),曲線擬合相關(guān)性也更高,兩種神經(jīng)網(wǎng)絡(luò)對預(yù)測曲線極值點的捕捉存在著不足,預(yù)測精度也有待提高,Elman與BP神經(jīng)網(wǎng)絡(luò)在風(fēng)速時間序列預(yù)測方面表現(xiàn)欠佳主要有如下兩方面原因:
(1)輸入變量過于單一,有多重因素可以影響風(fēng)速:風(fēng)向、氣壓、溫度等,這些因素對風(fēng)速的影響是綜合的,僅考慮單一變量輸入勢必會降低預(yù)測精度。
(2)BP、Elman等神經(jīng)網(wǎng)絡(luò)在各個連接權(quán)值調(diào)整步驟中都使用了梯度下降法,此方式會產(chǎn)生訓(xùn)練速度慢和易陷入局部極小點的缺陷,對神經(jīng)網(wǎng)絡(luò)的培訓(xùn)也較難實現(xiàn)全局最優(yōu)化。
因此提高神經(jīng)網(wǎng)絡(luò)的預(yù)測精度與普適性仍有研究前景。今后可以從增加輸入變量并研究各變量間相互影響以及輸入變量的預(yù)處理方面著手,以提高神經(jīng)網(wǎng)絡(luò)模型在時間序列預(yù)測方面精度。
參考文獻:
[1] 張群,唐振浩,王恭,等.基于長短時記憶網(wǎng)絡(luò)的超短期風(fēng)功率預(yù)測模型 [J].太陽能學(xué)報,2021,42(10):275-281.
[2] 曲宗希.風(fēng)速組合預(yù)測策略中若干難點問題研究 [D].蘭州:蘭州大學(xué),2019.
[3] MISHRA S P,DASH P K. Short term wind speed prediction using multiple kernel pseudo inverse neural network [J].International Journal of Automation and Computing,2018,15(1):66-83.
[4] 李歲寒.基于風(fēng)電場歷史數(shù)據(jù)的短期風(fēng)速及風(fēng)功率預(yù)測研究 [D].蘭州:蘭州理工大學(xué),2020.
[5] 劉海南,藺紅.考慮風(fēng)電波動性的源荷優(yōu)化調(diào)度策略 [J].水電能源科學(xué),2021,39(9):210-214.
[6] 韓韞洲.風(fēng)力發(fā)電功率預(yù)測的技術(shù)進展與展望 [J].電力設(shè)備管理,2021(9):130-132.
[7] 張?zhí)┖?,殷鋒,袁平.風(fēng)速及風(fēng)功率預(yù)測方法綜述 [J].現(xiàn)代計算機,2021(8):45-48.
[8] 袁曾任.人工神經(jīng)元網(wǎng)絡(luò)及其應(yīng)用 [M].北京:清華大學(xué)出版社,1999.
[9] 李海玲.基于BP神經(jīng)網(wǎng)絡(luò)的風(fēng)功率預(yù)測 [J].現(xiàn)代信息科技,2021,5(15):119-121+124.
[10] 張淑清,楊振寧,張立國,等.基于彈性網(wǎng)降維及花授粉算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短期電力負荷預(yù)測 [J].儀器儀表學(xué)報,2019,40(7):47-54.
[11] 林春燕,朱東華.基于Elman神經(jīng)網(wǎng)絡(luò)的股票價格預(yù)測研究 [J].計算機應(yīng)用,2006(2):476-477+484.
[12] ZHANG Y,WANG X P,TANG H M. An improved elman neural network with piecewise weighted gradient for time series prediction [J].Neurocomputing,2019,359(C):199-208.
[13] 李琛,郭文利,吳進,等.基于BP神經(jīng)網(wǎng)絡(luò)的北京夏季日最大電力負荷預(yù)測方法 [J].氣候與環(huán)境研究,2019,24(1):135-142.
作者簡介:李超(1994—),男,漢族,內(nèi)蒙古呼和浩特人,高級風(fēng)資源工程師,學(xué)士學(xué)位,研究方向:新能源科學(xué)與工程。
收稿日期:2022-10-04