?

基于改進LSTM 神經網絡的風電功率短期預報算法

2024-01-31 03:46高盛許沛華陳正洪成馳
南方能源建設 2024年1期
關鍵詞:電功率風電場風速

高盛,許沛華,陳正洪,成馳

(湖北省氣象服務中心,湖北 武漢 430205)

0 引言

推進能源革命并構建清潔低碳、安全高效的現代能源供給體系,最重要的途徑是大力發展清潔可再生能源,實施化石能源清潔替代。中國提出力爭于2030 年前達到CO2排放峰值,努力爭取2060 年前實現碳中和,到2030 年非化石能源占一次能源消費的比重達到25%左右[1]。風力發電是實現這一計劃的重要組成部分。截至2021 年底,中國風電累計裝機容量達328.48 GW。然而,大規模風電并網給電力系統的正常運行和調度帶來了巨大的挑戰。由于風力資源間歇性、隨機性,造成電流頻率波動,降低電力系統的可靠性。顯然,準確的日前風電功率預報在風電并網中起著主導作用,有利于優化調度方案,降低系統備用容量,提高經濟效益和社會效益[2-3]。

準確的風電功率預測具有以下好處:(1)減少風電隨機波動對電力系統的負面影響,提高調度能力;(2)降低風電系統運行風險;(3)維護風電系統供需平衡,促進風電交易[4-5]。近年來,許多研究都致力于風電功率預測,促進了風電發展。風力發電預測領域按照預測方法不同分為物理模型[6]、傳統統計模型[7]和人工神經網絡等。物理模型物理方法一般依靠計算流體動力學在空間和時間尺度上模擬氣象現象的大氣演化和物理過程[8]。目前與物理方法相關的主流模式有全球同化和預報系統等。理論上,這些方法具有較好的時空連續性、長期預測能力和較高的時空分辨率[9]。但這些方法計算量大,局部預報性能不足。另外,現實世界中,風機的理論功率曲線與實際功率曲線存在一定偏差,使精確的物理預報模型構建變得困難,主要有以下幾個方面影響:

1)因為渦輪機不同程度的老化,給定風速產生的理論功率將隨著時間的推移而變化。

2)不同海拔高度氣壓、溫度會發生變化,導致風功率密度變化,從而使風機因不同地形、氣候條件下出力曲線發生變化[10]。

3)風機葉片受三維空間風速湍流影響,實際功率呈高度非線性散射點分布[11]。

傳統統計模型依賴于相關的歷史數據來預測未來的發電量,主要采用歷史數據、模式識別、參數估計和模型檢驗來建立問題的數學模型。如自回歸模型(AR)或自回歸移動平均模型(ARMA)等[4]。這些算法雖然計算時間復雜度小,但存在無法捕捉非線性的風機出力規律,往往不能產生良好的預報性能[3]。

近年來,人工智能算法已逐漸成為風力發電預報的主流方法,其獨特的能力在特征提取和數據挖掘方面具有顯著優勢,相比傳統的物理模型和統計方法,其在預報性能上表現出更高的效率[12]。這些算法能夠捕獲非線性關系、時間依賴性、遞歸和非平穩事件等重要特征。在眾多技術中,支持向量機(SVM)、神經網絡、極限學習機、貝葉斯方法、馬爾可夫切換模型、集成系統、模糊邏輯系統和遺傳算法等都被廣泛應用于風力發電預報領域[13],效果顯著。

在深度學習領域,卷積神經網絡(CNN)被廣泛應用于提取風電時間序列中的隱藏特征。許沛華等[12]認為長-短記憶網絡(LSTMs)、循環神經網絡(RNN)及其改進版本對處理時間序列數據具有較強的能力,已被廣泛應用于風電功率預報,且效果良好。然而,RNN 相比傳統的ANN 雖更具優勢,但有時會出現梯度消失或爆炸現象,導致在訓練期間權重振蕩或長期依賴關系的喪失。為解決此問題,一些引入門控機制來控制層之間的信息流的方法被提出。長短期記憶(LSTM)和門控循環單元(GRU)是比較典型的例子[14-15],這2 種方法的應用可以提高預報精度,并減少訓練時間。同時,也有利用卷積神經網絡進行時序預報的例子,其中被廣泛認可的模型是因果擴張時域卷積網絡(TCN)[16],它除了具備RNN 網絡所具備的高精度特征外,由于采用擴張卷積,在處理長時間序列上相比其他網絡也具備比較好的效果。過去的研究表明,注意力機制在處理長序列時可以顯著提升網絡推理效果,其在解決圖像識別、計算機視覺等領域的問題上已經取得了顯著的成功。一種自注意力模型改進LSTM[17]也被提出。有研究證明,具有獨特結構的改進LSTM 網絡在處理長時間步長的時間序列時相比RNN 網絡表現更好[18]。因此,改進LSTM 可以有效地利用注意力機制序列數據的特征,非常適合于短期風電功率的預報[19]。

本研究旨在探索并應用最先進的機器學習技術,以構建和優化基于改進LSTM 的深度學習模型。我們通過先進的數據過濾、特征工程和模型優化技術來提高預報模型的預報精度、魯棒性和計算性能。

1 數據處理方法

1.1 數據集描述

本研究收集了位于中國東北和華中地區的2 個不同風電場數據驗證模型有效性,其中風電場1 位于湖北省黃岡市麻城縣,經度為115.113°,緯度為31.566°,海拔高度為740 m,裝機容量為80 MW,數據從2021 年7 月1 日至2022 年6 月30 日,時間長度為12 個月。風電場2 為位于內蒙古通遼市,經度為113.432°,緯度為41.212°,海拔高度為1 373 m,裝機容量為49.5 MW,數據從2021 年2 月1 日至2022 年9 月30 日時間間隔為15 min 的數據,時間長度為20 個月。數據集的劃分及數據量如表1所示。

表1 實驗數據集Tab.1 Experimental data set

1.2 異常數據清洗算法

風力發電離群點和異常值嚴重影響了風電功率預報模型的準確率,一些有代表性的研究方法被提出,鄭蕾等[20]提出了局部離群點風速處理算法(Local Outlier Factor,LOF);曹立新等[21]結合滑差四分位數方法和基于多項式曲線回歸方法對數據進行清理。盡管這些方法都取得了一定效果,但基于聚類的算法會將部分異常數據識別為正常數據,給應用帶來不便。本研究將風速和風力發電廠整場發電功率作為變量繪制散點圖,如圖1 所示。通過觀察圖1 中風機出力數據圍繞以靠近中心附近的區域分布,可以通過RBF 核函數有效地將數據分布平面進行劃分。本工作以此為基礎,提出了一種高效的基于OneSVM 函數的風力發電離群點數據的清洗算法。

圖1 變量繪制散點圖Fig.1 Draw a scatter plot of variables

1.2.1 OneSVM 函數

OneSVM(One-Class Support Vector Machine)是一種基于支持向量機的異常檢測算法。該算法旨在通過僅使用正常數據進行訓練,構建一個邊界來描述正常數據的特征空間,并通過檢測與該邊界顯著偏離的樣本來識別異常數據。OneSVM 作為一種無監督學習方法,能夠有效地處理高維數據和非線性數據,并且具有較好的魯棒性。OneSVM 算法的核心決策過程為式(1),通過式(1)計算決策結果以進行數據二分類劃分。

式中:

w ——決策函數的權重向量;

ρ ——決策函數的截距;

ξi——松弛變量;

n ——訓練樣本的數量;

ν ——1 個用于控制異常樣本比例的超參數。

在本研究中選取RBF(Radial Basis Function)核函數來構建分類平面,RBF 是徑向基函數,它可以將數據從輸入空間映射到一個高維特征空間,從而更好地處理非線性問題。

式中:

x、x' ——輸入樣本點;

γ ——1 個控制函數曲線陡峭程度的參數;

||x-x'||2——輸入樣本點之間的歐氏距離的平方。

在確定數據清洗分類時,對于識別數據邊界影響較大的參數為核函數及核函數參數。對于RBF核需要選擇合適的參數,過于陡峭的RBF 函數曲線會對部分正確樣本進行錯誤映射從而導致一些正常的風電曲線特征丟失。通常的選取方式為將γ 設置為1/分類數量,對于二分類問題該值通常設為0.5。在進行工程應用時式(1)中的決策邊界一般由訓練樣本誤差百分比進行確定。

2 數據特征工程方法

2.1 數據特征相關性

過去的研究表明在訓練集中存在大量不相關數據會顯著增加模型的復雜度,也會影響模型推理的穩定性。因此通過特征工程方法篩選掉一些對模型學習有影響的特征顯得尤為重要[22]。在本研究中采用了一種基于數據相關性矩陣進行特征篩選的方法。相關性矩陣通過計算各個特征之間的相關系數,反映特征間的依賴性。在相關性矩陣中采用皮爾遜相關系數進行元素計算,相關系數的計算公式為式(3),其中 Xi,k、Xj,k是2 個變量,分別是它們的均值,n 是樣本數量。

進行數據相關性篩選的具體步驟如下:

1)構建特征數據集的相關性矩陣 R,其中R[i,j]表示第i 個和第j 個特征的相關系數。

2)設置相關性系數閾值 ρ,在本研究中該值設置為0.5。

3)對R 進行檢查,如果存在 |R[i,j]|>ρ,則認為第i 個特征與第j 個特征高度相關。

4)在每對高度相關的特征中,刪除相關性較小的特征。此時需比較各特征與目標值的相關性,刪除與目標值相關性較小者。

5)重復步驟3)和步驟4),直到不存在高度相關的特征對。

6)最終獲得的特征子集中,各特征間具有較低的冗余性。

通過以上方法,在本文中選擇了對風機出力功率影響最大的13 個指標,包括:10 m 高度的風速、風向、濕度、氣壓、溫度以及30 m、50 m、70 m、輪轂高度的風速和風向。其中,對風電出力影響最大的因素是風速,為了使得模型可以更好地學習風速的變化規律以及風速與發電功率之間的關系,需要進一步針對風速特征進行數據增強。

2.2 數據特征倍增方法

由于風速具有隨機性強的特點,因此研究者通常不會采用對風速進行單純的數值處理的方式進行特征倍增。結合風電場的地形特征,通常在特定的季節內,特定測風點風速會存在一些時延重復特征。這種特征通常表現為在臨近時間范圍附近可以觀察到相似的風速波動規律片段。傳統的數據處理方法很少考慮特征片段時移帶來的增益。因此,本研究中采用一種創新的數據倍增方式即時延滑動窗口特征處理方法。這種方法通過在數據集上滑動一個固定長度的窗口,依次截取窗口中的子集進行統計計算,從而得到一組移動平均或者其他滾動指標。

設時間序列為 X=x1,x2,···,xn,窗口大小為w,窗口起點t 的數據集為 Xt=xt,···,xt+w-1。

在t 時刻,根據指定統計函數 f,可以計算得到:yt=f(Xt)。通過在原始序列上滑動窗口,重復該過程,最終得到輸出移動平均序列:

滑動窗口方法支持多種統計函數f,如求平均、最大值、相關系數等。通過調整窗口大小w,可以觀察不同時間尺度上的趨勢和模式。本文采用的滑動窗口大小分別為4 和24,統計函數方法選擇了最大值和平均值統計法。經過實驗這組參數可以最有效地提升模型效果。

2.3 風速特征重建

由于風的波動性、隨機性和受湍流的影響,導致風擊中掠葉轉子的速度和方向迅速變化,使觀測風速與撞擊轉子葉片的風速不匹配,導致風速與輸出功率之間的不匹配[23]。大量研究表明準確地刻畫風速的波動特征有利于提高預報模型的準確率,尤其某一時刻風速 v0與鄰近時間段 ?t={15,30,45,60}(單位為min)內風速的變化特征與發電功率存在潛在映射關系。通過對風速數據進行分析,并參考許沛華等[12,24]提出的風速數據處理方法,在此基礎上結合第1 章中2 個風電場的實測數據將對風速變化波動特征影響較大的因子進行篩選以及檢驗,得到了4個影響比較明顯的特征因子。通過數據分析及驗證,在我們的模型中引入了鄰近的1 h 內風速波動特征的表示,這些特征分別為風速絕對波動幅度 VA、風速相對波動幅度 VR、風速標準差 Vε、最大風速 Vmax、最小風速 Vmin、風速爬坡次數 Rcnt6 個量表示風速的波動特征。

定義1:風速標準差 Vε反映 ?t時間內風速偏離風速均值 v′的離散程度,該值越大波動越大,否則波動較小,如式(5):

式中:

n——樣本總數(個)。

定義2:最大風速 Vmax反映 ?t 時間內風速的最大值,如式(6):

定義3:最小風速 Vmin反映 ?t 時間內風速的最小值,如式(7):

定義4:風速爬坡次數 Rcnt是 ?t時間內風速變化超過閾值 δ的次數,該值越大代表波動越頻繁,否則波動不頻繁,如式(9):

3 預報模型

3.1 機器學習回歸模型

在風電發電功率預報領域,機器學習技術被廣泛應用,其中被認為效果比較好的算法包括隨機森林算法Random Forest(RF),梯度提升樹集成算法LightGBM 等。目前被更多使用的方法是LightGBM,LightGBM 采用了梯度提升樹原理,其中包括葉子分裂策略、直方圖優化、基于梯度的學習和正則化,使其能夠高效處理風能數據。以下是LightGBM 的關鍵原理:

葉子分裂策略:LightGBM 采用了葉子分裂(Leaf-wise)的生長方式,與傳統的深度優先生長(Depth-wise)不同。這種策略選擇具有最大梯度的葉子來分裂,以最大程度地減小損失函數。這導致樹的深度相對較小,有助于捕獲風能數據中的非線性關系和季節性模式。

直方圖優化:LightGBM 使用直方圖算法,將數據集分成多個直方圖,每個直方圖代表一個特征的取值范圍。這減少了對數據的排序和遍歷,提高了訓練速度,尤其適用于大規模數據集。

基于梯度的學習:LightGBM 在每次迭代中計算損失函數對模型預報的梯度,并根據梯度擬合一個新的決策樹。這使模型逐步優化,不斷減小預報誤差。

正則化:LightGBM 引入了正則化項,包括葉子結點的最大深度和葉子結點的最小數據數。這有助于防止過擬合,提高模型的泛化性能。

3.2 時域卷積神經網絡TCN

神經網絡方法也經常被用在為風電功率預報領域,其中比較典型的算法有基于RNN 的GRU,LSTM 等算法,基于卷積神經網絡的TCN 算法等。其中TCN 算法是近期被認為具有潛力的算法。由于風電具備長時間序列依賴特征,因此為了捕獲具有較長歷史的時間序列,TCN 使用了因果空洞卷積,采用指數級的放大方式擴大接受野。t 時刻的輸出取決于t 時刻及之前的輸入,說明歷史信息沒有被忽略,通過膨脹系數d 實現了對卷積層的間隔采樣,它擴大了接受野??傊?,擴張因果卷積在處理數據時可以考慮更多的歷史信息,獲得更大的一維序列的特征視界。針對這種網絡結構特征的定義如式(10)所示。

式中:

d ——膨脹系數,代表每間隔多少數據點進行一次采樣;

xs-d·i——經過按膨脹系數d 間隔選取的第i 個數據點。

3.3 改進LSTM 方法

受到近期被學術界廣泛研究的編碼器-解碼器神經網絡結構的啟發,本研究中采用了一種新型的基于LSTM 單元堆疊的編碼器與解碼器結構。相比傳統LSTM,這種形式可以通過引入時間變量編碼、解碼時間段的數值預報信息來提升預報的準確性。改進的LSTM 神經網絡結構如圖2 所示,對于網絡結構描述具體如下。

圖2 改進的LSTM 網絡結構Fig.2 Improved LSTM network structure

編碼器部分由多個編碼器層堆疊而成,在本研究中每個編碼器層包含2 個子層。編碼器輸入層之前包含1 個歸一化層,用于平穩風電時間序列數據的波動情況,將所有值采用標準歸一化方法歸一化到[-1,1]的區間內。編碼器層的輸入包含對時間序列的編碼,編碼器的輸出為堆疊LSTM 的輸出。解碼器部分為單個LSTM 子層,其后包括1 個殘差連接層和1 個全連接層。殘差連接將編碼器的輸出與解碼器的輸出進行加和連接,殘差層后經過單個全連接層進行最終結果輸出。

總體來說,改進LSTM 模型的網絡結構除了引入編碼器-解碼器機制外還采用了殘差連接和歸一化的設計,以增強模型的訓練穩定性和表達能力。

4 實驗結果與討論

4.1 評估指標

由于平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Squared Error,RMSE)可以反映預報值與真實值之間的距離,本文使用MAE、RMSE 來評估預報誤差。一般越小的值代表算法表現越好。同時本文也引入了被廣泛風電場采用的準確率評估公式進行準確率評估對比,該公式可以表示實際發電功率與預報功率之間的偏差百分比。通常準確率越接近100%表示算法性能越好。它們的公式見式(11)~(13)。

式中:

yi——真實值(MW);

ycap——電廠的裝機容量(MW)。

4.2 數據清洗結果

風電場1 和風電場2 的數據清洗結果可以分別參見圖3 和圖4 所示。在圖3 中,左側圖為使用未經清洗的風速-風力發電功率繪制的散點圖,右側圖的紅色點狀內容為經過使用RBF 核的SVM 進行邊界劃分數據清洗后的結果,在本實驗中所選取的核參數為其中使用訓練誤差分數的上界劃分參數nu值為0.05,RBF 核曲線斜率γ 選取0.5。圖4 與圖3的呈現方式相同。從圖中可以看出經過OneSVM 算法清洗后的部分數據可以保留風電場的有效風功率特征,諸如功率記錄異常數據、棄風時段的風功率數據等均可以被有效清除。圖3 與圖4 中散點右下方區域的點可能是由于部分風機故障檢修或者部分風機迎風角度不正確導致,這種情況在日常發電過程中不屬于常發事件,但這部分數據會對機器學習的結果產生較大的影響。經過OneSVM 清洗后的數據不會包含這部分數據,因此可以整體提升機器學習算法的準確率。

圖3 風電場1 散點圖異常數據點清洗效果Fig.3 Cleaning effect of abnormal data points in scatter diagram of wind farm 1

圖4 風電場2 散點圖異常數據點清洗效果Fig.4 Cleaning effect of abnormal data points in scatter diagram of wind farm 2

4.3 對比實驗結果

本文對比了不同算法在數據清洗前和數據清洗后的預報誤差,風電場1 的結果數據如表2 所示,風電場2 的結果數據如表3 所示。

表2 風電場1 結果數據Tab.2 Result data of wind farm 1

表3 風電場2 結果數據Tab.3 Result data of wind farm 2

表2 和表3 分別對應風電場1 和風電場2 的實驗結果,從表中可以看到風電場1 和風電場2 所使用的方法相比其他方法具有比較優勢。從風電場1的數據表中橫向比較進行數據清洗及數據增強前后同樣算法下的MAE 指標相比未清洗情況平均誤差減小了約2 MW,約占場站裝機容量的2.5%,RMSE指標相比之前減少了約3 MW,約占場站裝機容量的3.8%,平均準確率提升約5%。風電場2 的提升數據也呈類似情況。比較表中使用原始數據集以及使用經過特征工程處理后的數據相比特征工程處理之前在所有指標上都有顯著提升。

使用改進的LSTM 算法在MAE、RMSE 及準確率指標相比LightGBM 算法在風電場1 提升約0.94 MW、2.141 MW 及4.21%,相比傳統LSTM 及TCN 平均提升0.333 MW、0.313 MW 及0.62%。風電場2 的提升情況與風電場1 類似。綜合來看,平均2 個場站的結果本文提出的改進算法在數據清洗后進行對比平均可以提升約2.5%的準確率,對比數據清洗前準確率平均可以提升約5.9%。表明文中所提出的改進LSTM 算法針對風電功率預報模型的誤差減小以及準確率提升是有效的。

4.4 結果分析與總結

通過上文分析結論,本文主要有以下3 個貢獻:

1)與現有的神經網絡模型對比,文章中提出的改進LSTM 模型在已知數據集上的表現優于TCN等流行的神經網絡,它表現出了顯著的性能。到目前為止,在風力發電日前預報領域還缺乏這樣的比較。因此,本文將一種新的基于改進LSTM 的深度學習方法應用于風電功率的預報,并通過與其他傳統模型以及神經網絡模型的比較,綜合評估了該方法在風電功率預報中的有效性。

2)風機出力受一段時間內風速相對或絕對波動輻度、最大風速、最小風速、風速爬坡的頻率等因子影響,因此準確的風速波動特征提取非常重要。雖然LSTM 和TCN 深度學習模型對歷史信息具有記憶功能,但對風力發電的這些特征提取仍然不夠。本研究中創新性地提出了一種時延滾動數據拼接的方法,并定義了4 個對風機出力影響較大的風速特征變量輸入到模型中,這種數據處理大大增強了模型的學習能力。

3)在這項研究中,一種基于OneSVM 函數的檢測和消除風力發電數據集中異常值的方法被提出,然后將其輸入到TCN,改進LSTM 等深度學習模型中。提出的基于OneSVM 函數的異常值檢測算法可以根據數據分布密度劃分識別區域,識別異常值更加精準,增強了預報模型的準確率。

5 結論

本研究針對風電功率預報問題,提出一種基于改進LSTM 的預報模型。該模型集成了數據異常檢測、風速特征提取、超參數優化等模塊,形成了一套端到端的預報解決方案。研究表明,該模型可以有效檢測和處理異常數據,準確學習風速特征,并利用改進LSTM 網絡進行預報,相較TCN 等算法具有明顯優勢。本研究的3 點創新與貢獻包括:利用改進LSTM 網絡進行風電功率預報,與TCN 等算法進行比較,驗證其在風功率預報任務上的有效性;提出時延滾動數據拼接方法,定義風速特征變量,增強模型學習能力;應用基于OneSVM 函數的異常值檢測算法,提高預報準確率。

本研究為風電功率預報提供了一種新的基于深度學習的解決方案。相較于傳統算法,該方案可以更好地建模時間依賴關系,提取關鍵特征,處理異常數據。研究結果表明,該模型可以顯著提高風功率預報的精度。

猜你喜歡
電功率風電場風速
基于PCC-CNN-GRU的短期風電功率預測
基于Kmeans-VMD-LSTM的短期風速預測
輕松上手電功率
你會計算電功率嗎
基于最優TS評分和頻率匹配的江蘇近海風速訂正
解讀電功率
基于PSS/E的風電場建模與動態分析
基于GARCH的短時風速預測方法
含風電場電力系統的潮流計算
考慮風速分布與日非平穩性的風速數據預處理方法研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合