趙珍玉,蔣 燕,段睿欽,周彬彬,高洪洋
(1.云南電力調(diào)度控制中心,云南 昆明 650011; 2.北京清軟創(chuàng)新科技股份有限公司,北京 102200)
世界經(jīng)濟(jì)的快速發(fā)展,對(duì)能源的需求不斷增長(zhǎng)。出于對(duì)未來(lái)時(shí)段負(fù)荷需求的考量,對(duì)負(fù)荷預(yù)測(cè)的研究引起了國(guó)內(nèi)外大量學(xué)者的關(guān)注,經(jīng)過(guò)幾十年的發(fā)展成為一個(gè)熱門研究方向。其中短期預(yù)測(cè)研究,在計(jì)算速度和預(yù)測(cè)準(zhǔn)確率的方向上,前人做了很多研究工作[1-5]。
1991年,Park等[6]首次在電力預(yù)期上用神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)電量;Fan等[7]將未來(lái)負(fù)荷和日期、溫度、歷史負(fù)荷等相關(guān)因素關(guān)聯(lián)進(jìn)行研究;Schachter等[8]用前饋式傳播的人工神經(jīng)網(wǎng)絡(luò)方法對(duì)短期負(fù)荷的預(yù)計(jì)進(jìn)行了研究;師彪等[9-11]將智能進(jìn)化算法和神經(jīng)網(wǎng)絡(luò)組合起來(lái),可以優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),從而提高預(yù)測(cè)精度。
針對(duì)算法的收斂不夠快、搜尋的結(jié)果不夠精確等不足,導(dǎo)致結(jié)合的神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)能力低下,本文主要對(duì)智能進(jìn)化算法中花粉算法(Flower pollination algorithm,F(xiàn)PA)進(jìn)行改進(jìn)來(lái)更好地幫助神經(jīng)網(wǎng)絡(luò)搜索權(quán)值和閾值,并從多方位評(píng)判改進(jìn)算法的效果。
以“誤差反向傳播(Back Propagation,BP)網(wǎng)絡(luò)”為例,其本質(zhì)是結(jié)果誤差在神經(jīng)網(wǎng)絡(luò)內(nèi)反向傳播訓(xùn)練。具體為信息正向傳播,比較輸出的預(yù)期,未達(dá)預(yù)期的誤差結(jié)果反向傳輸并改善該網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)(包含神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值),以達(dá)到提高預(yù)測(cè)精度的目的。
通用的神經(jīng)網(wǎng)絡(luò)組織結(jié)構(gòu)通常包含輸入層、隱含層、輸出層3層結(jié)構(gòu),如圖1所示。預(yù)測(cè)需求的歷史負(fù)荷數(shù)據(jù)、節(jié)假日、溫度、天氣等輸入可按照輸入類型數(shù)對(duì)應(yīng)設(shè)置為輸入神經(jīng)元的數(shù)量。而隱藏層神經(jīng)元的數(shù)量并未有明確的計(jì)算法則,需要根據(jù)經(jīng)驗(yàn)反復(fù)試驗(yàn)得到較為合適的數(shù)量,輸出層是未來(lái)需要得知的數(shù)據(jù)鏈,這里指未來(lái)時(shí)間段內(nèi)負(fù)荷即單個(gè)輸出神經(jīng)元。
圖1 神經(jīng)網(wǎng)絡(luò)拓?fù)錁?gòu)造Fig.1 Neural network topology
為了配置更優(yōu)良的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),避免過(guò)大的預(yù)測(cè)誤差,可采用進(jìn)化計(jì)算優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)。例如用粒子群(Particle Swarm Optimization,PSO)優(yōu)化BP,可采用如圖2所示的流程來(lái)實(shí)施。常規(guī)的進(jìn)化計(jì)算算法都可采用此模式優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
在實(shí)際應(yīng)用中,采取深圳市某地某樓層的相關(guān)負(fù)荷和當(dāng)?shù)貧庀髷?shù)據(jù)共8組數(shù)據(jù)作為輸入,隱含層根據(jù)經(jīng)驗(yàn)公式設(shè)置為5個(gè)節(jié)點(diǎn),輸出層為單節(jié)點(diǎn)。因此,該神經(jīng)網(wǎng)絡(luò)共有45個(gè)權(quán)值和6個(gè)閾值需要優(yōu)化,粒子群算法中將個(gè)體的維度設(shè)置為51。把作為訓(xùn)練用的數(shù)據(jù)的均方差作為算法內(nèi)個(gè)體的優(yōu)化值,求得的值越小,該個(gè)體越優(yōu),相應(yīng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)也更優(yōu)良。
從表1、圖3和圖4可以看出,經(jīng)過(guò)PSO優(yōu)化過(guò)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)精度提高不少,具有實(shí)際應(yīng)用意義。
圖2 PSO優(yōu)化BP算法流程Fig.2 Flowchart of the PSO optimization BP algorithm
表1 兩種方法預(yù)測(cè)指標(biāo)Tab.1 Prediction indicators for the two methods
圖3 PSO-BP與BP預(yù)測(cè)值對(duì)比Fig.3 Comparison of PSO-BP and BP prediction
為進(jìn)一步提高神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)能力,可通過(guò)其他搜索能力更優(yōu)的算法或改進(jìn)某些算法,避免求解陷入局部最優(yōu)。
圖4 PSO-BP與BP絕對(duì)誤差百分比對(duì)比Fig.4 Comparison of absolute error percentage between PSO-BP and BP
花朵授粉算法是自然界植物花朵的繁殖授粉的啟發(fā)而來(lái)。該算法包括局部概率p轉(zhuǎn)換和全局概率轉(zhuǎn)換授粉。將最優(yōu)個(gè)體依據(jù)概率進(jìn)行位置更新,然后不斷迭代進(jìn)化。
(1)
(2)
為增強(qiáng)該算法的搜索能力,將更新公式(2)變換為(3)。個(gè)體花粉搜索過(guò)程中會(huì)不斷分享種群內(nèi)最優(yōu)個(gè)體信息素,使搜尋全局最優(yōu)解更具效率。
(3)
為了測(cè)試改進(jìn)的進(jìn)化計(jì)算花粉算法(IFPA)的搜索能力、計(jì)算時(shí)間、收斂速率等,選擇12個(gè)測(cè)試函數(shù)進(jìn)行測(cè)試。表2列舉了12個(gè)常規(guī)基準(zhǔn)函數(shù)的測(cè)試公式、空間搜索區(qū)域以及該公式的理論最優(yōu)值。第1—第7個(gè)函數(shù)都是單一局部最優(yōu)且高維問(wèn)題,能夠適合神經(jīng)網(wǎng)絡(luò)優(yōu)化的單目標(biāo)單峰問(wèn)題,這類問(wèn)題的設(shè)置主要針對(duì)該算法的收斂速率和尋優(yōu)能力。第8—第12個(gè)函數(shù)屬于多個(gè)局部最優(yōu)即多峰問(wèn)題,這類問(wèn)題多是非線性問(wèn)題,對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)中需優(yōu)化的多峰類型函數(shù)。
表2 基準(zhǔn)測(cè)試函數(shù)Tab.2 Benchmark test function
將IFPA與FPA[12]、EFPA[13]、tFPA[14]、MFPA[15]和PSO算法比較。PSO參數(shù)設(shè)置c1=c2=2,慣性權(quán)重w=0.729 8。FPA類的算法的轉(zhuǎn)換概率的設(shè)置p=0.8。整體算法的種群規(guī)模保持為30。
對(duì)相同迭代數(shù)情況下不同算法進(jìn)行分析。首先,設(shè)置一定的迭代次數(shù)為500,個(gè)體的維度采用30維和100維進(jìn)行算法對(duì)維度復(fù)雜性求解能力測(cè)試,每種算法在同樣運(yùn)行環(huán)境下獨(dú)立運(yùn)行50次,然后統(tǒng)計(jì)各類指標(biāo)。
測(cè)試結(jié)果見(jiàn)表3。從表3中可以看出,經(jīng)過(guò)多次優(yōu)化求解測(cè)試函數(shù)的作為對(duì)比的各類算法的各項(xiàng)指標(biāo)中,結(jié)果都不優(yōu)良,甚至有的無(wú)法搜尋到理論最優(yōu),因此性能相對(duì)較差。而IFPA算法可以搜尋到的解屬于精度很高的優(yōu)良解。對(duì)于函數(shù)f8和f10,IFPA算法可以搜尋到理論最優(yōu)值。同時(shí),在2種不同維度下,IFPA算法也優(yōu)于相比較算法的結(jié)果。另外,神經(jīng)網(wǎng)絡(luò)需要優(yōu)化的多峰類型的函數(shù)f8—f12,IFPA也擁有更為優(yōu)秀的搜索能力。
表3 算法在固定迭代次數(shù)下在30維和100維的測(cè)試結(jié)果Tab.3 Test results of the algorithm in 30 and 100 dimensions for a fixed number of iterations
續(xù)表
在預(yù)測(cè)電力負(fù)荷的方法中,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)通過(guò)進(jìn)化算法優(yōu)化后,擁有更優(yōu)良的結(jié)構(gòu),對(duì)提升預(yù)測(cè)精度有很大的幫助。本文針對(duì)花粉算法進(jìn)行了適應(yīng)性策略上的改進(jìn),對(duì)比其他花粉算法的改進(jìn)及PSO算法,實(shí)驗(yàn)結(jié)果證明IFPA能夠使其避免局部最優(yōu)的搜尋,進(jìn)而能搜尋全局最優(yōu)的結(jié)果,擁有改善神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的能力。