劉進波,周克男,任明會
(長沙理工大學 數(shù)學與統(tǒng)計學院 湖南 長沙 410004)
基于相關(guān)因子的BP神經(jīng)網(wǎng)絡(luò)電力負荷短期預(yù)測
劉進波,周克男,任明會
(長沙理工大學 數(shù)學與統(tǒng)計學院 湖南 長沙 410004)
電力行業(yè)是一個國家非常重要的基礎(chǔ)性行業(yè),電力負荷的合理預(yù)測對整個國家的安全、社會的穩(wěn)定以及人民的生活都有著重大的意義。本文作者主要研究了影響短期電力負荷預(yù)測的相關(guān)因子, 并建立了基于相關(guān)因子的BP神經(jīng)網(wǎng)絡(luò)模型,最后給出了實例分析。
電力負荷預(yù)測;相關(guān)因子分析;BP神經(jīng)網(wǎng)絡(luò)模型
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network—ANN),是基于人腦結(jié)構(gòu)從信息處理角度對人腦神經(jīng)元網(wǎng)絡(luò)進行抽象的一種數(shù)學模型。人工神經(jīng)網(wǎng)絡(luò)模型種類眾多,在電力預(yù)測方面常用的為BP模型,它由輸入層、隱蔽層、輸出層組成,其拓撲結(jié)構(gòu)如圖1所示。這種模型為前饋網(wǎng)絡(luò),輸入信息依次經(jīng)輸入層、隱蔽層、輸出層。如果在輸出層不能得到期望的輸出,則轉(zhuǎn)入反向傳播,將誤差信號沿原來的連接通路返回,通過修改各神經(jīng)元的權(quán)值,使得誤差信號最小。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
BP算法是一種自動學習的過程,其學習過程主要包括兩個方面:
(1)輸入信息的向后傳播;(2)預(yù)測值與期望值之間誤差的向前傳播。
(1)輸入信息的向后傳播過程:
隱含層第i個節(jié)點的輸入neti為:
隱含層的第i個節(jié)點的輸出oi為:
輸出層第k個節(jié)點的輸入netk為:
輸出層第k個節(jié)點的輸出ok為:
(2)誤差的反向傳播過程
誤差反傳其實就是將輸出誤差通過隱含層向輸入層逐層反傳,將誤差分攤給各層所有節(jié)點,直到誤差達到規(guī)定的要求,訓練即告停止。
對于樣本p的二次型誤差準則函數(shù)Ep為:
系統(tǒng)對p個訓練樣本的總誤差準則函數(shù)Ep為:
沿誤差函數(shù)對權(quán)值或閾值的偏導數(shù)的負方向進行修正,得出最后整理得調(diào)整公式為:
輸出層權(quán)值修正函數(shù)為:
輸出層閾值修正函數(shù)為:
隱含層權(quán)值修正函數(shù)為:
隱含層閾值修正函數(shù)為:
式中
wij——輸入層第j個節(jié)點到隱層第i個節(jié)點的權(quán)值,,i=1,2 ……,q,j=1,2 ……,M;
wkj——隱層第j個節(jié)點到輸出層第k個節(jié)點的權(quán)值,k=,2……L;
xj——輸入層第j個節(jié)點的輸入;
θi——隱層第i個節(jié)點的閾值;
φ——隱層的激勵函數(shù);
ak——輸出層第k個節(jié)點的閾值;
ψ——輸出層激勵函數(shù);
ok——輸出層第k個節(jié)點的輸出。
短期電力負荷預(yù)測是指一年之內(nèi)以月為單位或以周、天、小時為單位的電力負荷預(yù)測。大多短期電力負荷模型往往在樣本訓練過程中擬合效果較高,但在實際預(yù)預(yù)測過程中卻產(chǎn)生了較大的偏差,因此如何提高電力預(yù)測模型的實用性顯得尤為重要。圖2給出了電力負荷以周為單位每天的變化過程。
圖2 電力負荷周變化圖
由圖表可以看出,電力負荷有明顯的類周期性變化。除此之外,每日的電力負荷還將受到天氣等因素的影響,例如每天的最高溫度和最低溫度、降雨量、是否是節(jié)假日都將對當日的天氣狀況造成影響。本文結(jié)合電力負荷的實際情況,提取到的電力負荷的相關(guān)因子分別為:日期因素、日最高溫度、日最低溫度、日平均溫度、相對濕度以及降雨量。
為加快神經(jīng)網(wǎng)絡(luò)的收斂速度,本文研究時采用S型激勵函數(shù)。并對樣本數(shù)據(jù)進行歸一化處理,避免由于輸入值較大,導致過飽和現(xiàn)象,影響訓練速度。本文采用指數(shù)型S型激勵函數(shù)即logsig函數(shù),因此需要將數(shù)據(jù)歸一化到(0,1)之間。
2.2.1 相關(guān)因子數(shù)據(jù)的量化處理。日期類型不能直接作為神經(jīng)元節(jié)點的輸入數(shù)據(jù),要對其進行量化處理,在由圖表2可知,工作日用電量與雙休日(周六、周天)用電量有所不同。因此,對工作日和周末進行二分類取值,工作日取0,雙休日取1。
2.2.2 量化數(shù)據(jù)的歸一化處理。將電力負荷、量化后的日期因素、日最高溫度、日最低溫度、日平均溫度、相對濕度以及降雨量進行歸一化處理,處理方式為按(1)式將數(shù)據(jù)變成[0,1]區(qū)間變化的數(shù)據(jù),輸出的時候再利用(2)式還原。
式中
Li——分別為第i個因子的數(shù)據(jù),Li,i=(1,2,……8)分別表示電力負荷、量化后的日期因素、日最高溫度、日最低溫度、日平均溫度、相對濕度以及降雨量。
Limax——該因子觀測值中的最大值;
Limun——該因子觀測值中的最小值;
(1)輸入量選取
輸入量如圖3所示。
圖3
圖4 流程圖
每個輸入變量包括13個元素,分別為預(yù)測日之前連續(xù)7天的電力負荷、預(yù)測日量化后的日期因素、日最高溫度、日最低溫度、日平均溫度、相對濕度以及降雨量。
(2)輸出量選取。輸出量為一個數(shù)值,即預(yù)測的電力負荷值。
(3)隱層層數(shù)的確定。增加隱層的層數(shù)對網(wǎng)絡(luò)訓練的信息處理能力有所提高,但同時會使網(wǎng)絡(luò)復雜度大大增加,對網(wǎng)絡(luò)的性能及訓練速度產(chǎn)生較大的影響。由Kolmogorov定理知,在實際應(yīng)用過程中,一個隱層的網(wǎng)絡(luò)足以解決各種復雜的實際問題,可以憑借增加隱含層節(jié)點數(shù)提高網(wǎng)絡(luò)處理能力。本文選取的訓練樣本數(shù)目適中,為防止建模復雜,選取一個隱層已足夠。
(4)隱層節(jié)點數(shù)的確定。隱層節(jié)點數(shù)的選取沒有固定方式,一般通過在網(wǎng)絡(luò)訓練中分析比較選取不同的節(jié)點數(shù)最后得出的預(yù)測結(jié)果誤差大小,然后確定合適的節(jié)點數(shù)。確定隱層節(jié)點數(shù)有以下基本的原則:試湊時,從較小節(jié)點數(shù)開始,逐漸增大,使得滿足了誤差要求的情況下,節(jié)點數(shù)較少,應(yīng)盡量小于N-1(其中N 為訓練樣本數(shù))。
(5)學習規(guī)則的確定。單純的梯度下降法學習規(guī)則往往會出現(xiàn)收斂速度慢,訓練時間長,有時甚至可能不收斂的問題,本文采用非線性阻尼最小二乘法(L-M)進行優(yōu)化,實驗證明,L-M優(yōu)化算法比單純使用梯度下降法的BP算法收斂速度快得多。
(6)學習速率的選取。如果學習速率選取太大,可能引起過調(diào),如果選取太小,又會延長訓練時間。通常,學習速率在0.01~0.8之間選取,本文取0.1。
經(jīng)過上述準備,BP神經(jīng)網(wǎng)絡(luò)的基本建立,為后期對歷史數(shù)據(jù)的訓練以及對未來負荷的預(yù)測做好準備。結(jié)合上述步驟,基于相關(guān)因子的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的建立及應(yīng)用過程流程圖如圖4所示。
采用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱中的Newff函數(shù)按圖中的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)創(chuàng)建一個三層豹BP神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)隱含層神經(jīng)元的激勵函數(shù)為s型函數(shù)。采用L-M學習規(guī)則訓練網(wǎng)絡(luò),運用trainlm函數(shù)。輸入數(shù)據(jù),訓練網(wǎng)絡(luò),進行預(yù)測。
訓練樣本的數(shù)據(jù)來自電機工程協(xié)會2016年公布的某地區(qū)的電力負荷及相關(guān)因素數(shù)據(jù),以6月1日—6月30日的數(shù)據(jù)作為訓練樣本,其中每個訓練樣本包含13個元素,分別為預(yù)測日期前一周的電力負荷以及預(yù)測日當天的量化后的日期因素、日最高溫度、日最低溫度、日平均溫度、相對濕度以及降雨量。將數(shù)據(jù)進行歸一化處理,構(gòu)建出一個13行30列的訓練樣本矩陣。訓練目標為預(yù)測當天的電力負荷構(gòu)成的一個1行30列的矩陣。輸入之前建立的神經(jīng)網(wǎng)絡(luò),得到訓練樣本的擬合情況如圖5,由圖可知,訓練數(shù)據(jù)仿真效果較好。
圖5 仿真效果圖
用已經(jīng)訓練好的網(wǎng)絡(luò)對7月1日至7月7日的數(shù)據(jù)進行預(yù)測,預(yù)測結(jié)果及相對誤差見表1。
表1 電力負荷預(yù)測值及相對誤差
由表中數(shù)據(jù)可知,該模型預(yù)測效果較好,平均相對誤差在5%以內(nèi),有很好的推廣價值。
隨著科學技術(shù)的快速發(fā)展,濕度,溫度,氣溫等與電力負荷相關(guān)的影響因子的預(yù)測越來越準確,與此同時,例如日期等因子信息更是可以精確的獲得。采用基于相關(guān)因子的BP神經(jīng)網(wǎng)絡(luò)能反映負荷自然變化的內(nèi)在規(guī)律,使短期電力負荷預(yù)測的精度越來越高成為可能。本人利用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱編程,對傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法的缺點進行了改進,使神經(jīng)網(wǎng)絡(luò)訓練效率更高、訓練時間更短。實例計算結(jié)果表明,采用本文所使用的改進了的BP神經(jīng)網(wǎng)絡(luò)算法的短期電力負荷預(yù)測,具有訓練速度快、預(yù)測精度高等優(yōu)點。
[1]劉進波,陳鑫,李新花.基于LM算法的BP神經(jīng)網(wǎng)絡(luò)的電力負荷短期預(yù)測[J].經(jīng)濟數(shù)學,2015,32(2)34-38.
[2]倪方云,程浩忠.采用改進BP神經(jīng)網(wǎng)絡(luò)算法預(yù)測短期電力負荷[J].供用電,2008,(02):16-19.
[3]隋惠惠.基于BP神經(jīng)網(wǎng)絡(luò)的短期電力負荷預(yù)測的研究[J].哈爾濱工業(yè)大學(自然科學版),2015.6:16-21.
[4]曲薇薇.基于BP人工神經(jīng)網(wǎng)絡(luò)的電力短期負荷預(yù)測[D].東北石油大學,2011:26-32.
TM715 【文獻標識碼】A 【文章編號】1009-5624(2018)01-0211-04
國家級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(201610536014);湖南省級教研教改項目《微課背景下理工類地方高校《高等數(shù)學》課程教學改革的研究與實踐》(湘教通[2016]400號);湖南省教育廳科研項目(13C1036);湖南省大學生研究性學習和創(chuàng)新性實驗計劃項目(湘教通[2016]283號)。
劉進波(1958-),男,漢,湖南長沙人,碩士,副教授。研究方向:差分方程的理論與應(yīng)用,大學數(shù)學的教學研究與應(yīng)用。