李丹陽 胡宏劍 李卓璇 曾沛哲 李木
(中國礦業(yè)大學(北京) 北京 100083)
近40年來,風電技術(shù)在能源危機和環(huán)境危機的背景下迅速發(fā)展。截至2021年底,全球風機總裝機容量達837 GW,新增裝機量近94 GW,較2020 年同比增長率僅低1.8%。風力發(fā)電已成為全球發(fā)電不可忽視的一部分,但在風機容量和風電場規(guī)模不斷擴大,風電需求與占比日漸增加的同時,也產(chǎn)生了諸多問題[1]。由于風力發(fā)電本身具有波動性、間歇性和不穩(wěn)定性等特點,在電網(wǎng)的計劃和調(diào)度上,風電長期面臨著諸多困難。為了提高電網(wǎng)運行的安全性、穩(wěn)定性、經(jīng)濟性,使電網(wǎng)調(diào)度更加合理,需要進行風電功率預(yù)測,進而建立起準確有效、功能完備的風電預(yù)測系統(tǒng)[2-3]。
目前國內(nèi)外的風電功率預(yù)測方法主要有物理方法、統(tǒng)計方法、人工智能方法。物理方法指利用數(shù)值天氣預(yù)報(Numerical Weather Prediction,NWP)獲取氣象數(shù)據(jù),根據(jù)風電場功率曲線,綜合考慮風電場周圍等高線、粗糙度、障礙物等信息進行預(yù)測[4]。雖然不需要大量歷史數(shù)據(jù),但由于NWP更新頻率較低且耗費大量計算資源,故不適合用于短期及超短期預(yù)測[5]。統(tǒng)計方法根據(jù)輸入的歷史數(shù)據(jù)、NWP等建立與風電輸出功率的映射關(guān)系,搭建模型多為線性模型,包括卡爾曼濾波法[6]、時間序列法[7]、灰色預(yù)測法[8]等。這些模型計算速度快,短期預(yù)測性能好,但使用信息單一,模型簡單,不能很好地應(yīng)對突變情況,且不適合非線性較強數(shù)據(jù)的預(yù)測。人工智能方法通過對大量的歷史數(shù)據(jù)進行學習、訓練,能更準確地擬合出輸入數(shù)據(jù)與輸出功率之間的非線性關(guān)系。通過經(jīng)驗?zāi)B(tài)分解將風速分解為一系列更具規(guī)律性和平穩(wěn)性的數(shù)據(jù)序列,再構(gòu)建對應(yīng)的支持向量機(Support Vector Machine,SVM)模型,從而提高了短期預(yù)測的精度[9]。利用注意力模型對長短期記憶網(wǎng)絡(luò)(Long-term and Short-Term Memory,LSTM)各個特征向量的權(quán)重進行,相較于傳統(tǒng)LSTM 顯著提高了預(yù)測精度。薛陽等人[10]為減少模型輸出量,將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和門循環(huán)單元(Gate Recurrent Unit,GRU)相結(jié)合,得到超短期風電功率預(yù)測結(jié)果,有效解決了梯度爆炸的問題[11]。
考慮到時間卷積網(wǎng)絡(luò)(Temporal Convolutional Network,TCN)具有穩(wěn)定的梯度、可變長度輸入等優(yōu)點,本文基于TCN來挖掘歷史風電數(shù)據(jù)與風電輸出功率之間的規(guī)律,預(yù)測未來的風電功率并通過改變預(yù)測時間節(jié)點來比較不同預(yù)測時間節(jié)點模型的精確度[12]。
TCN 是一種新型的時間卷積網(wǎng)絡(luò),可用于解決時間序列預(yù)測問題,由Lea等人于2016年首次提出,通常涉及兩個步驟:首先,使用CNN 編碼時空信息來計算相關(guān)的低級特征;其次,將這些低級特征輸入分類器中,使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)收集高級時間信息。
TCN 中采用的膨脹卷積結(jié)構(gòu),如圖1 所示。因果卷積層實現(xiàn)了只使用當前和過去的樣本計算t時刻的輸出。另外,為了解決梯度消失等問題,采用拓展卷積層,在獲得足夠大的感受野時盡可能減少卷積層數(shù),從而減少計算量。其中一維輸入向量xi的第n個元素處的膨脹卷積計算式(1)如下:
圖1 膨脹卷積原理圖
式(1)中:q∈0,1,…,k-1為過濾器,d為膨脹因子,k為過濾器的大小。
TCN 的殘差連接結(jié)構(gòu)和擴展因果卷積結(jié)構(gòu)如圖2所示,殘差連接結(jié)構(gòu)由兩個相同的連續(xù)部分組成,其結(jié)構(gòu)按照膨脹因果卷積、權(quán)值規(guī)一化、激活函數(shù)和隨機失活排列的順序構(gòu)成。數(shù)據(jù)輸入1×1 卷積層以保證輸入和輸出寬度相同,并通過膨脹卷積、權(quán)值規(guī)范化、激活函數(shù)和隨機失活結(jié)構(gòu)進行兩次輸出。
圖2 殘差連接結(jié)構(gòu)和擴展因果卷積結(jié)構(gòu)
2.1.1 數(shù)據(jù)集的劃分
在使用數(shù)據(jù)集訓練模型之前,還需要按照a:b:c的比例將數(shù)據(jù)集劃分成3 個部分:訓練集(Tr)、驗證集(Va)和測試集(Te)。其中,訓練集用于更新模型中的權(quán)重參數(shù)。驗證集通常是從訓練集中提取出的一部分,作用是在模型訓練的每個迭代過程中驗證當前模型的參數(shù)優(yōu)化程度,也是選擇最優(yōu)模型的重要基礎(chǔ)。測試集是用于評估最終模型性能的數(shù)據(jù),不參與模型的訓練過程。
2.1.2 數(shù)據(jù)清洗
數(shù)據(jù)清洗是不可或缺的重要環(huán)節(jié),其結(jié)果決定了數(shù)據(jù)分析的準確性,這直接影響到模型的訓練效果。風電功率數(shù)據(jù)具有較強的隨機性和波動性,為了盡可能挖掘訓練數(shù)據(jù)中隱藏的變化規(guī)律,本文采用基于統(tǒng)計學的數(shù)據(jù)填充法和刪除法對數(shù)據(jù)集進行初步處理,將所有負值設(shè)置為0,刪除其值超出正常范圍的數(shù)據(jù),并用線性插值方法填充數(shù)據(jù)中的缺失點。如果在連續(xù)的長時間內(nèi)存在缺失點,則直接舍棄該時間段內(nèi)的數(shù)據(jù),以保持數(shù)據(jù)集的時間連續(xù)性和完整性。
2.1.3 數(shù)據(jù)歸一化
通常從風電場收集的信息包括參數(shù)信息的不同方面,如風力資源、氣象條件和風力渦輪機輸出。由于數(shù)據(jù)集中包含了各種物理量,且數(shù)據(jù)的單位和量級均不同。例如:風力渦輪機上的傳感器測量的風速以米/秒(m/s)為單位,而風電場的輸出功率通常以兆瓦(MW)為單位。因此,在輸入到網(wǎng)絡(luò)模型之前,數(shù)據(jù)集需要進行歸一化。數(shù)據(jù)歸一化是數(shù)據(jù)分析中最常見的操作,主要思想是通過數(shù)學公式將有量綱表達式轉(zhuǎn)換為無量綱表達式,這可以防止不同的特征維數(shù)和數(shù)量級對計算產(chǎn)生不利影響,并有助于提高模型的收斂速度。
本文采用數(shù)據(jù)歸一化中的最值歸一化(Min-Max Normalization)對其進行處理,將所有的特征數(shù)據(jù)值都映射到[0,1]這個區(qū)間內(nèi),具體公式為
式(2)中:xmax和xmin是指要歸一化數(shù)據(jù)的最大值和最小值,x為特征數(shù)據(jù)的實際值;xstd為經(jīng)歸一化后得到的特征值。
本實驗采用均方根誤差(RMSE)來表征預(yù)測精度,如式(3)所示。
式(3)中:n為訓練或測試樣本的數(shù)目;?i為預(yù)測功率值;yi為真實功率值。
基于預(yù)處理之后的數(shù)據(jù)集,把訓練集(Tr)的數(shù)據(jù)輸入網(wǎng)絡(luò)進行模型的訓練,再把驗證集(Va)的數(shù)據(jù)帶入模型進行驗證,同時記錄每輪迭代的訓練集損失函數(shù)值和驗證集訓練損失函數(shù)值。若滿足早退條件,則保存此時模型為最優(yōu)模型。將測試集(Te)的數(shù)據(jù)帶入最優(yōu)模型得到RMSE的值,否則,進行下一輪循環(huán)迭代,直至滿足早退條件或者達到循環(huán)設(shè)定的次數(shù)。建模過程如圖3所示。
圖3 建模流程圖
本文取自Longyuan Power Group Corp.Ltd: SDWPF的風電預(yù)測數(shù)據(jù)集。數(shù)據(jù)集由風電場30 臺風電渦輪機以15 min為記錄間隔連續(xù)記錄7 d的真實數(shù)據(jù),包含了風力渦輪機ID、紀錄日、記錄創(chuàng)建時間、風速計記錄的風速、風向與渦輪機艙位置之間的角度、葉片1~3的槳距角、有功功率共9個元素。將數(shù)據(jù)集中ID為105~124 的20 個渦輪機數(shù)據(jù)作為訓練集(Tr),共11 838 組數(shù)據(jù);將ID 為124~129 的5 個渦輪機數(shù)據(jù)作為驗證集(Va),共3 029 組數(shù)據(jù);將ID 為130~134 的5 個渦輪機數(shù)據(jù)作為測試集(Te),共3 106組數(shù)據(jù)。
本實驗選用的時間步長(timestep)為32,訓練的數(shù)據(jù)個數(shù)(batch_size)為32,學習率(learning_rate)為0.001,循環(huán)迭代次數(shù)(epoch)為100,時間卷積層數(shù)為3,用4倍預(yù)測結(jié)果的預(yù)測數(shù)據(jù)進行預(yù)測,即4 組數(shù)據(jù)預(yù)測未來一個點,以此類推。任意選取測試集中的某段時刻,對未來的1個點、4個點和16個點的風功率進行預(yù)測,預(yù)測曲線如圖4所示。其中:實線為真實功率,劃線為預(yù)測未來1個點的預(yù)測功率,點-劃線為預(yù)測未來4個點的預(yù)測功率,點線為預(yù)測未來16 個點的預(yù)測功率。劃線和點-劃線采取滾動預(yù)測的方法取得未來16個點的預(yù)測值。從圖中可以看出劃線與實線的貼合程度最好,點-劃線程度次之,點線程度最差,且在預(yù)測8個點之后的曲線偏離情況愈加嚴重。
圖4 多時間尺度風電功率預(yù)測曲線圖
整個測試集預(yù)測結(jié)果的性能指標如表1所示。
表1 預(yù)測結(jié)果的RMSE (單位:MW)
由表中數(shù)據(jù)可知,基于本文建立的預(yù)測模型,能夠?qū)︼L力渦輪機的發(fā)電功率進行準確預(yù)測,并隨著預(yù)測結(jié)果個數(shù)的增加,預(yù)測值與真實值的均方根誤差增大,預(yù)測精度降低。
本文提出了一種基于TCN模型的風力渦輪機發(fā)電功率預(yù)測方法。通過選取與功率相關(guān)的特征作為網(wǎng)絡(luò)輸入,實現(xiàn)不同時間尺度的功率預(yù)測。本文研究內(nèi)容不僅為超短期風電功率預(yù)測選取不同的時間尺度提供了參考依據(jù),而且對于研究電力系統(tǒng)領(lǐng)域中其他預(yù)測問題如光伏發(fā)電、潮汐發(fā)電功率預(yù)測等提供了借鑒意義。