鄒治銳,高坤,朱偉,姚境,唐偉斌
(國(guó)網(wǎng)湖南省電力有限公司常德供電公司,湖南常德415000)
短期電網(wǎng)負(fù)荷受天氣變化、節(jié)日類型、社會(huì)生活方式等各種因素影響,這些因素大部分看似呈現(xiàn)隨機(jī)性,長(zhǎng)期看卻有一定規(guī)律可循[1]。隨著科學(xué)技術(shù)的發(fā)展,天氣預(yù)報(bào)準(zhǔn)確率逐步提高,加之電力系統(tǒng)大數(shù)據(jù)信息的逐步完善,選擇合適的短期負(fù)荷預(yù)測(cè)模型將有利于提高短期負(fù)荷預(yù)測(cè)的準(zhǔn)確率,極大方便調(diào)度機(jī)構(gòu)的短期負(fù)荷預(yù)測(cè)工作。常德電網(wǎng)在夏大、冬大運(yùn)行方式下,負(fù)荷增長(zhǎng)迅猛,可能對(duì)其供電局部區(qū)域即局部電網(wǎng)的主變、線路造成運(yùn)行風(fēng)險(xiǎn),相關(guān)主變、線路面臨過(guò)載風(fēng)險(xiǎn)。為了確保設(shè)備安全運(yùn)行,負(fù)荷增長(zhǎng)不超過(guò)其承載力,需要提前對(duì)局部電網(wǎng)的主變、線路負(fù)荷進(jìn)行智能預(yù)判,根據(jù)預(yù)判結(jié)果及時(shí)調(diào)節(jié)局部電網(wǎng)方式,保證主變、線路運(yùn)行方式能隨負(fù)荷變化做相應(yīng)合理的變更,更好地提高設(shè)備利用率和供電可靠性,確保安全生產(chǎn)。因此,通過(guò)局部電網(wǎng)短期負(fù)荷預(yù)測(cè),對(duì)常德電網(wǎng)迎峰度夏、迎峰度冬以及重要保電時(shí)期工作開展具有重要指導(dǎo)意義。
BP(Back Propagation)算法人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡(jiǎn)寫為ANNs)模型是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò)數(shù)學(xué)模型,利用反向傳播的方式不斷調(diào)整網(wǎng)絡(luò)的權(quán)值,將網(wǎng)絡(luò)的誤差平方和調(diào)整至最小[2]。模型通過(guò)自組織、自學(xué)習(xí),不斷調(diào)整內(nèi)部大量節(jié)點(diǎn)之間相互連接的關(guān)系,適應(yīng)環(huán)境、總結(jié)規(guī)律、完成某種運(yùn)算、識(shí)別或過(guò)程控制,從而達(dá)到處理信息的目的[3]。BP神經(jīng)網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu)有三層,分別為輸入層、隱層和輸出層,關(guān)系如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
局部電網(wǎng)短期負(fù)荷預(yù)測(cè)就是基于人工神經(jīng)網(wǎng)絡(luò)BP算法,將對(duì)局部電網(wǎng)負(fù)荷產(chǎn)生影響的歷史負(fù)荷、氣溫、節(jié)假日等因素作為因子,并結(jié)合未來(lái)天氣預(yù)報(bào),達(dá)到預(yù)測(cè)局部電網(wǎng)負(fù)荷甚至單個(gè)變電站或線路負(fù)荷的效果。
局部電網(wǎng)短期負(fù)荷預(yù)測(cè)系統(tǒng)采用多層體系架構(gòu),如圖2所示,具體體現(xiàn)為五個(gè)層次。
圖2 體系架構(gòu)圖
展現(xiàn)層:包含了用戶視圖頁(yè)面,嵌入式API,視圖和服務(wù)通過(guò)底層的SDK和后端服務(wù)進(jìn)行交互。整體架構(gòu)基于MVVM+思想設(shè)計(jì)。
業(yè)務(wù)邏輯層:作為View層和ViewModel層中間層對(duì)上提供數(shù)據(jù)給View層展示,對(duì)下負(fù)響應(yīng)用戶的交互。
對(duì)象持久化層:負(fù)責(zé)系統(tǒng)業(yè)務(wù)數(shù)據(jù)封裝,對(duì)上層提供業(yè)務(wù)封裝后的接口提供數(shù)據(jù)實(shí)體支撐。
數(shù)據(jù)層:采用SQLITE數(shù)據(jù)庫(kù)。
服務(wù)層:通過(guò)MATLAB工具包,對(duì)數(shù)據(jù)進(jìn)行擬合計(jì)算,從而獲得最佳擬合公式。
軟件框架基于成熟的SpringBoot架構(gòu),性能穩(wěn)定、效率。數(shù)據(jù)接入采用持久化架構(gòu),能夠接入多種主流數(shù)據(jù)庫(kù)。
利用MATLAB編寫B(tài)P神經(jīng)元網(wǎng)絡(luò)算法[4],使用歷史負(fù)荷數(shù)據(jù)、氣溫?cái)?shù)據(jù)作為訓(xùn)練數(shù)據(jù),不斷訓(xùn)練BP神經(jīng)元網(wǎng)絡(luò),從而訓(xùn)練出誤差最小、符合預(yù)期范圍內(nèi)的BP神經(jīng)元網(wǎng)絡(luò)。設(shè)計(jì)過(guò)程分為六個(gè)步驟實(shí)現(xiàn)。
步驟一:采集具有典型意義的且足夠多的歷史負(fù)荷數(shù)據(jù),對(duì)歷史負(fù)荷數(shù)據(jù)進(jìn)行預(yù)處理,從中選出經(jīng)過(guò)處理后的數(shù)據(jù)作為數(shù)據(jù)樣本。對(duì)于常德電網(wǎng)每天最大、最小負(fù)荷數(shù)據(jù)用歸一化處理后,加上后一天的天氣特征值這樣就形成一組歷史數(shù)據(jù)樣本,樣本格式如:(常德電網(wǎng)某某變或設(shè)備X月W日最大負(fù)荷、最小負(fù)荷,常德電網(wǎng)某某地區(qū)X月Y日最高溫度、最低溫度,星期幾或節(jié)假日)。
步驟二:創(chuàng)建BP神經(jīng)網(wǎng)絡(luò)模型,確定好學(xué)習(xí)速率、學(xué)習(xí)速率下降比例因子及訓(xùn)練次數(shù)等。
步驟三:將上述一組數(shù)據(jù)樣本分別代入到隱藏層的輸出方程和輸出層的輸出向量方程,求出隱藏層輸出量和輸出層輸出向量的值,完成人工神經(jīng)網(wǎng)絡(luò)的順序傳播過(guò)程。
步驟四:由誤差函數(shù)得出實(shí)際輸出值與期望輸出值之間的誤差,再利用反向傳播函數(shù),對(duì)人工神經(jīng)網(wǎng)絡(luò)各層的連接權(quán)值進(jìn)行校正,而后刷新所有的連接權(quán)值,完成人工神經(jīng)網(wǎng)絡(luò)的誤差反向傳播過(guò)程。
步驟五:重新另取一組數(shù)據(jù)樣本,重復(fù)步驟三和四的過(guò)程,直到所選的歷史數(shù)據(jù)樣本全部學(xué)習(xí)完畢,得到經(jīng)過(guò)歷史負(fù)荷數(shù)據(jù)樣本訓(xùn)練和學(xué)習(xí)后的人工神經(jīng)網(wǎng)絡(luò)最終權(quán)重值。
步驟六:檢驗(yàn)學(xué)習(xí)后的誤差是否滿足要求。若不滿足則重復(fù)上述過(guò)程,滿足則保存人工神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)訓(xùn)練與學(xué)習(xí)后的各層權(quán)重值,并形成最終的負(fù)荷預(yù)測(cè)模型,過(guò)程如圖3所示。
圖3 人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練與學(xué)習(xí)過(guò)程
局部電網(wǎng)短期負(fù)荷預(yù)測(cè)系統(tǒng)采用B/S集成模式,安裝在服務(wù)器端上,負(fù)荷預(yù)測(cè)人員只要管理維護(hù)服務(wù)器即可,簡(jiǎn)單方便。將MATLAB訓(xùn)練完成的 BP神經(jīng)元網(wǎng)絡(luò)集成進(jìn) JAVA軟件[5]。用MATLAB編寫function函數(shù),調(diào)用訓(xùn)練完成的BP神經(jīng)元網(wǎng)絡(luò)mat文件,將function函數(shù)打包為jar包,集成進(jìn)JAVA軟件,以供調(diào)用。
結(jié)合局部電網(wǎng)或變電站或線路歷史負(fù)荷數(shù)據(jù)、歷史氣溫?cái)?shù)據(jù)、節(jié)假日等因素,綜合運(yùn)用文字,圖表等手段,使信息展現(xiàn)具有良好的可視化效果。首頁(yè)集中展現(xiàn)神經(jīng)網(wǎng)絡(luò)負(fù)荷以及歷史負(fù)荷等方面信息,作為數(shù)據(jù)引導(dǎo),其中包括:
1)以電站為條件篩選。
2)過(guò)去10天的負(fù)荷實(shí)際值與預(yù)測(cè)值。
3)過(guò)去10天的氣溫實(shí)際值。
4)未來(lái)5天的負(fù)荷預(yù)測(cè)值。
5)未來(lái)5天的氣溫預(yù)測(cè)值 (數(shù)據(jù)來(lái)自手動(dòng)導(dǎo)入天氣預(yù)報(bào)數(shù)據(jù))。
6)以k線圖的方式展示過(guò)去10天以及未來(lái)5天的數(shù)據(jù) (其中包括預(yù)測(cè)負(fù)荷值),圖表導(dǎo)出。
根據(jù)近10天的負(fù)荷數(shù)據(jù),調(diào)用MATLAB神經(jīng)網(wǎng)絡(luò)算法預(yù)測(cè)未來(lái)5天的負(fù)荷,歷史負(fù)荷、氣溫?cái)?shù)據(jù)、預(yù)測(cè)值數(shù)據(jù)查詢均可用圖表化展示。
以常德電網(wǎng)110 kV中區(qū)變電站為例,利用局部電網(wǎng)短期負(fù)荷預(yù)測(cè)工具的BP神經(jīng)元網(wǎng)絡(luò)對(duì)歷史負(fù)荷以及最高、最低氣溫進(jìn)行因果關(guān)系訓(xùn)練,得到相應(yīng)的控制因子,同時(shí)考慮節(jié)假日、工作日、休息日對(duì)負(fù)荷的影響,有針對(duì)性地調(diào)整節(jié)假日對(duì)負(fù)荷的影響力,針對(duì)每個(gè)變電站均需訓(xùn)練一個(gè)模型,保證負(fù)荷預(yù)測(cè)測(cè)的準(zhǔn)確率。通過(guò)使用最近10天的的負(fù)荷數(shù)據(jù)及氣象數(shù)據(jù),在根據(jù)未來(lái)的天氣以及節(jié)假日信息,進(jìn)過(guò)神經(jīng)網(wǎng)絡(luò)計(jì)算后,得到未來(lái)5天的負(fù)荷預(yù)測(cè)曲線,如圖4所示。
圖4 負(fù)荷預(yù)測(cè)流程
如圖5所示,通過(guò)負(fù)荷預(yù)測(cè)工具的節(jié)假日管理模塊提前錄入節(jié)假日信息,選擇所要預(yù)測(cè)的日期(如2019年8月6日),讀取該預(yù)測(cè)日期前10天的歷史實(shí)際負(fù)荷數(shù)據(jù)及歷史實(shí)際氣溫?cái)?shù)據(jù),輸入查詢?nèi)掌谖磥?lái)5天的最高、最低氣溫 (手動(dòng)導(dǎo)入天氣預(yù)報(bào)數(shù)據(jù))。
圖5 讀取歷史數(shù)據(jù)及輸入預(yù)測(cè)氣溫值(底紋部分)
點(diǎn)擊神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)按鈕,程序會(huì)搜索該日期是否為節(jié)假日并將日期自動(dòng)轉(zhuǎn)化為星期用以區(qū)分工作日與休息日。通過(guò)神經(jīng)網(wǎng)絡(luò)算法計(jì)算后,獲得預(yù)測(cè)日期5天負(fù)荷預(yù)測(cè)數(shù)據(jù)。如圖6所示,實(shí)線表示預(yù)測(cè)負(fù)荷數(shù)據(jù),虛線表示已經(jīng)產(chǎn)生的實(shí)際負(fù)荷數(shù)據(jù),通過(guò)對(duì)比發(fā)現(xiàn)預(yù)測(cè)數(shù)據(jù)與實(shí)際數(shù)據(jù)比較接近。當(dāng)然也存在一定誤差,這種誤差沒(méi)有嚴(yán)格的規(guī)律性,但從圖中可以看出一般情況下越靠前的預(yù)測(cè)日期負(fù)荷預(yù)測(cè)相對(duì)精準(zhǔn)寫,誤差相對(duì)較小,圖中預(yù)測(cè)數(shù)據(jù)符合常德電網(wǎng)實(shí)際 (一般情況下,工作日氣溫越高負(fù)荷相對(duì)越高,休息日在同等氣溫下負(fù)荷低于工作日),從而檢驗(yàn)了局部電網(wǎng)短期負(fù)荷預(yù)測(cè)工具具有實(shí)際可用性。
圖6 負(fù)荷預(yù)測(cè)數(shù)據(jù)圖表展示
基于神經(jīng)網(wǎng)絡(luò)BP算法的局部電網(wǎng)短期負(fù)荷預(yù)測(cè)系統(tǒng)對(duì)于氣象預(yù)測(cè)的準(zhǔn)確度依賴較大,在預(yù)測(cè)氣溫相對(duì)精準(zhǔn)的情況下能較準(zhǔn)確預(yù)估小區(qū)域電網(wǎng)內(nèi)的負(fù)荷情況。若負(fù)荷預(yù)測(cè)區(qū)域的氣溫預(yù)測(cè)不夠精準(zhǔn),將可能導(dǎo)致預(yù)測(cè)負(fù)荷誤差較大。
雖然該系統(tǒng)存在一些不完善的地方,但對(duì)調(diào)度機(jī)構(gòu)人員日常工作仍有一定使用價(jià)值。該工具通過(guò)對(duì)于局部電網(wǎng)負(fù)荷甚至一個(gè)變電站或一條線路負(fù)荷變化趨勢(shì)開展預(yù)測(cè),可以方便調(diào)度機(jī)構(gòu)人員提前預(yù)估設(shè)備是否存在重過(guò)載風(fēng)險(xiǎn),為調(diào)度機(jī)構(gòu)合理安排檢修計(jì)劃、及時(shí)調(diào)整電網(wǎng)方式提供參考,從而有效預(yù)控可能帶來(lái)的風(fēng)險(xiǎn),保障電網(wǎng)安全經(jīng)濟(jì)運(yùn)行。