韓 朋,張曉琳*,張 飛,王永平
(1.內蒙古科技大學信息工程學院, 包頭 014010;2.華北電力大學可再生與清潔能源學院, 北京 102206)
近年來,在電力系統(tǒng)中,可再生能源的作用越來越大。可再生能源能夠起到保護生態(tài)環(huán)境和緩解用電壓力等作用。風力發(fā)電是一種成熟的、非常有發(fā)展前途的可再生能源發(fā)電方法之一。由于風本身的不穩(wěn)定性,風力發(fā)電具有波動性和間歇性,這將使得電網對風電的調度造成嚴重的困難[1-2]。精確的風電功率超短期預測有助于緩解電力系統(tǒng)調峰、調頻壓力,對于風電并網具有重大意義[3]。
目前,已經有了許多種成熟的風電功率預測方法。采用機器學習來對風電功率進行預測的方法比較多。例如,采用機器學習中的K最鄰近算法(K-nearest neighbor,KNN),對風電功率進行短期的預測[4];將小波變換和BP(back propagation)神經網絡結合起來,進行風電功率的預測[5];采用改進的人工魚群算法來優(yōu)化BP神經網絡,對短期風電功率進行預測[6];采用一種仿生學算法優(yōu)化支持向量機(support vector machines,SVM)預測模型,用于風電功率的短期預測[7-8]。文獻[9]建立了一種SVM模型,并通過數(shù)據挖掘、小波變換和布谷鳥搜索算法來優(yōu)化模型,進而提高短期風電功率預測的準確性;文獻[10]采用時間序列ARFIMA模型,對風電場短期功率進行預測。這些機器學習方法雖然能夠預測短期內的風電功率,但是預測的精度不夠高。隨著深度學習的興起,提出了基于長短期記憶網絡(long-term and short-term memory,LSTM)風電場發(fā)電功率超短期預測模型[3],解決了傳統(tǒng)神經網絡不能學習長距離依賴關系的問題,使預測準確度到達了一個新的階段。但是,傳統(tǒng)LSTM網絡預測結果的準確度還能有更進一步的提升空間。
現(xiàn)提出一種新的風電場發(fā)電功率的超短期預測模型,即長短期記憶網絡-注意力模型(AM-LSTM)模型。首先通過相關系數(shù)法來計算輸入變量與輸出功率之間相關性的大小,根據得到的結果篩選出合適的輸入變量。LSTM網絡擅長處理時間序列數(shù)據,注意力模型的優(yōu)勢是其隨著時間的推移而整合信息的能力。注意力模型能夠優(yōu)化輸入LSTM網絡的特征向量,從而優(yōu)化LSTM網絡的權重,使預測結果更加精確有效。利用內蒙古自治區(qū)某風電場的實際測量數(shù)據進行相關的試驗。該方法利用歷史數(shù)據來進行風電功率的超短期預測,使預測的精確度更高。
LSTM是循環(huán)神經網絡(recurrent neural network,RNN)中的一種[11]。LSTM對普通的RNN模型進行了相關的改進,它解決了傳統(tǒng)RNN的梯度消失和梯度爆炸等問題[12]。LSTM主要由三個門結構組成,分別為遺忘門、輸入門和輸出門[13]。每個門負責不同的事情。LSTM的內部結構如圖1所示。

圖1 LSTM的原理圖
在LSTM中,遺忘門中的sigmoid層要決定讓哪些信息保留在當前這個細胞中。它的輸入是ht-1和xt。它的輸出是一個向量,這個向量中的數(shù)值在[0,1],長度和前一時刻的細胞狀態(tài)Ct-1相同,表示讓Ct-1的各部分信息通過的比重。輸入門決定更新哪些信息,實現(xiàn)更新操作主要包括兩個步驟。第一個步驟是通過輸入門的sigmoid層來確定需要更新哪些信息;第二個步驟是通過輸入門的tanh層產生一個新的向量。把遺忘門和輸入門聯(lián)合起來,對細胞的狀態(tài)進行相應的更新,更新后的細胞狀態(tài)為Ct。輸出門產生當前時刻的輸出結果。輸出結果主要是由更新后的細胞狀態(tài)Ct來決定的。輸出門的sigmoid層計算相應的權重,確定輸出哪些信息。將Ct輸入到tanh層,計算出tanh層的輸出。將該輸出結果乘上前面計算出來的權重,就得到了當前時刻的輸出結果ht。各個變量之間的計算公式如式(1)~式(6)所示:
ft=σ(Wf[ht-1,xt]+bf)
(1)
it=σ(Wi[ht-1,xt]+bi)
(2)
(3)
(4)
ot=σ(Wo[ht-1,xt]+bo)
(5)
ht=ottanh(Ct)
(6)

LSTM網絡采用按時間先后順序展開的反向誤差傳播算法(backpropagation through time,BPTT)對網絡進行訓練[14]。LSTM網絡能夠處理好風速、風向等時間序列變量與風電功率之間的非線性關系。與機器學習的其他方法相比,LSTM更加擅長處理時間序列數(shù)據,而風電功率預測數(shù)據都與時間有關,因此采用LSTM能夠更加準確地預測出未來短時間內的風電功率,便于風電的并網調度。
注意力模型(attention model,AM)是模擬人類大腦注意力的一種模型,是把注意力集中放在重要的地方,而忽略其他不重要的因素。根據應用的不同,注意力模型可以分為空間注意力模型和時間注意力模型兩大類,其中,空間注意力模型主要用于圖像處理,時間注意力模型多用于自然語言處理。在機器翻譯中使用注意力模型取得了巨大的成功[15]。借鑒自然語言處理中的時間注意力模型[16],進行風電功率的超短期預測。
注意力模型的原理是,計算每個特征的權重,選出其中的重要特征,對這些特征賦予較高的權重,對不重要的特征給予較低的權重。超短期風電功率預測注意力模型是從輸入的時間序列變量中學習輸入特征向量對風電功率的重要性,按重要性的高低對特征賦予合適的注意力大小,根據注意力的大小,得到新的特征向量。注意力模型的結構如圖2所示。

圖2 注意力模型
輸入數(shù)據在不同時間對風電功率預測點的貢獻不同,因此引入了注意力模型。該模型的主要作用是突出風電信息中對風電功率預測比較重要的部分。設h=(h1,h2,…,hi,…,hn)表示通過LSTM網絡后得到的風電狀態(tài)向量,hi是其中的一個狀態(tài)向量,于是對應于hi的注意力αi,其計算公式如式(7)、式(8)所示:
ei=a(ct,hi)
(7)
(8)
式中:ei為得到的注意力的大小;ct為LSTM在t時刻的狀態(tài)向量;hi為LSTM在第i個時刻的狀態(tài)向量;a是一個學習函數(shù),用來計算ct與hi之間的相關性的大小;αi是由ei進行指數(shù)非線性變換得到的,αi越大,說明分配的注意力越多,則該特征向量對風電功率預測具有重要的作用。計算注意力加權特征向量ε的公式如式(9)所示:
(9)
將該注意力加權后的特征向量輸入LSTM中進行訓練,使輸入特征對風電功率的影響更加合理,風電功率的預測更加準確。
采用AM-LSTM模型進行風電功率的超短期預測。先用LSTM來處理輸入的時序變量與風電功率之間的非線性關系,再通過注意力模型優(yōu)化LSTM的特征向量,最終得到風電功率的預測結果。AM-LSTM模型的結構圖如圖3所示。

X表示AM-LSTM模型的特征向量;每個LSTM表示LSTM網絡的一個單元;Y為預測的風電功率值;h為通過LSTM網絡后得到的風電狀態(tài)向量;ε表示LSTM網絡輸入的特征向量
首先,根據風電機組實測數(shù)據對數(shù)據進行預處理。數(shù)據預處理主要包括相關性分析和數(shù)據歸一化兩個步驟。然后,在AM-LSTM模型中訓練預處理后的數(shù)據。注意力模型的作用是計算出不同時刻各個特征向量注意力的值,調整圖3中LSTM網絡的輸入,使預測的結果更加準確。整個模型按照BPTT算法對網絡進行訓練。最后,將預測的風電功率值進行輸出,得到風電功率的預測值。AM-LSTM模型進行風電功率預測的具體執(zhí)行步驟如下。
(1)對風電機組實測數(shù)據進行數(shù)據預處理。
(2)用LSTM網絡對預處理后的風電數(shù)據進行訓練。
(3)注意力模型計算出不同時刻各個特征向量適合的注意力大小,對LSTM網絡輸入的特征向量進行更新。
(4)將更新后的特征向量輸入LSTM網絡,進行訓練,得到實驗結果。
(5)根據實驗結果,對該模型進行評價。
以內蒙古自治區(qū)某風電場的實測數(shù)據作為樣本數(shù)據,數(shù)據采樣的間隔為10 min。其中,樣本數(shù)據集中包含風速、風向、溫度、大氣壓、相對濕度和風電功率等6種類別的數(shù)據。在這些類型的相關數(shù)據的基礎上,進行風力發(fā)電功率的超短期預測。為了減小預測模型的復雜程度,更好地預測出未來風電功率,采用相關系數(shù)法來近似的刻畫2014年第一季度中風電功率和另外5種類別的數(shù)據的相關程度。相關系數(shù)的計算公式,如式(10)所示:
(10)

從相關系數(shù)的定義可知,rxy是取值范圍在[-1,1]的實數(shù)。當rxy>0時,兩個變量x和y之間正相關;反之,則負相關。|rxy|越大,變量x和y的相關程度越高;|rxy|越小,變量x和y的相關程度越低。根據相關系數(shù)法計算得到的相關性大小的結果如表1所示。

表1 風電功率與其他變量之間相關性分析
表1為風速、風向、溫度、大氣壓、相對濕度和風電功率6組時間序列數(shù)據之間的相關系數(shù)。從表1可以看出,該風電場的風速與風力發(fā)電功率的相關程度最高,為0.91。風向與風力發(fā)電功率的相關程度次之,相關系數(shù)為0.81。溫度與風力發(fā)電功率的相關程度也比較高,為0.76。大氣壓與風電功率、相對濕度與風電功率的相關程度都比較低,相關系數(shù)分別為-0.57和-0.06。
因此,根據表1中相關系數(shù)的大小,可以確定預測模型的輸入變量有相關性較大的風速、風向和溫度。大氣壓和相對濕度與風電功率的相關性比較小,對風電功率的影響較小,因此這兩個變量就不必輸入預測模型中了。這樣選取輸入變量,能夠有效地減小預測模型的復雜程度,降低無用數(shù)據對預測結果的影響,使預測得到的風電功率更加準確。
通過對樣本數(shù)據集中的有關變量和風電功率之間的相關性分析,可以得出預測模型的輸入變量是4個時間序列變量,它們分別是風速、風向、溫度和歷史的風電功率值。預測模型的輸出變量為未來短時間內的風電功率。
量綱的不同對預測模型的輸出結果也有一定的影響。為了使這種影響減小,對數(shù)據進行歸一化處理也是非常有必要的。歸一化的目的一方面是去除變量之間量綱的差異所帶來的影響,另一方面是提高網絡訓練模型的泛化能力。因此,對輸入的數(shù)據進行數(shù)據的標準化處理是非常重要的。它的具體操作就是將數(shù)據映射到[0,1]。
采用數(shù)據標準化的方法對風速、溫度和風電功率進行標準化的處理,并進行線性變換,把原始的實驗數(shù)據的值歸一化到[0,1],其轉換函數(shù)為
(11)
式(11)中:Xmin和Xmax分別為變量X的最小值和最大值。
對于風向數(shù)據,考慮到其物理意義,對其進行歸一化處理采用正弦函數(shù),其歸一化后的數(shù)值也在[0,1],其轉換函數(shù)為
X=sinx
(12)
式(12)中:x代表風向數(shù)據的實際值;X代表歸一化后的值。
將歸一化處理之后的實驗數(shù)據作為預測模型的輸入,對預測模型進行訓練,從而得出更加精確的預測結果,即風電功率的預測值。
為了驗證風電場功率預測模型的準確性,使用誤差指標和相對系數(shù)R-square對預測模型進行評價。誤差分析是檢驗模型是否有效的重要工具。采用均方根誤差(root mean square error,RMSE)和平均絕對誤差(mean absolute error,MAE)作為風電功率預測模型的誤差指標,對模型預測結果的準確性進行評價。采用相對系數(shù)R-square來表示預測模型的好壞,它的正常取值范圍為[0,1]。它的結果越接近于1,代表模型對數(shù)據的擬合效果越好,這個模型的解釋能力也越強。式(13)、式(14)給出了均方根誤差(RMSE)和平均絕對誤差(MAE)的計算公式。
(13)
(14)

以內蒙古自治區(qū)某風電場2014年第一季度3個月的風電數(shù)據作為實驗數(shù)據集,即2014年1月1日—3月31日的實測風電數(shù)據。實驗數(shù)據集中包括風速、風向、溫度和風電功率4種不同類別的時間序列數(shù)據。該實驗數(shù)據集共有12 960行時間序列數(shù)據。
實驗是在Keras深度學習開源框架下進行的,Keras的版本號是2.1.2,編程語言是Python 3.5。
采用AM-LSTM模型進行實驗。經過預處理之后,80%的實驗數(shù)據用于訓練,作為訓練集。其余的20%的數(shù)據作為測試集。輸入變量的維數(shù)為4維,分別是風速、風向、溫度和歷史的風電功率。輸出變量的維數(shù)為1維,它就是要預測的風電功率。實驗中使用Adam優(yōu)化器,批次處理的大小batch_size=128,丟棄率dropout=0.3,得到的實驗結果如圖4所示。
圖4中的橫坐標時間序列是指按時間順序,每隔10 min取一個預測值。從圖4可以看出,預測時間越短,預測精度越高。預測未來4 h的風電功率預測值能較好地貼近實際值。因此,提出的基于AM-LSTM的預測模型可以準確有效地對未來4 h內的風電功率進行預測。

圖4 風電功率預測值與實際值的對比
為了進一步驗證預測模型的有效性,利用傳統(tǒng)的BP神經網絡和LSTM模型建立風電功率預測模型,與所提出的AM-LSTM預測模型進行比較。BP、LSTM和AM-LSTM風電功率預測模型的評價指標RMSE和MAE分別如表2、表3所示。傳統(tǒng)LSTM和AM-LSTM風電功率預測模型的R-square(單位:%)如表4所示。

表2 三種預測模型的均方根誤差

表3 三種預測模型的平均絕對誤差

表4 兩種預測模型的相對系數(shù)R-square
從表2可以看出,隨著預測時間的增長,三種預測模型的RMSE均增大。在預測時間相同時,AM-LSTM風電功率預測模型的RMSE均小于BP和傳統(tǒng)LSTM風電預測模型的RMSE誤差。從表3可以看出,隨著預測時間增長,3種預測模型的MAE均增大。在預測時間相同時,AM-LSTM風電功率預測模型的MAE均小于BP和傳統(tǒng)LSTM風電預測模型的MAE。因此,AM-LSTM在這2種評價指標上的表現(xiàn)都優(yōu)于BP和傳統(tǒng)LSTM,說明所提出的模型比BP模型和傳統(tǒng)LSTM模型在預測精度上更加精確。從表4可以看出,隨著預測時間的增長,兩種預測模型的相對系數(shù)R-square均減小,說明預測時間越短,預測模型對數(shù)據的擬合效果越好。在預測時間相同時,AM-LSTM風電功率預測模型的R-square均優(yōu)于傳統(tǒng)的LSTM風電預測模型。具體來說,預測未來3 h的風電功率時,R-square從6.3%提升到61.9%;預測未來4 h的風電功率時,R-square從1.8%提升到58.8%。AM-LSTM模型的提升效果較為明顯,說明預測時間越長,AM-LSTM的優(yōu)勢越明顯。AM-LSTM在模型擬合度上的表現(xiàn)也優(yōu)于傳統(tǒng)LSTM。所以,相比BP風電預測模型和傳統(tǒng)LSTM風電預測模型,AM-LSTM風電功率預測模型具有更好的預測效果,更加適合超短期風電功率預測。對于不同的風電場,根據風電場的相關數(shù)據,對AM-LSTM模型的相關參數(shù)進行自適應調整,使其能夠更加精確地對風電場超短期功率進行預測。
在傳統(tǒng)LSTM模型的基礎上,提出了一種LSTM和注意力模型相結合的風電功率預測模型,即AM-LSTM模型。實驗結果表明了該模型的有效性和可行性。通過實驗可知,此次提出的風電功率預測模型的預測誤差更小,精度更高,更加接近于實際情況,可以更好地進行風電功率的超短期預測,為風電場的電力調度提供了強有力的參考。
深度學習在風電功率預測方面的發(fā)展目前還處于起步階段,將LSTM網絡和其他深度學習方法結合起來,進一步提升風電功率預測的精度,這是下一階段的研究方向。