王 巖,陳耀然,韓兆龍,b,c,周 岱,b,c, 包 艷,b,c
(上海交通大學 a.船舶海洋與建筑工程學院;b.海洋工程國家重點實驗室;c.水動力學教育部重點實驗室,上海 200240)
風能是一種清潔、經(jīng)濟的可再生能源.但是,風速的間歇性和波動性導致風力發(fā)電機的輸出功率難以預測,進而為風電并網(wǎng)、能源輸送和風電場制定交易計劃等造成困難[1].開展風電場短期(未來1 h內(nèi))風速預測成為解決上述問題的關鍵[2].
目前,主要利用統(tǒng)計方法進行風電場的短期風速預測[3].該方法利用歷史風速數(shù)據(jù),建立歷史風速與未來風速之間的統(tǒng)計模型而預測風速,具體方法包括時間序列和機器學習等[4].時間序列模型是線性統(tǒng)計模型,而風速序列模型是波動性和隨機性較強的非線性統(tǒng)計模型,因此時間序列法預測風速的效果不佳[5].
機器學習是人工智能的一個分支,其在風速預測方面具有較強的非線性建模能力.人工神經(jīng)網(wǎng)絡(ANN)是典型的機器學習方法,其從信息處理的角度對人腦神經(jīng)元網(wǎng)絡進行抽象表達,進而建立非線性數(shù)學模型[6].Santhosh等[7]利用經(jīng)驗模態(tài)分解,將原始風速分解為多個子序列,并利用ANN分別對子序列進行建模預測.結果顯示,相較于基于時間序列法的風速預測模型,基于ANN的模型的預測誤差顯著降低.支持向量機(SVM)作為另一種機器學習方法,其主要思想為先利用一個預設函數(shù)將原始輸入和輸出數(shù)據(jù)映射到高維特征空間,然后在該空間進行線性回歸,使誤差最小化.范曼萍等[8]利用SVM建立歷史風速與未來風速之間的數(shù)學模型,并利用改進粒子群算法優(yōu)化SVM的參數(shù),通過收縮因子改進粒子速度更新方式.結果顯示,基于SVM風速預測結果的平均相對誤差為3.72%,預測精度顯著提高.然而,ANN和SVM等傳統(tǒng)機器學習方法模型僅將歷史數(shù)據(jù)進行統(tǒng)一輸入,而未充分考慮風速序列隨時間的變化趨勢,因此難以得到關于時間序列問題的高精度風速預測結果.
針對上述問題,提出一種風電場短期風速預測組合新模型,即基于互信息(MI)和遞歸神經(jīng)網(wǎng)絡(RNN)的短期風速預測模型(MI-RNN).將該模型應用于美國加利福尼亞州某風電場的2個風速數(shù)據(jù)集,進行數(shù)值實驗,并與ANN和SVM進行比較分析,評價模型的預測精度.不同于上述機器學習方法,該模型中RNN加入t時刻的隱藏狀態(tài)作為記憶單元,該隱藏狀態(tài)中記錄著t時刻的輸出值,同時作為下一時刻的輸入值,由此可以更有效地解決時間序列問題[9].該模型的創(chuàng)新點包括:①利用MI選擇用于預測未來風速的歷史風速長度,能夠更有效地利用歷史信息且無冗余數(shù)據(jù),進而顯著提高預測精度;②利用帶記憶單元的RNN提取歷史風速數(shù)據(jù)與未來風速之間的映射關系,歷史信息提取能力更高.
輸入變量的選擇對模型的預測能力有重要影響.針對建立的風速預測模型,給定歷史風速序列(Ft-1,Ft-2, …,Ft-τ),進行下一時刻風速(Ft)的預測,歷史風速序列的長度(τ)由選擇的輸入變量決定.若τ太短,則歷史數(shù)據(jù)中包含的信息太少,模型精度低;若τ太長,則模型參數(shù)優(yōu)化困難且包含冗余歷史信息,模型精度低且訓練時間長.
MI理論能夠衡量一個隨機變量中包含另一個隨機變量的信息量.假設2個隨機變量(X1,Y1)的聯(lián)合分布為p(x1,y1),邊緣分布為p(x1)和p(y1),則互信息I(x1;y1)為聯(lián)合分布和邊緣分布的相對熵[10]:
(1)
RNN是用于解決時間序列問題的機器學習模型,一個時間序列中的時間點對應一個普通前饋神經(jīng)網(wǎng)絡,并在每個時間點加入一個記憶單元記錄其輸出值,將輸出值傳遞給下一時刻[11],數(shù)學表達式為
ht=σ(UXt+Wht-1)
(2)
Ot=f(ht)
(3)
式中:h為狀態(tài)值;σ(·)為狀態(tài)激活函數(shù);U為t時刻輸入的權重;W為t-1時刻狀態(tài)的權重;X和O為神經(jīng)網(wǎng)絡的輸入值和輸出值;f(·)為生成神經(jīng)網(wǎng)絡輸出值的函數(shù).
圖1為τ=3的RNN模型圖,時間序列中共包括3個時刻(t-1,t,t+1)的神經(jīng)網(wǎng)絡.本文將風速作為神經(jīng)網(wǎng)絡的輸入值,Ot+1為RNN的最終預測值.每個時刻計算得到的隱藏層狀態(tài)Ot-1均將傳給下一時刻,從而保證前一時刻提取的歷史信息可以傳遞到下一時刻.因此,圖中Ot-1應為Xt的預測值,當采用每τ個風速預測一步時,則會產(chǎn)生τ個輸出值,只保留最后一個輸出值作為最終預測值.
圖1 RNN模型結構圖
模型的訓練過程即確定參數(shù)W和U的過程.訓練過程的本質為優(yōu)化,優(yōu)化目標為縮小預測值與觀測值的誤差.利用誤差函數(shù)對W和U求梯度,訓練過程中逐漸降低梯度值至0附近,從而確定模型參數(shù).然后,將歷史數(shù)據(jù)輸入到RNN中并輸出最終預測結果.
圖2 MI-RNN流程圖
為了實現(xiàn)帶有風向的風電場風速預測,將風速數(shù)據(jù)進行正交分解:
(4)
式中:i=1, 2, …,t-1.然后使用MI-RNN模型預測t-1+β時刻的風速并進行組合:
(5)
圖3為I(τ)-τ變化曲線.其中,I(τ)為Ft和Ft-τ之間的互信息,是一個遞減函數(shù).可以通過選擇互信息閾值(IC)來確定τ值大小.通常依據(jù)經(jīng)驗選擇IC,本文選擇IC=2,確定時間步長τ= 6.
圖3 I(τ)-τ曲線
將歷史風速觀測值數(shù)據(jù)以某時刻為界劃分為訓練集和測試集,訓練集用于訓練RNN模型,測試集用于測試模型的預測結果是否準確.當模型訓練完成后,輸入τ個新歷史風速序列,RNN模型將輸出新的風速預測值.
為驗證MI-RNN模型的性能,選擇SVM和 ANN作為比較模型,討論MI-RNN模型的風速預測精度.利用Adam優(yōu)化算法進行模型訓練,3個模型均使用scikit-learn機器學習庫[12]和PyTorch框架[13].
圖4 觀測間隔為15 min的風速數(shù)據(jù)集
3.1.2模型評估指標 模型評估指標能夠評價模型預測結果的精度.分別利用均方根誤差(RMSE)、平均絕對誤差(MAE)和決定系數(shù)(R2)對模型點預測結果進行統(tǒng)計.
RMSE和MAE用于描述預測值與觀測值的誤差情況,但區(qū)別在于:RMSE對預測值與觀測值的偏差進行了一次平方,容易將誤差放大[14];R2用于評價風速預測模型的平均預測精度[15].公式如下:
(6)
(7)
(8)
式中:Te為總觀測量.RMSE和MAE越接近0,R2越接近于1,則模型的預測精度越高.
3.1.3結果與討論 為加強模型預測結果的可視化,對3個模型的預測和評估結果作圖,如圖5~8所示.
圖5 預測誤差統(tǒng)計
圖5中,MI-RNN模型的預測誤差平均值的絕對值最小(小于0.1 m/s),SVM模型次之(約為 0.2 m/s),ANN模型最大(大于0.3 m/s).3個模型預測誤差的中位數(shù)和平均值相差較小,1/4~3/4分位數(shù)據(jù)范圍的寬度相差較小(約為1.2 m/s).MI-RNN 和ANN模型的預測誤差均有大于0的離群值,但MI-RNN模型的離群值較少.結果表明:與ANN和SVM模型相比,MI-RNN模型預測結果的平均誤差最小,且離群值較少,預測精度更佳.
圖6中,MI-RNN模型的預測值與觀測值相差較小,且在風速小或大的情況下均能夠精準預測.而ANN和SVM模型的預測值與觀測值相差較大,存在明顯預測誤差.其中,SVM模型在風速較小時誤差較大,在風速較大時誤差更大;ANN模型在風速小或大時誤差均較大.結果表明:與ANN和SVM模型相比,MI-RNN模型的預測精度更高,且在不同風速范圍下的預測穩(wěn)定性更佳.
圖6 觀測間隔為15 min的風速預測結果
圖7中,MI-RNN模型的RMSE和MAE值均最小,R2值最大,說明MI-RNN模型的預測精度最高.3個模型在3個評估指標下的詳細統(tǒng)計結果如圖表2所示.其中,MI-RNN模型的R2值最大,且其RMSE和MAE值比ANN模型的均降低了50%以上,比SVM模型的分別降低了約21%和41%.進一步表明MI-RNN模型在提高預測精度方面的優(yōu)勢明顯.
圖7 模型在不同指標下的評估結果
表2 模型在不同指標下的統(tǒng)計結果
圖8中,直線由預測值等于觀測值的數(shù)據(jù)點組成,MI-RNN的預測結果均勻地分布在直線附近,數(shù)據(jù)點距離直線較近,表明MI-RNN模型的預測結果更接近于觀測值,且不受風速大小影響.而ANN模型的預測結果距離直線較遠,且在直線下方的數(shù)據(jù)點較多,說明ANN模型的預測誤差較大,且預測結果更容易低于觀測值.在風速較大時,SVM模型的數(shù)據(jù)點更多地集中在直線下方,說明其預測結果在風速較大時更容易低于觀測值.
圖8 風速預測結果分布圖
綜上所述,相比于ANN和SVM模型,MI-RNN模型能夠顯著提高風速預測精度,且預測穩(wěn)定性良好,可以更精準地預測未來風速.
探討不同預報提前量條件下MI-RNN模型的預測效果以及風向預測性能.
表3 觀測間隔為5 min的風速數(shù)據(jù)集的統(tǒng)計信息
3.2.2結果與討論 為加強模型預測結果的可視化,選擇測試集中前96個時間點的數(shù)據(jù)進行結果展示.對3個模型在不同預報提前量下的預測誤差結果作圖,如圖9所示.當預測間隔為5 min時,MI-RNN模型的風速預測結果如圖10所示,其矢量圖如圖11所示.
圖9 模型在不同預報提前量下的RMSE對比
圖10 預測間隔為5 min的風速預測結果
圖11 風速預測結果矢量圖
圖10中,MI-RNN模型的風速預測值與觀測值相差很小,在不同風速變化區(qū)間表現(xiàn)穩(wěn)定,預測精準;在圖11中,MI-RNN模型的預測風向與觀測風向值之間的誤差也較小.說明MI-RNN模型不僅能夠降低風速預測誤差,還能夠精確地預測未來風向信息.
風速的波動性和隨機性給風電并網(wǎng)造成安全隱患,影響風能利用質量,高精度的風速預測是解決該問題的方法之一.本文提出MI-RNN模型,并將MI-RNN模型應用于美國加利福尼亞州某風電場真實數(shù)據(jù)集,驗證模型的預測精度,同時使用RMSE、MAE和R2等指標評估模型的點預測結果,主要結論如下:
(1)ANN和SVM模型對風速在不同變化區(qū)間的預測精度不穩(wěn)定;在風速較大時,易出現(xiàn)預測值小于觀測值的情況.
(2)相對于ANN和SVM模型,MI-RNN模型在不同預報提前量下的預測結果誤差均最小,風速預測精度更高,且風速越大其精度提升越顯著;同時能夠準確預測未來風向.
(3)MI-RNN模型能夠應用于風電場短期(未來1 h內(nèi))風速預測,提高風電場輸出功率預測精度,降低大規(guī)模風電并網(wǎng)安全隱患.
文中研究了單個空間點的風速預測,下一步將研究深度學習方法在含空間維度的風電場風速預測中的應用.