施進煒,張 程,2,原冬蕓
(1.福建理工大學(xué)電子電氣與物理學(xué)院,福建福州 350118;2.智能電網(wǎng)仿真分析與綜合控制福建省高校工程研究中心,福建福州 350118;3.閩江學(xué)院材料與化學(xué)工程學(xué)院,福建福州 350108)
近十年來,可再生能源風(fēng)能經(jīng)歷了階段式的跨越,截止到2022 年,全年風(fēng)光發(fā)電累計裝機容量達到7.6 億千瓦,同比增速達18.75%,風(fēng)電已經(jīng)逐步成為能源供應(yīng)的中堅力量。但由于風(fēng)力發(fā)電受氣象和和地理條件的影響,風(fēng)電具有隨機性、波動性和間歇性,使得大規(guī)模的風(fēng)電并網(wǎng)電力供需難以平衡[1-4]。提高風(fēng)電預(yù)測的精度,有助于優(yōu)化電網(wǎng)的整體規(guī)劃調(diào)度,找到風(fēng)機的最佳組合,保證電力系統(tǒng)安全穩(wěn)定運行,從而進一步提高風(fēng)電的經(jīng)濟效益[5-7]。因此風(fēng)電功率預(yù)測技術(shù)的精準度是當(dāng)前探究的重要方向。
目前為止,風(fēng)電功率的預(yù)測法分為統(tǒng)計法和物理法[8]。而物理法主要是用數(shù)值天氣預(yù)報(Numerical Weather Prediction,NWP)的預(yù)測結(jié)果得到氣象數(shù)據(jù),再利用風(fēng)機的功率曲線計算得出風(fēng)機的實際輸出功率。NWP 更新的頻率在1~3 h 內(nèi),不適用于短期風(fēng)電功率預(yù)測。而統(tǒng)計法則是基于歷史風(fēng)電功率數(shù)據(jù),結(jié)合輸入特征信息構(gòu)建功率預(yù)測的非線性模型,主要包括時間序列模型[9]、支持向量機模型[10]、深度神經(jīng)網(wǎng)絡(luò)模型[11]等。
隨著深度學(xué)習(xí)的不斷發(fā)展,通過學(xué)習(xí)大量參數(shù),非線性的數(shù)據(jù)擬合能力得到不斷地提高。因此,使用深度神經(jīng)網(wǎng)絡(luò)來擬合風(fēng)電功率這種具有強隨機的時間序列具備合理性[12]。長短期記憶網(wǎng)LSTM[13](Long Short Term Memory,LSTM)和門控循環(huán)單元[14](Gate Recurrent Unit,GRU)為主的神經(jīng)網(wǎng)絡(luò)在風(fēng)電功率預(yù)測中有大面積的應(yīng)用。文獻[15]中長短期記憶模型構(gòu)建高頻校正模型,彌補低頻分量缺失的高頻分量,提高數(shù)據(jù)挖掘的準確性。文獻[16]對天氣預(yù)報、實測功率數(shù)據(jù)進行時空特征提取,結(jié)合注意力機制,對多個風(fēng)場之間相關(guān)性進行學(xué)習(xí),剔除低權(quán)重冗余信息。獲取預(yù)測精度更高的風(fēng)電功率未來數(shù)據(jù)。文獻[17]采用動態(tài)權(quán)重選擇、孤立森林算法以及鄰近節(jié)點算法篩選并處理數(shù)據(jù),構(gòu)建多元注意力框架,具有提高模型預(yù)測精度的作用。Transformer 模型完全拋棄常見的循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network,RNN)、LSTM 結(jié)構(gòu),采用Encoder-Decoder 結(jié)構(gòu),最近許多學(xué)者將其運用到序列數(shù)據(jù)預(yù)測領(lǐng)域均取得了不錯的效果[18],但其計算復(fù)雜度高,多層網(wǎng)絡(luò)堆疊,占用內(nèi)存,訓(xùn)練速度較慢。
采集過程中不可控因素的存在,使采集到的原始風(fēng)電數(shù)據(jù)中存在異常數(shù)據(jù)及缺失數(shù)據(jù)[19],無法進行直接預(yù)測。文獻[20]將離群信息標識為異常,但該方法流程較復(fù)雜,且檢測耗時過長。文獻[18]雖然檢測精度高,但受參數(shù)選取的影響大,因此魯棒性較差。文獻[21]采用基于距離的異常檢測,但需提前獲悉數(shù)據(jù)的先驗知識且無法對數(shù)據(jù)的異常度進行區(qū)分。
本文提出一種數(shù)據(jù)修正的概率稀疏自注意力風(fēng)電功率預(yù)測方法。首先,采用一種新的集成異常檢測技術(shù),通過綜合K 近鄰、局部異常因子、孤立森林3 種方法進行異常檢測,并且利用輕梯度提升機(Light Gradient Boosting Machine,lightGBM)學(xué)習(xí)經(jīng)過清洗的風(fēng)速-功率數(shù)據(jù)集,對缺失值進行補充。然后將修正后的數(shù)據(jù)集輸入Informer 模型進行訓(xùn)練,該模型通過概率稀疏自注意(ProSparse selfattention)篩選出重要特征,在保證預(yù)測精度的基礎(chǔ)上,進一步提高運算速度。此方法能提高預(yù)測效率和精度,準確的短期風(fēng)電功率預(yù)測有助于減少電力系統(tǒng)的調(diào)峰負荷,降低火電廠的啟停次數(shù),提高火電廠的運行效率,降低運行成本。而更高效率的預(yù)測,可以更快地為電網(wǎng)調(diào)度提供可靠的信息,提高電力系統(tǒng)運行的經(jīng)濟性和穩(wěn)定性。
本文采用的風(fēng)電數(shù)據(jù)集來源于某風(fēng)電場。該數(shù)據(jù)集記錄了風(fēng)電場從2019 年3 月1 日00:00—2020 年2 月28 日24:00 的70 m 高度的風(fēng)速、風(fēng)向、環(huán)境溫度、實測風(fēng)電功率等數(shù)據(jù),采樣時間間隔為15 min。
圖1 為該風(fēng)電場四季的風(fēng)力玫瑰圖,受季節(jié)影響,春夏盛行的東風(fēng),秋季從東風(fēng)向西南風(fēng)過渡,冬季盛行西南風(fēng)。
圖1 四季風(fēng)力玫瑰圖Fig.1 Dynamic wind rose for four seasons
根據(jù)風(fēng)速-風(fēng)電功率的數(shù)據(jù)分布特征,正常的數(shù)據(jù)分布在風(fēng)速-風(fēng)電功率曲線附近,然而異常數(shù)據(jù)常表現(xiàn)為橫向數(shù)據(jù)帶聚集性分布且明顯偏離風(fēng)速-功率曲線。如圖2所示。
圖2 異常數(shù)據(jù)類型Fig.2 Abnormal data type
異常類型主要分為3 類:(1)類型1:曲線上部分的堆積式異常數(shù)據(jù),一般由計量裝置的失靈所引起;(2)類型2:曲線中部的堆積式異常數(shù)據(jù),一般是由限電或網(wǎng)絡(luò)故障引起;(3)類型3:曲線周圍分散式異常數(shù)據(jù),一般是由于氣象波動、信號傳播噪聲等隨機情況造成。
1.2.1K近鄰聚類檢測
K近鄰(K-Nearest Neighbor)是一種常用的監(jiān)督學(xué)習(xí)方法,其工作機制是隨機選定初始樣本作為起點,計算各個樣本與所選起點的歐式距離來判斷相似程度,即相似分數(shù)[22]。根據(jù)相似分數(shù)去劃分類別,隨后確定各類別中心。重復(fù)上述步驟,直到起點不改變,劃分的樣本類別就確定完畢。
1.2.2 局部異常因子檢測
局部異常因子檢測(Cluster-based Local Outlier Factor)首先通過k-means 聚類,區(qū)分出大簇和小簇[23]。然后將每簇按數(shù)據(jù)量從大到小排序之后,大簇通常占總量的90%左右,余下的就被認為是小簇。最后計算異常點分數(shù),當(dāng)數(shù)據(jù)點屬于大簇的時候,計算它與當(dāng)前簇的聚類中心的距離,當(dāng)數(shù)據(jù)點屬于小簇時,計算它與最近的大簇的聚類中心的距離,得出異常分數(shù),然后從大到小排序,篩選出異常值。
1.2.3 孤立森林異常檢測
孤立森林(Isolation Forest)算法是一種無監(jiān)督離群點檢測算法,該算法不使用距離或密度測度來檢測異常,而是根據(jù)所計算出樣本點的異常分數(shù)來識別其中的異常點[24]。孤立樹林計算法首先計算每個數(shù)據(jù)的原始異常得分,然后根據(jù)孤立樹在樣本空間P中隨機選取m個特征,在所選取數(shù)據(jù)的最大值與最小值間隨機選取一個數(shù)值,以分割數(shù)據(jù)點。隨著觀測數(shù)據(jù)的劃分遞回的重復(fù),直至把所有的觀測值都孤立,然后再把各個樹組成孤立樹林。
對于樣本點的異常值分數(shù)S(x)定義如下:
式中:h(x)為樣本點x在森林中的平均深度;c(n)為由n個點構(gòu)造的孤立樹的平均路徑長度,計算方法如下:
式中:H(g)為諧波函數(shù),H(g)=lng+0.58
1.2.4 KCI集成異常檢測
集成近鄰森林異常檢測算法(Nearest-Cluster-Isolation,KCI)是一種基于多種檢測算法的集成異常檢測。該算法利用近鄰算法、孤立森林、局部異常因子檢測分別檢測異常點。在理論功率曲線小波動范圍內(nèi),篩選掉所檢測的異常點,最后綜合3個算法檢測的結(jié)果合并為異常點集合,步驟為:
1)標記歷史風(fēng)速-功率數(shù)據(jù)集合所有樣本為初始未處理狀態(tài)。
2)輸入3 種異常檢測算法種,分別判斷出每個樣本點是否為異常值,輸出3 個異常點集r1,r2,r3。
3)3 個異常點集通過選擇門w,即計算異常點與理論功率曲線的橫向距離是否在理論功率的±5%內(nèi),若異常點被識別在該范圍內(nèi),則剔除此異常點。
4)綜合篩選后的異常點集,輸出異常點集合。
異常值清洗之后,原始數(shù)據(jù)序列存在數(shù)據(jù)缺失,會破壞風(fēng)電數(shù)據(jù)集在時序上的連續(xù)和完整,進而導(dǎo)致數(shù)據(jù)分析挖掘變得困難。因此需要對缺失值進行重構(gòu),才能保證數(shù)據(jù)質(zhì)量。針對該問題本文采用LightGBM[25],對清洗后的數(shù)據(jù)進行深度學(xué)習(xí),生成的新的數(shù)據(jù)來重構(gòu)數(shù)據(jù)集,以此來對缺失的功率值進行補充。
LightGBM 是一種高效的梯度增強決策樹,其本質(zhì)是多個弱回歸樹的加法模型,是梯度提升決策樹GBDT(Gradient Boosting Decision Tree)[26]的升級版本,可以有效地解決高維大量數(shù)據(jù)處理效率較低的問題。采用互斥特征捆綁、單邊梯度采樣和高效并行新技術(shù),減少了特征數(shù)量,避免小樣本數(shù)據(jù)的影響,有效減少特征數(shù)量,提高效率和準確度。
圖3 為單棵回歸樹的結(jié)構(gòu)。LightGBM 采用leaf-wise 策略,每次對所有葉子分裂增益最大的子節(jié)點進行分裂,其他葉子節(jié)點則不會分裂。為了避免出現(xiàn)過擬合,LightGBM 會限制葉子節(jié)點生長過程中樹的深度,即調(diào)節(jié)max_depth 來限制樹的深度。
圖3 單棵回歸樹結(jié)構(gòu)Fig.3 Structure of single regression tree
Informer 算法是一種高效的基于transformer[27]的時間序列預(yù)測模型。針對Transformer 模型的不足,Informer 采用概率稀疏自注意(ProbSparse Selfattention),能夠有效降低計算復(fù)雜度。編碼器和自注意蒸餾(Self-attention Distilling)結(jié)合,減少維度和網(wǎng)絡(luò)參數(shù)量。
該算法的結(jié)構(gòu)框架如圖4 所示,其中Xen為編碼器的風(fēng)電歷史長序列輸入,Xdn為解碼器序列輸入,Xsn為預(yù)測點之前的已知序列,X0為預(yù)測序列的占位符(將標量設(shè)置為0)。左半部分編碼器接受大量風(fēng)電歷史長序列輸入(紫色系列),采用概率稀疏自注意代替了常規(guī)自注意力,粉色梯形是自注意力蒸餾機制;右半部分解碼器接收長序列輸入,將目標元素置零,測量特征圖的加權(quán)注意力組成,并立即以生成方式預(yù)測輸出元素(黃色系列)。
圖4 Informer模型框架Fig.4 Informer model framework
傳統(tǒng)的自注意力機制由Q,K,V(向量)構(gòu)成,表達式為:
式中:Q為查詢向量(query);K為鍵向量(key);V為值向量(value);d為輸入維度。
設(shè)qi,ki,vi分別代表Q,K,V中的第i行。第i個查詢的注意力被定義為概率形式的內(nèi)核平滑器:
式中:k(qi,ki)為計算qi,ki的不對稱指數(shù)核;為第i個Q的條件下K的分布期望值;vj代表V中的第j行。
傳統(tǒng)的自注意需要較大內(nèi)存和二次點積計算代價,是其預(yù)測能力的主要缺點。為了保證不遺漏重要注意力且較小的計算量,通過相對熵(relative entropy)定義第i個概率稀疏度量M(qi,K)為:
第一項是所有鍵向量上qi的對數(shù)求和指數(shù)函數(shù)(log-sum-exp,LSE);第二項則是他們的算數(shù)平均。其中,LK為鍵向量K中的鍵數(shù),Kj為K中的第j個鍵向量。然而這樣計算LSE 存在潛在的數(shù)值穩(wěn)定性問題,通過近似qi的方式設(shè)定M值的上限:
基于式(6)的理論,提出概率稀疏自注意機制,其表達示為:
式中:和Q為具有大小相同的稀疏矩陣,且僅包含在稀疏度量下的qi中。
算法復(fù)雜度用O(L)表示,L為輸入數(shù)據(jù)的量,L的規(guī)模越大,算法的執(zhí)行效率越低。該方法使得計算復(fù)雜度從O(L2)降到O(LlnL)。
為了更高效地使用內(nèi)存和提高運行效率,通過自注意力蒸餾機制逐次將序列長度減半,第j層到第j+1層的蒸餾操作的表達式為:
基于數(shù)據(jù)修正的概率稀疏自注意短期風(fēng)電功率預(yù)模型流程如圖5 所示。
圖5 基于數(shù)據(jù)修正的概率稀疏自注意短期風(fēng)電功率預(yù)測流程圖Fig.5 Flowchart of short-term wind power prediction based on data correction with probabilistic sparse selfattention
本文采用自動超參數(shù)優(yōu)化Optuna 對LightGBM進行參數(shù)調(diào)節(jié),以得到較好的缺失值重構(gòu)效果,部分關(guān)鍵參數(shù)見表1,其中最大深度、正則化系數(shù)α、正則化系數(shù)β無量綱。
表1 Optuna算法參數(shù)調(diào)節(jié)結(jié)果Table 1 Parameter tuning results with Optuna algorithm
Informer 參數(shù)設(shè)置如表2 所示。其中n_heads為多頭注意力機制中的頭數(shù),無量綱;seq_len 為控制模型輸入序列長度;e_layers 為encoder 的層數(shù);d_layers 為decoder 的層數(shù);loss 為損失函數(shù)的類型選擇;moving_avg 為移動平均的窗口大小,無量綱。該參數(shù)用于控制模型的平滑程度,即在預(yù)測時對歷史數(shù)據(jù)進行平滑處理,以減少噪聲和異常值的影響。
表2 Informer參數(shù)設(shè)置Table 2 Parameter settings for Informer model
為了對風(fēng)電數(shù)據(jù)集進行有效充分的修復(fù),采用二階段的修正策略。在第一階段,將風(fēng)電場數(shù)據(jù)集采用KCI 集成檢測進行異常值識別,并與KNN 近鄰、局部異常因子檢測、孤立森林進行實驗比對。在進行無監(jiān)督異常檢測前,將上述4 種方法的污染比例設(shè)置為0.05,該參數(shù)用來將連續(xù)的異常分值轉(zhuǎn)化為0(正常點)和1(異常點)的。
由圖6(a)可以看出,KNN 近鄰聚類方法在進行風(fēng)速-功率異常檢測時,類型2 并未得到有效識別,散點圖中部有密集的異常點堆積。圖6(b)顯示在異常檢測時,該方法僅將類型2 進行正常識別,但類型1 和類型3 并未得到有效的識別。如圖6(c)顯示孤立森林異常檢測能夠?qū)︻愋? 和類型3 進行充分識別,但是類型2 仍識別不夠充分。圖6(d)顯示與其他算法相比,KCI 能夠較為充分地識別3 類異常值。
圖6 4種異常檢測算法結(jié)果對比Fig.6 Comparison of results among four anomaly detection algorithms
為保證數(shù)據(jù)集的完整性,第二階段對異常值進行清洗后,用LightGBM 對缺失值進行補充,防止后續(xù)的數(shù)據(jù)挖掘出現(xiàn)問題。圖7 為經(jīng)過清洗和重構(gòu)兩步預(yù)處理之后的風(fēng)速-功率曲線,該曲線保留原有的樣本趨勢下,更加貼近理論風(fēng)速-功率曲線。
圖7 清洗重構(gòu)后的風(fēng)速-功率曲線Fig.7 Wind speed-power curve after data cleaning and reconstruction
本文提到的概率稀疏注意對Transformer 進行了改進,使其訓(xùn)練時長和精度都得到了有效提升,將編碼器最終輸出的特征圖進行可視化處理如圖8所示。顏色越接近黃色稀疏程度低,接近藍色稀疏度高,Informer 的稀疏化的特征圖相比Transformer,僅對少部分位置賦予更高權(quán)重,剩余的部分權(quán)重分布平均。
圖8 編碼器最終特征圖輸出可視化Fig.8 Visualization of final feature map output of encoder
采用2019 年3 月至2020 年2 月的國內(nèi)某風(fēng)電場氣象數(shù)據(jù)和實測數(shù)據(jù)分別對四季的情況進行實驗分析,數(shù)據(jù)集按照1:4 劃分測試集和訓(xùn)練集。將過去1.5 h 的風(fēng)速、風(fēng)向、環(huán)境溫度等共12 個變量作為輸入,輸出變量為15 min 的風(fēng)電功率。該算例基于Python 實現(xiàn)。硬件采用CPU: AMD R-5800H,3.20 GHz,GPU: RTX 3070,8 GB,內(nèi)存:16 GB 的計算機平臺。
基于該數(shù)據(jù)集將本文提出的Informer 模型與自注意力模型Transformer、深度分解自回歸模型Autoformer、重參數(shù)化自注意力模型Reformer 進行實驗比對,使用擬合系數(shù)(R2),均方根誤差(Root Mean Square Error,RMSE),EMA和平均訓(xùn)練時間t對各個模型的預(yù)測精度和時間進行評價。RMSE 的值用ERMS表示。ERMS用于衡量模型的絕對誤差,值越小,絕對誤差越小。R2表示預(yù)測功率和實際功率曲線擬合度,取值范圍為(0,1),R2的值越接近1,說明擬合程度高,預(yù)測效果好。ERMS和R2的計算公式為:
式中:N為預(yù)測點數(shù)量;i為預(yù)測點序號;為預(yù)測值;yi為實測值;為平均值。
原始數(shù)據(jù)輸入預(yù)測模型中,Informer 模型采用使用圖形處理器GPU 來加速深度學(xué)習(xí)模型的訓(xùn)練。將尚未清洗重構(gòu)的原始風(fēng)電數(shù)據(jù)集,歸一化后輸入各個模型中。
從圖9 可以看出,未經(jīng)過數(shù)據(jù)修正的原始功率曲線具有顯著的間歇性,在功率值接近0 的時間段內(nèi)Autoformer,Reformer 的預(yù)測結(jié)果與實際功率曲線有著顯著的差異,而本文的Informer 模型在各個時間段均的擬合結(jié)果表現(xiàn)最佳。
圖9 原始數(shù)據(jù)輸入各個模型性能對比(春季)Fig.9 Performance comparison of various models for raw data input(spring)
將原始風(fēng)電數(shù)據(jù)通過KCI 數(shù)據(jù)清洗和LightGBM 數(shù)據(jù)重構(gòu)來給數(shù)據(jù)降低噪聲,歸一化處理后載入到各個模型中,實驗結(jié)果如圖10 所示,經(jīng)過數(shù)據(jù)修正之后的功率曲線,降低了氣象波動、設(shè)備異常等誤差的影響,風(fēng)電功率得到了一定的提升,各個模型的擬合程度均有所提升。
圖10 修正數(shù)據(jù)輸入各個模型性能對比(春季)Fig.10 Performance comparison of various models for corrected data input(spring)
表3 為四季實驗結(jié)果。
表3 四季實驗結(jié)果Table 3 Experimental results from four seasons
由表3 所示四季數(shù)據(jù)修正前后預(yù)測模型的實驗結(jié)構(gòu)或表明,與原始數(shù)據(jù)輸入相比,該數(shù)據(jù)修正技術(shù)減低了預(yù)測誤差,Informer 的ERMS,R2在數(shù)據(jù)修正前后都表現(xiàn)最佳。Autoformer 在數(shù)據(jù)修正后,ERMS,R2得到了明顯的提升,說明Autoformer,Transformer 對數(shù)據(jù)噪聲較為敏感。Reformer 具有一定的抗干擾能力,但是預(yù)測模型的性能表現(xiàn)不如Informer。
兼顧精度和更快的訓(xùn)練速度有助于電網(wǎng)調(diào)度決策,對于針對15 min 的風(fēng)電功率短期預(yù)測,訓(xùn)練速度很重要。從表3 中可知,Autoformer 的訓(xùn)練時長最長,Informer 的訓(xùn)練時長最短。Informer 通過改進Transformer 概率稀疏自注意機制、蒸餾機制使得模型訓(xùn)練更高效,訓(xùn)練時長相比Transformer 有所下降。
綜合上述,本文提出的數(shù)據(jù)修正的概率稀疏自注意短期預(yù)測相比傳統(tǒng)的預(yù)測方法有一定的優(yōu)勢。
本文提出了一種數(shù)據(jù)修正的概率稀疏自注意短期風(fēng)電功率預(yù)測方法,采用集成異常檢測KCI 方法對異常值進行檢測,并利用LightGBM 對清洗后的數(shù)據(jù)進行學(xué)習(xí),保留數(shù)據(jù)特征的同時對缺失數(shù)據(jù)集進行修復(fù)。本文提出的概率稀疏自注意在傳統(tǒng)自注意力的基礎(chǔ)上,用概率稀疏評估篩選出重要特征,相比于其他及基準算法,魯棒性更強,具有良好精度的同時,提高了預(yù)測速度。本文采用西北某風(fēng)電場實測數(shù)據(jù)進行方法有效性的驗證,結(jié)論如下:
1)采用集成異常檢測和LightGBM 缺失值修復(fù),對比數(shù)據(jù)修正前后,4 個模型的精度都得到了提高。
2)從擬合系數(shù)、均方根誤差、絕對誤差、訓(xùn)練時長4 個方面來看,Informer 的模型效果最好,擬合系數(shù)可以達到94.5%,誤差低于其他模型。
需要指出的是,該算法的執(zhí)行復(fù)雜度取決于數(shù)據(jù)的長度和模型超參數(shù),需要根據(jù)具體情況對超參數(shù)和輸入數(shù)據(jù)長度進行調(diào)整。在實際工程中,受到各個不同風(fēng)場具體的地理環(huán)境影響,實際分析會存在差異性;應(yīng)注意使用合適的評價指標(如MAE、RMSE 等)來評估模型的預(yù)測效果,并根據(jù)實際需求對模型進行優(yōu)化;需要考慮計算資源的限制。可以通過降低模型的復(fù)雜度、使用知識蒸餾等方法來降低計算復(fù)雜度,以滿足實際應(yīng)用的需求。