黃宏運(yùn),朱家明,吳禮斌
(安徽財經(jīng)大學(xué)1.金融學(xué)院;2.統(tǒng)計與應(yīng)用數(shù)學(xué)學(xué)院,安徽 蚌埠 233030)
?
基于神經(jīng)網(wǎng)絡(luò)的短期電力負(fù)荷預(yù)測及其MATLAB實現(xiàn)
黃宏運(yùn)1,朱家明2,吳禮斌2
(安徽財經(jīng)大學(xué)1.金融學(xué)院;2.統(tǒng)計與應(yīng)用數(shù)學(xué)學(xué)院,安徽 蚌埠 233030)
針對短期電力負(fù)荷預(yù)測問題,利用MATLAB軟件建立日最高溫度、日最低溫度、日平均溫度和平均濕度等氣象因素對電力負(fù)荷的回歸預(yù)測模型,具體對比給出BP神經(jīng)網(wǎng)絡(luò)與NARX神經(jīng)網(wǎng)絡(luò)兩種回歸預(yù)測結(jié)果,并通過對隱含層網(wǎng)絡(luò)參數(shù)的調(diào)試對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了適當(dāng)?shù)母倪M(jìn).
電力負(fù)荷預(yù)測;氣象因素;BP神經(jīng)網(wǎng)絡(luò);NARX神經(jīng)網(wǎng)絡(luò);MATLAB
伴隨著我國城市化進(jìn)程與經(jīng)濟(jì)水平的不斷發(fā)展,電力負(fù)荷也水漲船高呈現(xiàn)出不斷增長的趨勢,因而對于電力負(fù)荷預(yù)測方面的研究也就成了大家關(guān)注的熱點(diǎn)話題之一.但是一直以來,對于電力負(fù)荷的預(yù)測也是學(xué)術(shù)界的難點(diǎn)之一,這主要是由于電力系統(tǒng)的復(fù)雜性以及關(guān)聯(lián)電力負(fù)荷的影響因素過多造成的,一方面由于歷史的電力負(fù)荷數(shù)據(jù)具有規(guī)模大、多噪聲和非線性等特點(diǎn),從而要求處理電力負(fù)荷預(yù)測的系統(tǒng)要具有很好的魯棒性和非線性擬合能力,另一方面如果只考慮歷史數(shù)據(jù)建立時間序列預(yù)測模型明顯是不夠的,因為電力負(fù)荷在很大程度上受到氣象因素的影響,所以本文將研究的重點(diǎn)放于氣象因素對于電力負(fù)荷的回歸預(yù)測上.
本文的數(shù)據(jù)來源為第九屆“中國電機(jī)工程學(xué)會杯”全國大學(xué)生電工數(shù)學(xué)建模競賽A題(本文附件中提供的數(shù)據(jù)格式為1 106行5列).為了對問題泛化處理,選擇2012年1月1日至2014年12月31日(共計1 106 d)A地區(qū)日最高溫度、日最低溫度、平均溫度和相對濕度作為輸入變量(自變量),對應(yīng)時間的電力負(fù)荷作為輸出變量(因變量).為了問題的處理方便我們有以下兩點(diǎn)假設(shè):1.由于部分?jǐn)?shù)據(jù)缺失(3個數(shù)據(jù)點(diǎn)),我們對其進(jìn)行了適當(dāng)?shù)牟逯?假設(shè)上述處理不會對預(yù)測結(jié)果產(chǎn)生影響.2.假設(shè)數(shù)據(jù)的來源真實、準(zhǔn)確和可靠,即為實際每天的統(tǒng)計負(fù)荷數(shù)據(jù).
2.1 研究思路
自20世紀(jì)以來,神經(jīng)網(wǎng)絡(luò)理論已得到不斷地發(fā)展,作為人工智能核心方法之一的人工神經(jīng)網(wǎng)絡(luò)(ANN)已在生物、醫(yī)藥、金融和自動化等領(lǐng)域得到了廣泛的運(yùn)用.基于人工神經(jīng)網(wǎng)絡(luò)優(yōu)良的非線性擬合能力,我們將利用歷史原有數(shù)據(jù),將氣象因素作為輸入變量,實際電力負(fù)荷作為輸出變量,通過訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)和NARX神經(jīng)網(wǎng)絡(luò),對比給出兩種神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果,以此建立基于神經(jīng)網(wǎng)絡(luò)的氣象因素對電力負(fù)荷的回歸預(yù)測模型.2.2 研究理論
2.2.1 BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的主要特點(diǎn)是信號向前傳遞,預(yù)測輸出與實際輸出之間的誤差反向傳遞.在前向傳遞中,輸入變量從輸入層經(jīng)隱含層處理,直至輸出層.每一層的神經(jīng)元狀態(tài)只影響下一層神經(jīng)元狀態(tài).根據(jù)輸出層的輸出與實際輸出之間的誤差進(jìn)行網(wǎng)絡(luò)權(quán)值與閾值的不斷調(diào)整,直至網(wǎng)絡(luò)的最終輸出無限逼近實際輸出.BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1.
圖1 BP神經(jīng)網(wǎng)絡(luò)拓?fù)鋱D
圖1中X1,X2,…,Xn為網(wǎng)絡(luò)的輸入值,Y1,Y2,…,Ym為網(wǎng)絡(luò)的輸出值,ωij,ωjk為網(wǎng)絡(luò)的權(quán)值.可以看出,BP神經(jīng)網(wǎng)絡(luò)實際上就是完成了從n個自變量到m個因變量的函數(shù)映射.
BP神經(jīng)網(wǎng)絡(luò)預(yù)測前需要訓(xùn)練網(wǎng)絡(luò),其主要的步驟如下:
第一步:網(wǎng)絡(luò)初始化,根據(jù)系統(tǒng)輸入變量和輸出變量的結(jié)構(gòu)確定輸入層節(jié)點(diǎn)數(shù)n,隱含層節(jié)點(diǎn)數(shù)l,輸出層節(jié)點(diǎn)數(shù)m,初始輸入層、隱含層和輸出層之間的連接權(quán)值為ωij,ωjk,初始化隱含層閾值a,輸出層閾值b,給定學(xué)習(xí)速率和神經(jīng)元激勵函數(shù).
第二步:隱含層輸出計算,根據(jù)輸入變量X,輸入層和隱含層間連接權(quán)值ωij以技隱含層閾值a,計算隱含層輸出H.
上式中,l為隱含層神經(jīng)元數(shù);f為隱含層激勵函數(shù),該函數(shù)有多種表達(dá)方式,本文所選函數(shù)為:
第三步:輸出層輸出計算,根據(jù)隱含層輸出H,連接權(quán)值ωjk和閾值b,計算BP神經(jīng)預(yù)測輸出O.
第四步:計算誤差,根據(jù)網(wǎng)絡(luò)預(yù)測輸出O與實際輸出Y,計算網(wǎng)絡(luò)預(yù)測誤差e.
第五步:權(quán)值與閥值更新,根據(jù)網(wǎng)絡(luò)預(yù)測誤差e更新網(wǎng)絡(luò)連接權(quán)值ωij、ωjk和閥值a、b.
式中η為學(xué)習(xí)速率.
第六步:判斷算法迭代是否結(jié)束,若沒有結(jié)束,返回第二步,直至算法迭代結(jié)束為止.
2.2.2 NARX神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)按照是否存在反饋與記憶可以分為靜態(tài)神經(jīng)網(wǎng)絡(luò)與動態(tài)神經(jīng)網(wǎng)絡(luò),NARX神經(jīng)網(wǎng)絡(luò)即是一種具有反饋和記憶功能的動態(tài)神經(jīng)網(wǎng)絡(luò),它可以將以前時刻的數(shù)據(jù)保留,使其加入到未來時刻數(shù)據(jù)的計算,從而使網(wǎng)絡(luò)不僅具有動態(tài)性而且使丟失的系統(tǒng)信息更少.
事實上NARX神經(jīng)網(wǎng)絡(luò)是一種帶有外部輸入的非線性回歸神經(jīng)網(wǎng)絡(luò),而NAR神經(jīng)網(wǎng)絡(luò)則是一種沒有外部輸入的神經(jīng)網(wǎng)絡(luò),兩者具體的結(jié)構(gòu)對比見圖2、圖3.
圖2 具有外部輸入的NARX神經(jīng)網(wǎng)絡(luò)
圖3 不具有外部輸入的NAR神經(jīng)網(wǎng)絡(luò)
圖2中,x(t)表示神經(jīng)網(wǎng)絡(luò)的外部輸入;y(t)是神經(jīng)網(wǎng)絡(luò)的輸出;NARX神經(jīng)網(wǎng)絡(luò)的模型可以表示為:
可以看出,NARX神經(jīng)網(wǎng)絡(luò)y(t)值得大小取決于上一或多個y(t)和上一或多個x(t),由于NARX神經(jīng)網(wǎng)絡(luò)在時序數(shù)據(jù)預(yù)測上保留了較大關(guān)聯(lián)性,所以它被廣泛運(yùn)用于時間序列方面的預(yù)測.本文后續(xù)正利用NARX神經(jīng)網(wǎng)絡(luò)的構(gòu)造特點(diǎn),以2011年1月1日至2014年12月31日每一天的氣象因素作為輸入變量,以對應(yīng)時期的電力負(fù)荷為輸出變量,建立電力負(fù)荷的時間序列回歸預(yù)測模型.
2.3 研究過程
2.3.1 BP神經(jīng)網(wǎng)絡(luò)預(yù)測
首先我們從1106天中選取1000個樣本數(shù)據(jù)作為BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),剩下的106個樣本數(shù)據(jù)作為測試集,為了保證訓(xùn)練集與測試集數(shù)據(jù)產(chǎn)生的隨機(jī)性,我們通過產(chǎn)生1000個隨機(jī)序列數(shù)據(jù)來進(jìn)行訓(xùn)練集數(shù)據(jù)的選?。唧w的MATLAB實現(xiàn)步驟如下:
第一步:利用函數(shù)mapminmax將選取的訓(xùn)練數(shù)據(jù)的輸入(氣象因素)與輸出(電力負(fù)荷)歸一化.
第二步:通過函數(shù)newff構(gòu)建BP神經(jīng)網(wǎng)絡(luò)模型,初始的網(wǎng)絡(luò)參數(shù)為:隱含層神經(jīng)元數(shù)為3,最大的迭代次數(shù)為1000,學(xué)習(xí)率為0.1,學(xué)習(xí)的目標(biāo)為0.000 04.
第三步:通過函數(shù)train對第二步中構(gòu)建的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練.
第四步:利用第三步中訓(xùn)練對的BP網(wǎng)絡(luò),通過函數(shù)sim對歸一化后的測試集輸入數(shù)據(jù)進(jìn)行仿真,并將預(yù)測結(jié)果與原始測試集輸出數(shù)據(jù)進(jìn)行對比.
按照上述步驟,我們得到測試集的平均誤差誤差大小為154.731 1,平均相對誤差大小百分比為5.46%,可以看出,利用BP神經(jīng)網(wǎng)絡(luò)建立氣象因素的電力負(fù)荷回歸預(yù)測模型的精準(zhǔn)度很高,為了使預(yù)測輸出與實際輸出更直觀化,我們繪制出BP神經(jīng)網(wǎng)絡(luò)輸出結(jié)果和相對誤差大小見圖4、圖5.
圖4 BP預(yù)測輸出與實際輸出 圖5 BP網(wǎng)絡(luò)輸出相對誤差
為了進(jìn)一步改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測精度,我們對原始的神經(jīng)網(wǎng)絡(luò)給予了一定的改進(jìn).
改進(jìn)一:增加隱含層神經(jīng)元個數(shù),通常來講,BP神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元個數(shù)對BP神經(jīng)網(wǎng)絡(luò)的預(yù)測精度有較大的影響,尤其是對于復(fù)雜的非線性擬合預(yù)測.神經(jīng)元個數(shù)太少,網(wǎng)絡(luò)的訓(xùn)練程度達(dá)不到擬合的優(yōu)度,神經(jīng)元個數(shù)過多,不僅會使時間成本增加,而且容易造成過擬合現(xiàn)象即訓(xùn)練的神經(jīng)網(wǎng)絡(luò)對于訓(xùn)練數(shù)據(jù)的擬合很好,但對于測試數(shù)據(jù)的擬合誤差較大.通常來講,BP神經(jīng)網(wǎng)絡(luò)的預(yù)測誤差會隨著神經(jīng)元個數(shù)的增加呈現(xiàn)先減少后增加的趨勢.所以以下我們逐步增加神經(jīng)元個數(shù)以尋找最佳的擬合網(wǎng)絡(luò)結(jié)構(gòu),得到的結(jié)果如表1和圖6所示.
表1 不同隱含層神經(jīng)元數(shù)BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差
圖6 BP神經(jīng)網(wǎng)絡(luò)誤差率變化
通過表1和圖6可以看出,當(dāng)設(shè)置隱含層神經(jīng)元個數(shù)為7個時,平均相對誤差最小,預(yù)測輸出與實際輸出之間的擬合程度最高.但是由于受到隨機(jī)數(shù)的影響可能每一次的預(yù)測結(jié)果都會有一定的誤差,但總體不會產(chǎn)生太大的偏差.
改進(jìn)二:增加隱含層的層數(shù),對于復(fù)雜的非線性擬合系統(tǒng),單隱層神經(jīng)網(wǎng)絡(luò)可能無法通過增加隱含層神經(jīng)元的個數(shù)來提高擬合的精度,以下我們改進(jìn)一的基礎(chǔ)之上將原有的單隱層網(wǎng)絡(luò)結(jié)構(gòu)改為雙隱層網(wǎng)絡(luò)結(jié)構(gòu),每一層的神經(jīng)元個數(shù)都為7個.
通過表2可知,雙隱層神經(jīng)網(wǎng)絡(luò)的預(yù)測精度較單隱層神經(jīng)網(wǎng)絡(luò)的預(yù)測精度有所提高,但運(yùn)行的時間也有所增加.
表2 不同隱含層層數(shù)BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差
2.3.2 NARX神經(jīng)網(wǎng)絡(luò)預(yù)測
首先我們建立電力負(fù)荷的非線性自回歸模型,設(shè)置輸入延時為1∶2(默認(rèn)值),輸出延時也為(默認(rèn)值),雙隱含層(神經(jīng)元個數(shù)均為50),這里的輸入與輸出延時表示網(wǎng)絡(luò)的下一個輸出與前兩個輸入、前兩個輸出存在某種函數(shù)映射關(guān)系,具體模型表示為:y(t)=f(y(t-1),y(t-2),x(t-1),x(t-2)).
最后我們建立NARX訓(xùn)練網(wǎng)絡(luò)模型,模型的具體結(jié)果如圖7.
我們利用建立的NARX神經(jīng)網(wǎng)絡(luò)預(yù)測模型對測試數(shù)據(jù)進(jìn)行預(yù)測并給出模型的誤差分析圖8所示.
圖7 NARX神經(jīng)網(wǎng)絡(luò)預(yù)測模型
圖8 網(wǎng)絡(luò)訓(xùn)練過程梯度等參數(shù)變化
通過圖8可以看出,NARX神經(jīng)網(wǎng)絡(luò)在訓(xùn)練5次后,驗證集的誤差上升,說明此時訓(xùn)練可以結(jié)束,整個數(shù)據(jù)此時的誤差為218 170.
整個數(shù)據(jù)集的誤差及擬合如圖9、圖10所示:
圖9 預(yù)測輸出與實際輸出間的誤差 圖10 預(yù)測輸出與實際輸出擬合結(jié)果
通過圖10可以看出,整體預(yù)測數(shù)據(jù)與實際輸出數(shù)據(jù)的擬合程度在90%以上,說明整體的回歸擬合效果較好,但從圖九上可以看出還是有許多樣本點(diǎn)的預(yù)測輸出與實際輸出存在較大的誤差.為了進(jìn)一步分析誤差,我們繪制了誤差自相關(guān)圖和輸入與誤差相關(guān)圖.
通過圖11和圖12我們可以看出,預(yù)測輸出與實際輸出的誤差之間存在著嚴(yán)重的自相關(guān),這主要是由時間序列數(shù)據(jù)的特點(diǎn)導(dǎo)致的,電力負(fù)荷數(shù)據(jù)在時間上存在著滯后效應(yīng),即氣象因素對電力負(fù)荷的影響不僅限于當(dāng)期,而是延續(xù)若干期,由此導(dǎo)致了誤差變量嚴(yán)重的自相關(guān).
本文上述建立的基于BP神經(jīng)網(wǎng)絡(luò)與NARX神經(jīng)網(wǎng)絡(luò)電力負(fù)荷預(yù)測模型對于考慮氣象因素的回歸預(yù)測效果都比較好,但是也存在著嚴(yán)重的不足,具體表現(xiàn)在利用NARX神經(jīng)網(wǎng)絡(luò)預(yù)測輸出與實際輸出之間的誤差存在嚴(yán)重的自相關(guān).目前對于神經(jīng)網(wǎng)絡(luò)算法的優(yōu)化與改良主要有基于遺傳算法的神經(jīng)網(wǎng)絡(luò)算法和基于粒子群算法的神經(jīng)網(wǎng)絡(luò)算法,可以通過這兩種算法對NARX神經(jīng)網(wǎng)絡(luò)預(yù)測模型給予進(jìn)一步的改進(jìn).
圖11 誤差自相關(guān)圖 圖12 輸入與誤差相關(guān)圖
總的來說,本文給出的兩種基于氣象因素的短期電力負(fù)荷神經(jīng)網(wǎng)絡(luò)回歸預(yù)測模型可以為未來電力負(fù)荷的預(yù)測提供一定的借鑒,這對機(jī)組組合、經(jīng)濟(jì)調(diào)度、安全校核等都具有一定的現(xiàn)實意義,并且可以將上述的神經(jīng)網(wǎng)絡(luò)模型運(yùn)用于氣象預(yù)告、水文預(yù)告、農(nóng)作物病蟲害預(yù)告等各個方面.
[1] 王小川,史 峰,李 洋,等.MATLAB神經(jīng)網(wǎng)絡(luò)30個案例分析[M].北京:北京航空航天大學(xué)出版社,2013
[2] 陳 明.MATLAB神經(jīng)網(wǎng)絡(luò)原理與實例精解[M].北京:清華大學(xué)出版社,2013
[3] 任麗娜.基于Elman神經(jīng)網(wǎng)絡(luò)的中期電力負(fù)荷預(yù)測模型研究[D].蘭州:蘭州理工大學(xué),2007
[4] 飛思科技產(chǎn)品研發(fā)中心.神經(jīng)網(wǎng)絡(luò)與MATLAB 7實現(xiàn)[M].北京:電子工業(yè)出版社,2005
[5] 呂 蟬.基于BP神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測[D].武漢:華中科技大學(xué),2007
[6] 劉 雙.基于MATLAB神經(jīng)網(wǎng)絡(luò)工具箱的電力負(fù)荷組合預(yù)測模型[J].電力自動化設(shè)備,2003,23(3):59-61
[7] 劉晨暉.電力系統(tǒng)負(fù)荷理論與方法[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1987
[8] 鞠 平,馬大強(qiáng).電力系統(tǒng)負(fù)荷建模[M].北京:中國電力出版社,2008
[9] 楊桂元.數(shù)學(xué)建模[M].上海:上海財經(jīng)大學(xué)出版社,2015
Short-term Power Load Forecasting Based on Neural Network and MATLAB
HUANG Hongyun1, ZHU Jiaming2, WU Libin2
(1.School of Finance, Anhui University of Finance & Economics;2.School of Statistics and Applied Mathematics,Anhui University of Finance & Economics,Bengbu 233030, China)
For short-term power load forecasting problem, using MATLAB software to establish daily highest temperature, daily minimum temperature, daily average temperature and humidity of meteorological factors on the regression of power load forecasting model, the specific comparison shows the BP neural network with two kinds of NARX neural network regression prediction results, through the hidden layer of network parameters and the debugging for the appropriate improved BP neural network.
power load forecasting; meteorological factors; the BP neural network; the NARX neural network; MATLAB
2016-06-08
國家自然科學(xué)基金(11301001);安徽高等學(xué)校省級自然科學(xué)基金(KJ2013Z001);安徽財經(jīng)大學(xué)校級重點(diǎn)研究項目(ACKY1402ZD).
黃宏運(yùn)(1995-),男,安徽合肥人,主要從事金融學(xué)和數(shù)學(xué)建模方面的研究.
1672-2027(2016)03-0042-06
O29;TP183
A