摘 要:本文研究電力負(fù)荷隨機(jī)性問(wèn)題,提出構(gòu)建基于CNN-LSTM與自注意力機(jī)制的短期電力負(fù)荷預(yù)測(cè)模型。在CNN-LSTM混合模型中引入自注意力機(jī)制,根據(jù)電力負(fù)荷時(shí)間序列特性對(duì)原有均方誤差法進(jìn)行優(yōu)化,采用加權(quán)均方誤差法設(shè)計(jì)損失函數(shù)。為了防止模型過(guò)擬合,提高穩(wěn)定性,引入Adam優(yōu)化器與正則化系數(shù),保證數(shù)據(jù)精準(zhǔn)。為了驗(yàn)證方案有效性,本文設(shè)計(jì)試驗(yàn),并對(duì)比4種模型。試驗(yàn)結(jié)果表明本文設(shè)計(jì)模型預(yù)測(cè)值與真實(shí)值誤差最小。在CNN-LSTM模型中引入自注意力機(jī)制的方案能夠提高預(yù)測(cè)精度,為電網(wǎng)電力穩(wěn)定運(yùn)行提供技術(shù)支持。
關(guān)鍵詞:CNN-LSTM;自注意力機(jī)制;短期電力負(fù)荷;預(yù)測(cè)模型
中圖分類號(hào):TM 74 " " " " " 文獻(xiàn)標(biāo)志碼:A
隨著智能電網(wǎng)和大數(shù)據(jù)技術(shù)的發(fā)展,短期電力負(fù)荷預(yù)測(cè)是保障電力系統(tǒng)穩(wěn)定運(yùn)行的關(guān)鍵環(huán)節(jié)。應(yīng)用模型多數(shù)為單一模型,電力負(fù)荷的時(shí)間序列數(shù)據(jù)比較復(fù)雜,但是傳統(tǒng)模型捕捉并提取時(shí)間序列中關(guān)鍵時(shí)間步的能力仍然存在不足。因此,本文提出結(jié)合自注意力機(jī)制的CNN-LSTM模型,引入自注意力機(jī)制動(dòng)態(tài)調(diào)整時(shí)間步權(quán)重,提高模型對(duì)重要特征的捕捉能力,提升預(yù)測(cè)精度和穩(wěn)定性。
1 數(shù)據(jù)處理
本文以短期電力負(fù)荷預(yù)測(cè)為主要目標(biāo),對(duì)現(xiàn)有的CNN-LSTM算法進(jìn)行優(yōu)化,引入自注意力機(jī)制[1]。為保證數(shù)據(jù)具有典型性,須優(yōu)先對(duì)數(shù)據(jù)進(jìn)行處理,具體步驟包括數(shù)據(jù)收集與清洗、數(shù)據(jù)歸一化和數(shù)據(jù)集劃分。
1.1 數(shù)據(jù)收集與清洗
利用智能電表和氣象站等多源數(shù)據(jù)獲取電力負(fù)荷數(shù)據(jù)和相關(guān)氣象數(shù)據(jù),保證數(shù)據(jù)的時(shí)間戳一致。在清洗數(shù)據(jù)的過(guò)程中,檢測(cè)并填補(bǔ)缺失值,采用K近鄰填補(bǔ)法(K-Nearest Neighbors,KNN),并利用三σ原則去除異常值。KNN計(jì)算過(guò)程如公式(1)所示。
(1)
式中:xi為缺失值;k為最近鄰的數(shù)量;xNj為第k個(gè)最近鄰的值。
在實(shí)際電力負(fù)荷數(shù)據(jù)中,設(shè)備故障、通信中斷等因素可能會(huì)導(dǎo)致部分?jǐn)?shù)據(jù)缺失。計(jì)算缺失值與其最近鄰的已知值之間的平均值能夠有效恢復(fù)缺失的數(shù)據(jù),保證數(shù)據(jù)的完整性和一致性。
1.2 數(shù)據(jù)歸一化
本文采用min-max歸一化方法對(duì)收集的數(shù)據(jù)進(jìn)行歸一化處理,將數(shù)據(jù)縮放至[0,1]。歸一化處理過(guò)程如公式(2)所示。
(2)
式中:x'為歸一化后數(shù)據(jù)值;x為原始數(shù)據(jù)值;xmin、xmax分別為數(shù)據(jù)最小值和最大值。
在電力負(fù)荷預(yù)測(cè)中,不同特征(例如溫度、濕度和電力負(fù)荷等)可能有不同的量綱和范圍。采用min-max歸一化方法將數(shù)據(jù)縮放至[0, 1],消除不同特征量綱之間的差異,能夠加快模型訓(xùn)練的收斂速度,避免產(chǎn)生不均衡影響,提高模型的穩(wěn)定性。
1.3 數(shù)據(jù)集劃分
根據(jù)時(shí)間順序?qū)?shù)據(jù)分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,訓(xùn)練集占比70%,驗(yàn)證集占比15%,測(cè)試集占比15%。為了保證模型的泛化能力,采用時(shí)間序列交叉驗(yàn)證方法,利用滾動(dòng)窗口技術(shù)生成多個(gè)訓(xùn)練和驗(yàn)證集,避免數(shù)據(jù)泄漏。滾動(dòng)窗口技術(shù)計(jì)算過(guò)程如公式(3)所示。
Dt={xt-w,xt-w+1,...,xt-1}→yt " " " " " " " "(3)
式中:Dt為時(shí)間點(diǎn)的數(shù)據(jù)窗口;xt-w為距離當(dāng)前時(shí)間點(diǎn)t往前w個(gè)時(shí)間步的數(shù)據(jù)點(diǎn),即窗口的起始點(diǎn);xt-w+1為距離當(dāng)前時(shí)間點(diǎn)t往前(w-1)個(gè)時(shí)間步的數(shù)據(jù)點(diǎn);xt-1為距離當(dāng)前時(shí)間點(diǎn)t往前1個(gè)時(shí)間步的數(shù)據(jù)點(diǎn);xt-w,xt-w+1,...,xt-1為從t-w時(shí)刻到t-1時(shí)刻的輸入數(shù)據(jù)序列;yt為預(yù)測(cè)目標(biāo)。
2 模型構(gòu)建
2.1 CNN-LSTM模型設(shè)計(jì)
在短期電力負(fù)荷預(yù)測(cè)中,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)與長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)的混合模型,利用特征提取和時(shí)間序列建模信息高效預(yù)測(cè)。技術(shù)路線:利用CNN從原始電力負(fù)荷數(shù)據(jù)中提取局部特征,再利用LSTM捕捉時(shí)間序列的長(zhǎng)期依賴關(guān)系。
CNN層主要包括多個(gè)卷積層和池化層,能夠提取多尺度特征。每個(gè)卷積層采用批量歸一化方法,利用激活函數(shù)ReLU加快訓(xùn)練速度,提高模型穩(wěn)定性。卷積核設(shè)置為3*3,通道數(shù)逐層增加(例如32、64和128),以提取更高層次的特征[2]。每個(gè)卷積層后接池化層,池化為2*2,以縮小特征圖尺寸,降低過(guò)擬合風(fēng)險(xiǎn)。針對(duì)特征提取環(huán)節(jié),對(duì)輸入的每一個(gè)時(shí)間步xt進(jìn)行卷積操作,得到特征映射ht,如公式(4)所示。
ht=ReLU(Conv(xt,W )+b) " " " " " " " (4)
式中:Conv(·)為卷積操作;W、b分別為卷積核和偏置參數(shù)。
在電力負(fù)荷預(yù)測(cè)中,電力負(fù)荷數(shù)據(jù)通常具有周期性特征。卷積操作可以有效提取這些局部特征,提高模型對(duì)電力負(fù)荷變化規(guī)律的捕捉能力。利用展平操作將特征提取后的結(jié)果形成一維向量,輸入LSTM層[3]。
LSTM層采用雙層結(jié)構(gòu)來(lái)提高對(duì)長(zhǎng)短期依賴的建模能力。每層包括64個(gè)隱層單元,以捕捉時(shí)間序列中的長(zhǎng)短期依賴關(guān)系。LSTM層利用激活函數(shù)tanh和Sigmoid,實(shí)現(xiàn)非線性表達(dá)功能。為了防止過(guò)擬合,在LSTM層后應(yīng)用Dropout技術(shù),將丟棄率設(shè)為0.5。
2.2 自注意力機(jī)制引入
為提高CNN-LSTM模型對(duì)關(guān)鍵時(shí)間步的關(guān)注度,進(jìn)一步提升預(yù)測(cè)精度,引入自注意力機(jī)制。自注意力機(jī)制能夠動(dòng)態(tài)計(jì)算輸入序列中不同時(shí)間步的重要性權(quán)重,提高模型對(duì)重要特征的捕捉能力[4]。計(jì)算每個(gè)時(shí)間步的注意力得分,利用tanh和Softmax函數(shù)將輸入序列的每個(gè)時(shí)間步(LSTM層輸出的隱藏狀態(tài))的得分轉(zhuǎn)換為概率分布,如公式(5)所示。
(5)
式中:αt為第t個(gè)時(shí)間步的注意力權(quán)重;exp(·)為指數(shù)函數(shù);et為第t個(gè)時(shí)間步的注意力得分;T為序列的總長(zhǎng)度;i為求和索引,取值為[1,T];ei為第i個(gè)時(shí)間步的注意力得分。
在電力負(fù)荷預(yù)測(cè)中,不同時(shí)間步的數(shù)據(jù)對(duì)預(yù)測(cè)結(jié)果的影響可能不同。例如在高峰負(fù)荷時(shí)段,電網(wǎng)的運(yùn)行壓力最大,預(yù)測(cè)結(jié)果不準(zhǔn)確會(huì)導(dǎo)致電力供應(yīng)不足或過(guò)度調(diào)度,影響電網(wǎng)穩(wěn)定性,造成一定經(jīng)濟(jì)損失。在低谷負(fù)荷時(shí)段,電力需求較低,但是同樣需要準(zhǔn)確預(yù)測(cè),以優(yōu)化發(fā)電資源配置,減少浪費(fèi),降低運(yùn)行成本。引入自注意力機(jī)制,模型能夠更好地識(shí)別并關(guān)注在電力負(fù)荷時(shí)間序列中的關(guān)鍵時(shí)間步,提高了對(duì)復(fù)雜時(shí)間依賴關(guān)系的建模能力和預(yù)測(cè)精度。在模型訓(xùn)練過(guò)程中,自注意力機(jī)制與CNN-LSTM結(jié)構(gòu)聯(lián)合進(jìn)行優(yōu)化,保證模型在實(shí)際應(yīng)用中的有效性和魯棒性。
2.3 模型訓(xùn)練與優(yōu)化
2.3.1 損失函數(shù)設(shè)計(jì)
在短期電力負(fù)荷預(yù)測(cè)模型中,損失函數(shù)的設(shè)計(jì)對(duì)模型性能有重要影響。本文使用均方誤差(Mean Squared Error,MSE)作為主要損失函數(shù),保證預(yù)測(cè)值與真實(shí)值之間的偏差最小。在這個(gè)步驟中,利用MSE對(duì)每個(gè)預(yù)測(cè)誤差進(jìn)行平方處理,在訓(xùn)練過(guò)程中優(yōu)先修正嚴(yán)重偏離預(yù)測(cè)的結(jié)果,提高模型整體的預(yù)測(cè)準(zhǔn)確性[5]。根據(jù)電力負(fù)荷數(shù)據(jù)的時(shí)間序列特性和不同時(shí)間段的負(fù)荷重要性,引入加權(quán)均方誤差(Weighted Mean Squared Error, WMSE)。WMSE在傳統(tǒng)MSE的基礎(chǔ)上為不同時(shí)間段的數(shù)據(jù)賦予不同的權(quán)重,以提高模型在關(guān)鍵時(shí)段的預(yù)測(cè)精度。WMSE的計(jì)算過(guò)程如公式(6)所示。
(6)
式中:yi和分別為第i個(gè)觀測(cè)值的真實(shí)值和預(yù)測(cè)值。
在高峰負(fù)荷時(shí)段的數(shù)據(jù)對(duì)整體負(fù)荷預(yù)測(cè)的重要性較高,可以賦予較大的權(quán)重,以保證模型在這些關(guān)鍵時(shí)段的預(yù)測(cè)能力更強(qiáng)。
2.3.2 模型優(yōu)化方法
在短期電力負(fù)荷預(yù)測(cè)模型的訓(xùn)練過(guò)程中,選擇適當(dāng)?shù)膬?yōu)化方法十分重要。本文采用Adam(Adaptive Moment Estimation)優(yōu)化器和正則化方法來(lái)優(yōu)化模型。
Adam優(yōu)化器是一種基于一階梯度的隨機(jī)優(yōu)化方法,結(jié)合動(dòng)量法和RMSProp的優(yōu)點(diǎn),在大規(guī)模數(shù)據(jù)和高維度空間中性能表現(xiàn)良好。Adam優(yōu)化器計(jì)算梯度的一階和二階矩估計(jì)來(lái)動(dòng)態(tài)調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率,其具有自適應(yīng)性,能夠根據(jù)數(shù)據(jù)的動(dòng)態(tài)特性調(diào)整學(xué)習(xí)率,加快收斂速度并提高模型穩(wěn)定性[6]。
為了防止模型過(guò)擬合,本文采用L2正則化技術(shù)。L2正則化在損失函數(shù)中添加權(quán)重衰減項(xiàng)來(lái)抑制模型參數(shù)過(guò)度增長(zhǎng),如公式(7)所示。
(7)
式中:Loss為總損失函數(shù)值;MSE為均方誤差值;λ為正則化系數(shù),控制正則化項(xiàng)的影響程度;m為參數(shù)總數(shù);θj為模型參數(shù)。對(duì)參數(shù)施加懲罰項(xiàng),正則化項(xiàng),能夠防止模型在訓(xùn)練數(shù)據(jù)中過(guò)度擬合,使模型在新數(shù)據(jù)中的表現(xiàn)更加穩(wěn)健。
3 應(yīng)用測(cè)試
3.1 環(huán)境搭建
在測(cè)試過(guò)程中,采用Python編程語(yǔ)言,利用TensorFlow框架搭建模型。硬件平臺(tái)選擇基于NVIDIA Tesla V100 GPU的高性能計(jì)算服務(wù)器,操作系統(tǒng)為Ubuntu 18.04 LTS。Python版本為3.8,并安裝必要的科學(xué)計(jì)算庫(kù),包括Numerical Python、Pandas和Matplotlib等。數(shù)據(jù)來(lái)自美國(guó)加利福尼亞州公開(kāi)的歷史電力負(fù)荷數(shù)據(jù),數(shù)據(jù)按日頻率記錄,時(shí)間跨度為1 a。構(gòu)建數(shù)據(jù)處理流水線,利用Pandas進(jìn)行數(shù)據(jù)清洗與特征工程。將電力負(fù)荷數(shù)據(jù)按時(shí)間序列分割為訓(xùn)練集、驗(yàn)證集和測(cè)試集并進(jìn)行歸一化處理,以加快模型訓(xùn)練的收斂速度。在模型構(gòu)建方面,使用TensorFlow和Keras搭建CNN-LSTM模型架構(gòu),并引入自注意力機(jī)制以提高對(duì)時(shí)序特征的捕捉能力。
為保證試驗(yàn)的可重復(fù)性,所有隨機(jī)種子均設(shè)定為固定值。在模型訓(xùn)練過(guò)程中,使用Adam優(yōu)化器,將初始學(xué)習(xí)率設(shè)為0.001,批量大小為64。為了防止過(guò)擬合,采用早停機(jī)制和L2正則化。記錄每個(gè)輪次(epoch)損失函數(shù)值和驗(yàn)證集的性能指標(biāo),繪制損失函數(shù)曲線和預(yù)測(cè)結(jié)果圖進(jìn)行可視化分析。為證明研究效果,配置不同模型框架,設(shè)置超參數(shù),對(duì)比模型見(jiàn)表1。
3.2 測(cè)試結(jié)果
在測(cè)試階段選擇傳統(tǒng)LSTM模型、CNN-LSTM模型、GRU-CNN模型以及結(jié)合自注意力機(jī)制的CNN-LSTM模型進(jìn)行對(duì)比試驗(yàn)。不同模型預(yù)測(cè)值與真實(shí)值的對(duì)比如圖1所示,模型評(píng)估指標(biāo)包括MSE、均方根誤差(Root Mean Squared Error,RMSE)和平均絕對(duì)誤差(Mean Absolute Error,MAE),模型評(píng)估結(jié)果見(jiàn)表2。
根據(jù)圖1、表2,能夠直觀地比較各模型的預(yù)測(cè)性能,驗(yàn)證結(jié)合自注意力機(jī)制的CNN-LSTM模型在短期電力負(fù)荷預(yù)測(cè)中的優(yōu)越性。傳統(tǒng)LSTM模型的MSE為23.45,RMSE為4.84,MAE為3.76,CNN-LSTM模型的MSE、RMSE和MAE分別降至18.32、4.28和3.21。GRU-CNN模型在這3個(gè)指標(biāo)方面進(jìn)一步優(yōu)化,MSE為16.94,RMSE 為4.11,MAE 為3.05。結(jié)合自注意力機(jī)制的CNN-LSTM模型表現(xiàn)最佳,MSE為15.78,RMSE為3.97,MAE為2.89。由圖1可知,結(jié)合自注意力機(jī)制的CNN-LSTM模型在各個(gè)時(shí)間點(diǎn)的預(yù)測(cè)值與實(shí)際值之間的誤差最小,曲線擬合效果比其他模型更好。說(shuō)明引入自注意力機(jī)制后,模型能夠更加精準(zhǔn)地捕捉電力負(fù)荷時(shí)間序列中的關(guān)鍵特征,提高預(yù)測(cè)精度。
根據(jù)比較結(jié)果得到以下3個(gè)結(jié)論。1) 當(dāng)處理復(fù)雜的電力負(fù)荷數(shù)據(jù)時(shí),傳統(tǒng)的LSTM模型能夠捕捉時(shí)間序列中的長(zhǎng)短期依賴關(guān)系,但是其對(duì)局部特征的提取能力較弱。2)CNN-LSTM模型結(jié)合卷積層和LSTM層提高了特征提取和時(shí)序建模的能力,但是仍然存在一定的局限性。在引入GRU層后,GRU-CNN模型進(jìn)一步提升了對(duì)時(shí)序數(shù)據(jù)的建模能力,但是其性能提升幅度有限。3)結(jié)合自注意力機(jī)制的CNN-LSTM模型能夠動(dòng)態(tài)計(jì)算輸入序列中不同時(shí)間步的重要性權(quán)重,增強(qiáng)了對(duì)關(guān)鍵時(shí)間步的關(guān)注度,預(yù)測(cè)性能最優(yōu)。
4 結(jié)語(yǔ)
隨著電力系統(tǒng)的不斷優(yōu)化,影響電力負(fù)荷的因素逐漸增多,為避免復(fù)雜因素影響負(fù)荷預(yù)測(cè)精度,須對(duì)預(yù)測(cè)模型進(jìn)行持續(xù)優(yōu)化。在電力終端負(fù)荷預(yù)測(cè)中引入自注意力機(jī)制的CNN-LSTM模型具有一定優(yōu)勢(shì),不僅能夠提高特征提取精度,降低誤差,還能夠應(yīng)對(duì)復(fù)雜的時(shí)間序列,提升模型泛化能力,為智能電網(wǎng)的高效運(yùn)行提供保障。
參考文獻(xiàn)
[1]戴雯菊,嚴(yán)煉.改進(jìn)神經(jīng)網(wǎng)絡(luò)下的電力負(fù)荷短期預(yù)測(cè)方法[J].自動(dòng)化應(yīng)用,2024,65(14):178-179,182.
[2]王振勛,王大虎.基于添加Dropout層的CNN-LSTM網(wǎng)絡(luò)短期負(fù)荷預(yù)測(cè)[J].科技與創(chuàng)新,2024(6):28-30.
[3]張紅穎,賈一超,汪江志,等.考慮注意力機(jī)制的CNN-LSTM高滲透風(fēng)電并網(wǎng)暫態(tài)電壓穩(wěn)定性研究[J].可再生能源,2024,42(3):398-406.
[4]方正剛.基于通道融合的Res-CNN-LSTM電網(wǎng)虛假數(shù)據(jù)注入攻擊檢測(cè)[J].電氣技術(shù),2024,25(3):11-17,62.
[5]何勝林,龍琛,鄭靜,等.基于多尺度分段的長(zhǎng)時(shí)間序列預(yù)測(cè)方法[J].深圳大學(xué)學(xué)報(bào)(理工版),2024,41(2):232-240.
[6]史含笑,王雷春.結(jié)合LSTM和自注意力機(jī)制的圖卷積網(wǎng)絡(luò)短期電力負(fù)荷預(yù)測(cè)[J].計(jì)算機(jī)應(yīng)用,2024,44(1):311-317.