黃媛玉,毛弋
(湖南大學(xué)信息科學(xué)與工程學(xué)院,中國長沙 410082;湖南大學(xué)電氣工程與科學(xué)學(xué)院,中國長沙 410082)
基于主成分分析法的遺傳神經(jīng)網(wǎng)絡(luò)模型對電力系統(tǒng)的短期負(fù)荷預(yù)測
黃媛玉,毛弋*
(湖南大學(xué)信息科學(xué)與工程學(xué)院,中國長沙 410082;湖南大學(xué)電氣工程與科學(xué)學(xué)院,中國長沙 410082)
針對BP神經(jīng)網(wǎng)絡(luò)的兩個(gè)主要缺點(diǎn),網(wǎng)絡(luò)訓(xùn)練速度慢,對初始權(quán)值閾值敏感,容易陷入局部極小點(diǎn),本文利用多元統(tǒng)計(jì)分析的主成分分析方法(Principal components analysis,PCA),在不損失原始負(fù)荷數(shù)據(jù)主要信息的前提下提取負(fù)荷數(shù)據(jù)的主成分,有效地減少了預(yù)測模型的輸入量.同時(shí)將遺傳算法(GA)與BP神經(jīng)網(wǎng)絡(luò)結(jié)合,利用GA的全局搜索優(yōu)化BP網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù),有效克服BP算法的局部收斂等問題.實(shí)驗(yàn)結(jié)果表明,該方法提高了預(yù)測精度,得到了較好的預(yù)測結(jié)果.
電力系統(tǒng);負(fù)荷預(yù)測;主成分分析;遺傳算法;BP神經(jīng)網(wǎng)絡(luò)
電力系統(tǒng)短期負(fù)荷預(yù)測是電力生產(chǎn)部門的重要工作之一,它主要用于預(yù)報(bào)未來幾小時(shí)、一天至幾天的電力負(fù)荷.通過準(zhǔn)確的負(fù)荷預(yù)測,可以經(jīng)濟(jì)合理地安排機(jī)組啟停,減少旋轉(zhuǎn)備用容量,合理安排檢修計(jì)劃,降低發(fā)電成本,提高經(jīng)濟(jì)效益,是電力系統(tǒng)運(yùn)行的安全性、經(jīng)滬生和供電質(zhì)量的重要保障.
BP神經(jīng)網(wǎng)絡(luò)已廣泛應(yīng)用于短期負(fù)荷預(yù)測中,其最主要的特點(diǎn)是有很強(qiáng)的非線性擬合能力,可映射任意復(fù)雜的非線性關(guān)系.具有高度的容錯(cuò)性和魯棒性以及強(qiáng)大的白組織、自學(xué)習(xí)能力.
短期負(fù)荷預(yù)測中輸入變量的選擇直接影響神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度、網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性和網(wǎng)絡(luò)泛化的精度.通常,為了提高負(fù)荷預(yù)測精度,輸入變量必須包括盡可能多的影響因素,如當(dāng)天的溫度、濕度、風(fēng)速、當(dāng)天是否為工作日、休息日、節(jié)假日等,從而導(dǎo)致BP神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)數(shù)量過多,網(wǎng)絡(luò)的復(fù)雜度增大,進(jìn)而使得訓(xùn)練次數(shù)多,學(xué)習(xí)效率低,收斂速度慢.若初始權(quán)值閾值選取不當(dāng),又易形成局部極小而得不到全局最優(yōu).目前,為保證短期負(fù)荷預(yù)測預(yù)測精度,解決BP神經(jīng)網(wǎng)絡(luò)輸入?yún)?shù)以及初始權(quán)值閾值的確定問題,國內(nèi)外學(xué)者已做了大量的研究[1-5].文獻(xiàn)[4]提出了一種結(jié)合數(shù)據(jù)挖掘技術(shù)和神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測模型,利剛數(shù)據(jù)挖掘中的聚類技術(shù)將歷史負(fù)荷數(shù)據(jù)進(jìn)行聚類,根據(jù)聚類后的分類信息對定性屬性利用粗糙集進(jìn)行屬性約簡,由約簡結(jié)果進(jìn)一步生成決策規(guī)則樹,然后利用自適應(yīng)神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測.文獻(xiàn)[5]提出了一種模糊神經(jīng)網(wǎng)絡(luò)模型,利用模糊理論處理非線性問題的能力以及從大量數(shù)據(jù)中抽取相似性的功能,賦予神經(jīng)網(wǎng)絡(luò)模糊的輸入變量和模糊的權(quán)值閾值,通過訓(xùn)練不斷調(diào)整神經(jīng)網(wǎng)絡(luò)權(quán)值閾值來適應(yīng)環(huán)境變化,從而提高系統(tǒng)性能.
為解決這一系列問題,本文利用主成分分析方法對原始負(fù)荷數(shù)據(jù)進(jìn)行適當(dāng)?shù)奶幚恚コ龜?shù)據(jù)間的相關(guān)性,刪除其中的部分冗余信息,以降低數(shù)據(jù)的維數(shù),得到主成分分量,然后再對這些主成分分量用GA-BP神經(jīng)網(wǎng)絡(luò)建模進(jìn)行預(yù)測.由于采用了GA對BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)進(jìn)行優(yōu)化,有效克服了BP算法的局部收斂等問題.通過算例結(jié)果分析,證明了該模型的有效性.
1.1 主成分分析的基本原理
主成分分析方法是一種將多個(gè)指標(biāo)化為少數(shù)幾個(gè)不相關(guān)的綜合指標(biāo)的多元統(tǒng)計(jì)分析方法.它是通過矩陣的特征分析來對原始數(shù)據(jù)進(jìn)行線性空間投影,從而達(dá)到降低數(shù)據(jù)維數(shù)的目的,其優(yōu)點(diǎn)在于它既保留了原數(shù)據(jù)的大部分信息,又去除了原始數(shù)據(jù)的相關(guān)性,減少了數(shù)據(jù)量,很好地實(shí)現(xiàn)了數(shù)據(jù)的降維和簡化.利用主成分分析得到的主成分與原始變量之間的基本關(guān)系如下:(1)每個(gè)主成分都是各原始變量的線性組合;(2)主成分的數(shù)目大大少于原始變量的數(shù)目;(3)主成分保留了原始變量絕大多數(shù)信息;(4)各個(gè)主成分之間互不相關(guān).
設(shè)對某一事物的研究涉及P個(gè)指標(biāo),分別用x1,x2,…,xP表示,這P個(gè)指標(biāo)構(gòu)成P維隨機(jī)向量為X=(x1,x2,…,xP)′.對X進(jìn)行線性變換,形成新的綜合變量,用Y表示,即新的綜合變量可以由原來的變量線性表示為下式:
式中滿足ui′ui=1,Yi與Yj相互無關(guān),Y1,Y2,…,YP的方差依次減?。畡t稱Y1,Y2,…,YP為原始變量的第一、第二、…、第P個(gè)主成分.
1.2 主成分分析步驟
具體的計(jì)算步驟如下:(1)根據(jù)研究問題選取初始分析變量;(2)根據(jù)初始變量特性判斷由協(xié)方差矩陣求主成分還是由相關(guān)矩陣求主成分;(3)求協(xié)方差矩陣或相關(guān)矩陣的特征根與相應(yīng)標(biāo)準(zhǔn)特征向量;(4)得到主成分的表達(dá)式,計(jì)算各個(gè)主成分的方差貢獻(xiàn)率及累計(jì)方差貢獻(xiàn)率,從而選取主成分;(5)結(jié)合主成分對研究問題進(jìn)行分析并深入研究.
2.1 BP神經(jīng)網(wǎng)絡(luò)的基本原理
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),由輸入層、隱含層和輸出層組成,含有一個(gè)隱含層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
圖1中,P代表輸入層有P個(gè)分量的輸入向量,n為樣本數(shù),X為輸入矩陣,W1,W2,b1,b2,a1,a2,S1,S2,n1,n2分別為隱含層和輸出層神經(jīng)元的權(quán)重矩陣、閾值向量、輸出向量、神經(jīng)元數(shù)及加權(quán)和向量.
圖13 層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
BP神經(jīng)網(wǎng)絡(luò)預(yù)測前首先要訓(xùn)練網(wǎng)絡(luò),通過訓(xùn)練使網(wǎng)絡(luò)具有聯(lián)想記憶和預(yù)測能力.BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程包括以下幾個(gè)步驟:
(1)網(wǎng)絡(luò)初始化,把所有權(quán)值閾值都設(shè)置成較小的隨機(jī)數(shù).
(2)提供訓(xùn)練樣本集,計(jì)算隱含層和輸出層的輸出.對于圖1來說,隱含層的輸出為a1=f1(W1X+b1)輸出層的輸出為a2=f2(W2a1+b2).
(3)計(jì)算誤差,調(diào)整權(quán)值閾值.
(4)反復(fù)進(jìn)行步驟(2)~(3),直到誤差滿足精度為止.
2.2 遺傳BP神經(jīng)網(wǎng)絡(luò)模型[6-7]
BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)就是對網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行學(xué)習(xí)和調(diào)整.為了避免因?yàn)槌跏紮?quán)值閾值的選取不當(dāng),而造成網(wǎng)絡(luò)在訓(xùn)練時(shí)陷入局部最小,本文引入遺傳算法對網(wǎng)絡(luò)初始參數(shù)進(jìn)行優(yōu)化.所謂網(wǎng)絡(luò)參數(shù)的優(yōu)化,就是尋找良好的網(wǎng)絡(luò)權(quán)值和閾值.使得網(wǎng)絡(luò)全局誤差極小化.
具體的實(shí)現(xiàn)步驟如下:
(1)參數(shù)編碼:將BP網(wǎng)絡(luò)的權(quán)值和閾值作為基因,采用二進(jìn)制編碼方式進(jìn)行編碼,每個(gè)基因編碼代表解空間的一個(gè)解.
(2)在編碼的解空間中,隨機(jī)生成一個(gè)初始群體(不要求一定是可行解).
(3)對群體中的每一個(gè)個(gè)體進(jìn)行適應(yīng)度評價(jià),本文采用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到的誤差作為適應(yīng)度函數(shù).
(4)選擇操作:按輪盤賭法將當(dāng)前解群體中適應(yīng)度最高的個(gè)體結(jié)構(gòu)完整地復(fù)制到下一代群體中.
計(jì)算自適應(yīng)交叉概率,對個(gè)體進(jìn)行交叉.
(6)變異操作:將個(gè)體按照適應(yīng)度大小進(jìn)行排序,計(jì)算自適應(yīng)變異概率,對個(gè)體進(jìn)行變異操作.
(7)反復(fù)進(jìn)行步驟(3)~(6),每進(jìn)行一次循環(huán)稱為群體進(jìn)化了一代,直至進(jìn)化了K代(K為預(yù)置的進(jìn)化代數(shù)).
(8)從第K代群體中選出適應(yīng)度值最大的個(gè)體,該個(gè)體對應(yīng)的就是BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的權(quán)值和閾值的最佳初始解.
(9)利用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測.
將PCA、GA算法和BP神經(jīng)網(wǎng)絡(luò)三者結(jié)合,建立預(yù)測模型,利用PCA先對原始數(shù)據(jù)進(jìn)行適當(dāng)?shù)奶幚?,篩選出主成分,從而確定BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),然后再利用GA算法從初始權(quán)值閾值的解群中選取出一組優(yōu)秀的初始權(quán)值閾值.目的是為了克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的兩大主要缺點(diǎn):(1)輸入變量過多時(shí),網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,訓(xùn)練速度慢,學(xué)習(xí)速度急劇下降;(2)初始權(quán)值閾值選取的盲目性,使得訓(xùn)練容易陷入局部極小點(diǎn).對傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)后,由于相對穩(wěn)定了訓(xùn)練次數(shù)和最終權(quán)值閾值,大大加快了訓(xùn)練速度.
由于短期負(fù)荷預(yù)測中的輸入變量中,常常涉及到負(fù)荷、溫度、天氣因素等不同的指標(biāo),同時(shí)本文BP網(wǎng)絡(luò)每層神經(jīng)元節(jié)點(diǎn)的激活函數(shù)采用sigmoid函數(shù),必須:降輸入量處理為區(qū)間[0,1]之間的數(shù)據(jù),所以從相關(guān)系數(shù)矩陣出發(fā)進(jìn)行主成分分析.具體步驟如下:
歸一化方法有很多種形式,這里采用公式:
n為樣本數(shù),每個(gè)樣本為P維;xij為第i個(gè)樣本的第j維的取值;x1,x2,…,xp表示X的各列向量;xi.max,xi.min分別為第i個(gè)樣本中的最大、最小值.在實(shí)際應(yīng)用中,xi.max一般取實(shí)際最大值的1.1倍;xi.min一般取實(shí)際最小輸入量得0.9倍.若為溫度值,一般取xi.min=-50℃,xi.max=50℃.
(2)計(jì)算樣本各維間相關(guān)系數(shù)矩陣R(rij)P×P.
式中Cov(xi,xj)表示數(shù)據(jù)矩陣中第i列和第j列之間的協(xié)方差;Var(xi),Var(xj)為xi、xj的方差,計(jì)算公式為
(3)求相關(guān)系數(shù)矩陣只的特征值和特征向量.
求得R的p個(gè)特征值λ1,λ2,…,λp(特征值均大于等于零)及相應(yīng)的特征向量e1,e2,…,ep.
(4)求各個(gè)主成分的方差貢獻(xiàn)率.
第k個(gè)主成分Yk的方差貢獻(xiàn)率為
(5)篩選主成分.
將各主成分的方差貢獻(xiàn)率由高到低排列,計(jì)算累計(jì)方差貢獻(xiàn)率
當(dāng)前m個(gè)主成分的累計(jì)方差貢獻(xiàn)率達(dá)薊桔息反映精凌的要求,即滿足M≥85%時(shí),求出λ1,λ2,…,λm對應(yīng)的特征向量e1,e2,…,em,利用公式:
求得m個(gè)主成分(Y1,Y2,…,Ym)作為遺傳BP神經(jīng)網(wǎng)絡(luò)的輸入變量.
顯然,第k個(gè)主成分Yk=e'kX,k=1,2,…,m,將第i個(gè)樣本的值(xi1,xi2,…,xip)代入Yk的表達(dá)式,經(jīng)計(jì)算得到的值稱為第i個(gè)樣本在第k個(gè)主成分的得分,記為Yik=e'k(xi1,xi2,…,xip).
主成分分析的遺傳神經(jīng)網(wǎng)絡(luò)示意圖如圖2所示.
圖2 主成分分析的遺傳神經(jīng)網(wǎng)絡(luò)示意圖
為了驗(yàn)證所述主成分分析的遺傳神經(jīng)網(wǎng)絡(luò)的可行性和有效性[8],以南方某市的2004年7月10日到7月20日的12個(gè)整點(diǎn)有功負(fù)荷值以及2004年7月11日到7月21日的最高氣溫、最低氣溫和天氣特征值(晴天、陰天還是雨天)為原始數(shù)據(jù),對7月21日的日負(fù)荷進(jìn)行預(yù)測建模為例進(jìn)行討論.日負(fù)荷預(yù)測的影響因素集見表1.
表1 日負(fù)荷預(yù)測的影響因素集
故有15個(gè)輸入變量.本文將獲得的原始數(shù)據(jù)預(yù)處理之后,利用公式(3)將其進(jìn)行歸一化處理,然后求出相關(guān)系數(shù)矩陣,利用公式(6)計(jì)算累計(jì)方差貢獻(xiàn)率,見表2.
表2 特征值及累計(jì)方差貢獻(xiàn)率
由表2可確定前4個(gè)特征值的累積方差貢獻(xiàn)率已經(jīng)大于85%,所以選擇4個(gè)主成分.選定4個(gè)主成分后,利用公式(7)計(jì)算出新的輸入變量.將得到的輸入變量輸入遺傳神經(jīng)網(wǎng)絡(luò)中進(jìn)行預(yù)測.
運(yùn)用matlab編程并進(jìn)行仿真訓(xùn)練,對未經(jīng)過主成分分析的數(shù)據(jù),建立BP神經(jīng)網(wǎng)絡(luò)模型和GABP遺傳神經(jīng)網(wǎng)絡(luò)模型.輸入層有工5個(gè)神經(jīng)元,輸出層有工2個(gè)神經(jīng)元,隱含層節(jié)點(diǎn)的選取采用反復(fù)試驗(yàn)的方法,確定為31個(gè).對經(jīng)過主成分分析的數(shù)據(jù),同樣建立BP神經(jīng)網(wǎng)絡(luò)模型和GABP遺傳神經(jīng)網(wǎng)絡(luò)模型.輸入層有4個(gè)神經(jīng)元,輸出層有土2個(gè)神經(jīng)元,反復(fù)試驗(yàn)后,確定隱含層節(jié)點(diǎn)為24個(gè).神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)轉(zhuǎn)移函數(shù)選用tansig函數(shù),輸出層節(jié)點(diǎn)轉(zhuǎn)移函數(shù)選用pure帆函數(shù).表3是在4組不同的神經(jīng)網(wǎng)絡(luò)性能及預(yù)測誤差比較.圖3為4組不同的神經(jīng)網(wǎng)絡(luò)預(yù)測的相對誤差曲線.
表34 組不同的神經(jīng)網(wǎng)絡(luò)性能及預(yù)測誤差比較
從表3可以看出,主成分分析的遺傳神經(jīng)網(wǎng)絡(luò)消除了網(wǎng)絡(luò)輸入因子間的相關(guān)性,減少了輸入變量,簡化了網(wǎng)絡(luò)結(jié)構(gòu),提高了預(yù)測精度.從圖3可以得出PCA-GABP網(wǎng)絡(luò)預(yù)測各個(gè)點(diǎn)的相對誤差較小,各點(diǎn)的可靠性大.
利用PCA對樣本集進(jìn)行篩選,選出新的訓(xùn)練和測試樣本集,從而減少了BP神經(jīng)網(wǎng)絡(luò)建模時(shí)的輸入個(gè)數(shù),同時(shí)消除了輸入因子的相關(guān)性并簡化網(wǎng)絡(luò)結(jié)構(gòu),大大提高網(wǎng)絡(luò)的學(xué)習(xí)速率.用GA的全局搜索能力來優(yōu)化BP網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù),有效地克服BP算法易陷入局部收斂等問題,并將基于主成分分析的遺傳神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型成功地應(yīng)用于短期負(fù)荷預(yù)測研究中[9-11].得到的PCA-GABP神經(jīng)網(wǎng)絡(luò)模型能達(dá)到較高的精度,為影響因素多且機(jī)理尚不清楚的電力市場提供了一個(gè)有效的方法和手段.
圖34 組不同的神經(jīng)網(wǎng)絡(luò)預(yù)測相對誤差曲線
[1]高山,單淵達(dá).神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測輸入變量選擇新方法[J].電力系統(tǒng)自動(dòng)化,2001,25(20):41-44.
[2]尹成群,康麗峰,孫偉,等.基于粗糙集和主成分分析結(jié)合的短期負(fù)荷預(yù)測[J].華北電力大學(xué)學(xué)報(bào),2007,34(1):1-4.
[3]張曉星,周淙,任海軍,等.基于增量約簡算法確定電力負(fù)荷預(yù)測模型輸入?yún)?shù)的研究[J].電力系統(tǒng)自動(dòng)化,2005,29(13):40-44.
[4]牛東曉,王建軍,李莉,等.基于粗糙集和決策樹的自適應(yīng)神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測方法[J].電力自動(dòng)化設(shè)備,2009,29(10):30-34.
[5]胡越黎,計(jì)慧杰.短期電力負(fù)荷預(yù)測的模糊神經(jīng)網(wǎng)絡(luò)方法[J].應(yīng)用科學(xué)學(xué)報(bào),2009,27(1):79-83.
[6]謝宏,程浩忠,張國立,等.基于粗糙集理論建立短期電力負(fù)荷神經(jīng)網(wǎng)絡(luò)預(yù)測模型[J].中國電機(jī)工程學(xué)報(bào),2003,23 (11):1-4.
[7]雷紹蘭,孫才新,周湶,等.基于徑向基神經(jīng)網(wǎng)絡(luò)和自適應(yīng)神經(jīng)模糊系統(tǒng)的電力短期負(fù)荷預(yù)測方法[J].中國電機(jī)工程學(xué)報(bào),2005,25(22):78-82.
[8]程其云,王有元,陳偉根.基于改進(jìn)主成分分析的短期負(fù)荷預(yù)測方法[J].電網(wǎng)技術(shù),2005,29(3):64-67.
[9]杜鵑,改進(jìn)的TSK型動(dòng)態(tài)模糊神經(jīng)網(wǎng)絡(luò)在短期負(fù)荷預(yù)測的應(yīng)用[J].電網(wǎng)技術(shù),2010,34(4):69-75.
[10]梁海峰,涂光瑜,唐紅衛(wèi).遺傳神經(jīng)網(wǎng)絡(luò)在電力系統(tǒng)短期負(fù)荷預(yù)測中的應(yīng)用[J].2001,25(1):49-53.
[11]高海龍,張國立.改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)及其在負(fù)荷預(yù)測中的應(yīng)用[J].華北電力大學(xué)學(xué)報(bào),2009,36(5):37-40.
Power System Short-term Loading Forecasting by Genetic Neutral Network Based on Principal Components Analysis
HUANG Yuan-yu,MAO Yi*
(School of Information and Science,Hunan University,Changsha 410082,China;
School of Electrical Engineering and Science,Hunan University,Changsha 410082,China)
The principal components analysis was used in order to solve two main weaknesses of BP neural network such as the speed of network′s training is slow,sensitive to the initial weight and threshold,and easy to fall into the partial minimal point.The main component of load data can be obtained without losing initial load data of the main information so that the input quantity of the prediction model can be decreased.At the same time,the local convergence and other problems of BP algorithm can be effectively overcome based on the combination of genetic algorithm(GA)with BP neural network,and using GA′s global searching function to optimize BP network′s structure parameters.This model is applied in the power system short-term load forecasting simulation process.The results show that it can improve the performance of network and the accuracy of predictions.
power system;load forecasting;principal components analysis;genetic algorithm;BP neural network
TM743
A
1000-2537(2011)05-0026-06
2011-05-01
湖南省自然科學(xué)基金資助項(xiàng)目(10JJ5055)
*通訊作者,E-mail:breeze_hs@yahoo.cn
(編輯陳笑梅)