劉義卿 陳新房
(防災(zāi)科技學(xué)院,河北 廊坊 065201)
能源是人類文明存在和發(fā)展的基礎(chǔ),是提高人民生活水平和發(fā)展現(xiàn)代科學(xué)技術(shù)的重要物質(zhì)基礎(chǔ)。人類文明的發(fā)展過程可以看作是社會主要能源不斷更新?lián)Q代和升級,轉(zhuǎn)化利用方式不斷改進的過程[1]。電力預(yù)測主要是探討電力負荷的變化規(guī)律和影響因素[2],可以幫助監(jiān)控電力的生產(chǎn)、傳輸和消耗,并平衡它們之間的關(guān)系[3]。傳統(tǒng)的電力預(yù)測方法通?;诮y(tǒng)計模型或時間序列模型,這些模型往往需要手動選擇特征和調(diào)整模型參數(shù),對于復(fù)雜的電力系統(tǒng)和大規(guī)模的數(shù)據(jù)集來說,建模和訓(xùn)練往往非常困難。而神經(jīng)網(wǎng)絡(luò)具有強大的自適應(yīng)能力和非線性建模能力,可以自動地從數(shù)據(jù)中提取特征和建模,從而更好地適應(yīng)復(fù)雜的電力系統(tǒng)和大規(guī)模的數(shù)據(jù)集。對確保動態(tài)平衡和智能電網(wǎng)的穩(wěn)定可靠運行、智能電網(wǎng)的平穩(wěn)可靠運行具有重要意義。
CNN[4]包括卷積層、激活函數(shù)、池化層和全連接層(如圖1)。其中,CNN通過卷積操作提取輸入數(shù)據(jù)的局部特征,并通過激活函數(shù)進行非線性變換,進而實現(xiàn)對數(shù)據(jù)的高效處理和分類。池化操作則用于對卷積層的輸出進行下采樣,進一步提高模型的魯棒性和泛化能力。池化層可以降低數(shù)據(jù)的維度,減少模型的計算量,并增強模型的不變性。全連接層則用于將卷積層的輸出轉(zhuǎn)化為最終的分類或回歸結(jié)果。全連接層通常也會與激活函數(shù)一起使用,以實現(xiàn)非線性的分類和回歸[5]。
圖1 CNN結(jié)構(gòu)
因為時序數(shù)據(jù)只沿時間軸方向延展,所以采用一維卷積層,疊加兩個成倍數(shù)關(guān)系的過濾器,通過滑動窗口捕捉時間序列數(shù)據(jù)的特征。
RNN的初衷是學(xué)習(xí)對時間序列問題的長期依賴性。實踐證明,RNN在處理這一問題上具有良好的性能。同時,大量實驗表明,標(biāo)準(zhǔn)RNN在訓(xùn)練過程中會因為迭代而導(dǎo)致梯度消失和梯度爆炸[6]。為了解決這個問題,Hochreiter提出了LSTM。LSTM是一種特殊的RNN,適用于處理序列數(shù)據(jù),如語音識別和自然語言處理。它具有記憶長期依賴關(guān)系的特點,這使得它能更好地處理序列數(shù)據(jù)。LSTM的核心是長期記憶單元[7],它可以記住以前的輸入和輸出,并根據(jù)當(dāng)前輸入和上一個時間步的輸出來更新自身狀態(tài)。這種能力使得LSTM在處理時序數(shù)據(jù)時表現(xiàn)出色。記憶單元由三個門(Gate)控制:輸入門(Input Gate)、遺忘門(Forget Gate)和輸出門(Output Gate)。輸入門用于控制新輸入的信息,遺忘門用于控制以前的信息是否應(yīng)該被遺忘,輸出門用于控制當(dāng)前狀態(tài)的輸出。LSTM中的門由邏輯回歸單元控制,其激活函數(shù)為sigmoid函數(shù),用于將輸入值映射到0到1之間。門的輸出值接近1時,門完全打開;接近0時,門完全關(guān)閉。這種機制使得LSTM能夠有效地控制信息的流動,從而更好地處理序列數(shù)據(jù)。
LSTM的基本網(wǎng)絡(luò)單元如圖2所示。輸入、狀態(tài)存儲器單元和中間輸出共同確定狀態(tài)存儲器單元的遺忘部分。在輸入門中,在sigmoid和tanh函數(shù)之后確定狀態(tài)存儲器單元中的保留向量。中間輸出由更新的和輸出,計算如公式1至公式6所示[8]。
圖2 LSTM基本結(jié)構(gòu)圖
對于時間步t,假設(shè){xt-1,xt}{ct-1,ct}和{ht-1,ht}分別表示前一時刻和當(dāng)前時刻的輸入、記憶狀態(tài)和隱層狀態(tài)。則LSTM單元的更新公式如下:
上述公式中,sigmoid函數(shù)σ(x)=1/(1+exp(-x))為激活函數(shù),而tanh則被用于門控制。W和b分別代表記憶單元和門控制的權(quán)重和偏置。從上述更新公式可以看出,遺忘門用于選擇性地遺忘最后一次的單元狀態(tài)并校正參數(shù),輸入門用于更新信息的狀態(tài),輸出門用于讀取、輸出和校正參數(shù)。LSTM采用“門”結(jié)構(gòu)來增加信息的傳輸和交換,解決了模型訓(xùn)練中的“梯度消失與爆炸”問題,可以應(yīng)用于許多場景[9]。
電力消耗預(yù)測是一種重要的電力系統(tǒng)運營和規(guī)劃任務(wù),可以幫助電力公司預(yù)測未來的電力需求和電力價格,從而更好地制定電力調(diào)度和發(fā)電計劃,CNN+LSTM組合模型可以用于電力消耗預(yù)測。
在CNN+LSTM模型中,LSTM可以用于建模時間序列數(shù)據(jù)中的長期依賴關(guān)系,從而更好地理解和預(yù)測電力消耗。LSTM可以自動地從CNN提取的特征序列中學(xué)習(xí)到時間序列數(shù)據(jù)的模式和規(guī)律,并生成預(yù)測結(jié)果。CNN+LSTM模型通過反向傳播算法進行訓(xùn)練和調(diào)優(yōu),以最小化預(yù)測誤差。在訓(xùn)練過程中,可以使用交叉驗證等技術(shù)來評估模型的性能和泛化能力,從而選擇最優(yōu)的模型和參數(shù)。經(jīng)過訓(xùn)練后的CNN+LSTM模型可用于預(yù)測未來的電力消耗,輸出預(yù)測結(jié)果,從而輔助電力公司制定出更好的電力調(diào)度和發(fā)電計劃,以滿足未來的電力需求。
通過CNN與LSTM的實驗結(jié)果發(fā)現(xiàn)單一的傳統(tǒng)經(jīng)典預(yù)測方法在電力消耗預(yù)測中或多或少都存在預(yù)測準(zhǔn)確率不高、泛化能力不強的問題。又因為實際電力負荷波動隨機性較強,預(yù)測時需考慮的因素較多,因此利用神經(jīng)網(wǎng)絡(luò)組合模型的優(yōu)勢,采用CNN卷積神經(jīng)網(wǎng)絡(luò)充分提取時間序列的特征,輸入到LSTM網(wǎng)絡(luò)進行預(yù)測,使得模型的預(yù)測準(zhǔn)確率更高、泛化能力更強,于是結(jié)合上面兩種方法,構(gòu)建了CNN+LSTM模型,模型結(jié)構(gòu)如圖3所示。
圖3 CNN+LSTM基本結(jié)構(gòu)圖
電力消耗的預(yù)測受到多種因素的影響,需要使用多維特征參數(shù)集,其中包含多種類型的特征參數(shù)。然而,負載具有強烈的非線性和隨機波動性,從而降低了預(yù)測精度和模型的可解釋性。本研究使用的數(shù)據(jù)集包含了某市2017年1月1日至2017年12月31日期間每10分鐘獲取的配電網(wǎng)歷史數(shù)據(jù)。時序數(shù)據(jù)按照3:1的比例進行順序切分,數(shù)據(jù)集的劃分情況如圖4所示。
圖4 數(shù)據(jù)集劃分
本實驗采用的數(shù)據(jù)集特征向量共包含6個維度:“溫度”“濕度”“風(fēng)速”“一般擴散流”“擴散流”和“總功耗”。溫度:溫度對電力消耗有直接影響。在許多設(shè)備中,溫度升高會導(dǎo)致電子元件的內(nèi)阻增加,從而增加設(shè)備的功耗。濕度:濕度對電力消耗的影響通常是間接的。高濕度環(huán)境下,設(shè)備可能需要額外的冷卻措施來保持溫度穩(wěn)定,例如空調(diào)系統(tǒng)的運行。這些額外的冷卻措施可能會增加設(shè)備的功耗,導(dǎo)致更高的電力消耗。風(fēng)速:風(fēng)速可以影響設(shè)備的散熱效果。使設(shè)備的溫度保持在較低水平,從而降低設(shè)備的功耗。一般擴散流和擴散流:一般擴散流和擴散流是在流體力學(xué)中描述流體運動的概念。在某些設(shè)備中,例如風(fēng)機或風(fēng)扇,流體(通常是空氣)的流動會消耗能量。因此,較大的一般擴散流或擴散流會導(dǎo)致設(shè)備消耗更多的電力??偣模嚎偣氖窃O(shè)備在特定時間內(nèi)消耗的總電力。溫度、濕度、風(fēng)速、一般擴散流和擴散流等特征的變化可以影響設(shè)備的功耗,從而影響總功耗。這些特征的變化可能導(dǎo)致設(shè)備消耗更多或更少的電力。
通過相關(guān)性分析6個特征的參數(shù)均為每10min采樣一次,數(shù)據(jù)分布如圖5。
圖5 特征數(shù)據(jù)分布與相關(guān)性熱力圖
從圖5數(shù)據(jù)分布與相關(guān)性分析中可以發(fā)現(xiàn)數(shù)據(jù)擁有周期性且擴散流影響系數(shù)最低,濕度影響最大。
歸一化處理是將數(shù)據(jù)按照一定比例縮放,使得數(shù)據(jù)落在特定的范圍內(nèi),常用于提高模型收斂速度、防止梯度爆炸和提高計算精度。在負荷預(yù)測中,輸入數(shù)據(jù)可能具有不同的量綱,不同的特征參數(shù)具有不同的特性和數(shù)量級。沒有標(biāo)準(zhǔn)化的訓(xùn)練會削弱較低數(shù)量級數(shù)據(jù)的影響。在實驗中,使用Min-Max Scaling對數(shù)據(jù)x進行線性變換,數(shù)據(jù)大小限制在[0,1]之間,計算方法如式7所示。
式中:xi是第i個采樣點的原始實測數(shù)據(jù),是歸一化后的值,xmax和xmin分別是實測數(shù)據(jù)的最大值和最小值。
本文使用了時間序列分析中常見的評估指標(biāo),包括平均絕對誤差(MAE)、均方根誤差(RMSE)和平均百分?jǐn)?shù)誤差(MAPE)來衡量模型的預(yù)測表現(xiàn),其計算方法如式8~10所示。
式中:yi是采樣點i的實際值;yfi是采樣點i的負荷預(yù)測值;N是采樣點的數(shù)量。
為了確保模型的訓(xùn)練和預(yù)測過程具有科學(xué)性和統(tǒng)一性,本研究選擇測試集數(shù)據(jù)作為模型預(yù)測結(jié)果的評估標(biāo)準(zhǔn)[11]。
圖6分別為CNN、LSTM、CNN+LSTM各模型選取500個連續(xù)數(shù)據(jù)節(jié)點的測試擬合效果與局部預(yù)測擬合效果[12]。并局部放大了6個數(shù)據(jù)波動的點,通過測試結(jié)果很容易發(fā)現(xiàn)混合模型與單一模型對比,結(jié)果有明顯的優(yōu)勢。曲線擬合較好,準(zhǔn)確率更高,數(shù)據(jù)波動較大的情況下容易發(fā)現(xiàn)LSTM的預(yù)測效果強于CNN。從表1的數(shù)據(jù)來看,CNN的平均絕對誤差、平均百分比誤差和均方根誤差均大于LSTM與CNN+LSTM。如表2所示分別為CNN、LSTM、CNN+LSTM分別在訓(xùn)練250、200、200輪,梯度下降方法分別采用Adam、Adam、Nadam時,學(xué)習(xí)率分別為0.0001、0.001、0.01時取得最優(yōu)結(jié)果MAPE值分別為1.889、1.047、0.734。相比單一模型來說,混合模型復(fù)雜度更高,準(zhǔn)確率相對來說也有所提升[13]。
表1 各模型最優(yōu)結(jié)果數(shù)據(jù)
表2 模型最優(yōu)參數(shù)結(jié)果
圖6 CNN、LSTM、CNN+LSTM模型測試結(jié)果
在以上基礎(chǔ)之上總結(jié)各個網(wǎng)絡(luò)的優(yōu)點,CNN+LSTM模型可以比單獨使用CNN或LSTM模型更好地處理序列數(shù)據(jù)。CNN可以自動地從序列數(shù)據(jù)中提取特征,而LSTM可以捕捉序列數(shù)據(jù)中的長期依賴關(guān)系,從而更好地理解和預(yù)測序列數(shù)據(jù)。搭建混合模型CNN+LSTM對比CNN與LSTM結(jié)合了它們各自的優(yōu)點,在數(shù)據(jù)平緩與波動較強的節(jié)點直接表現(xiàn)出了很好的效果,其中CNN+LSTM優(yōu)于LSTM這也充分體現(xiàn)了LSTM適合于時序處理任務(wù),CNN+LSTM模型相比于單獨使用CNN或LSTM模型,具有更好地處理序列數(shù)據(jù)、圖像和序列數(shù)據(jù)的組合、更好的泛化能力和更高的預(yù)測精度等優(yōu)勢,可以用于電力消耗預(yù)測[14]。
本文采用卷積神將網(wǎng)絡(luò)、長短記憶時間以及卷積神將網(wǎng)絡(luò)與長短記憶時間網(wǎng)絡(luò)結(jié)合使用的方法,對某市配電網(wǎng)的用電量進行了預(yù)測。如圖6分別為CNN、LSTM、CNN+LSTM各模型選取500個連續(xù)數(shù)據(jù)節(jié)點的測試效果。結(jié)合表1中的、RMSE、MAE、MAPE三個數(shù)值與圖6的測試結(jié)果,發(fā)現(xiàn)混合模型相比單一模型的準(zhǔn)確率更高。
精準(zhǔn)的預(yù)測電力消耗是電力管理的重要組成部分。在今后的研究中,可以搭建更為復(fù)雜的網(wǎng)絡(luò)進行預(yù)測研究。