齊庭庭, 李建奇
基于改進機器學(xué)習(xí)算法的微電網(wǎng)短期負(fù)荷預(yù)測
齊庭庭, 李建奇
(湖南文理學(xué)院 電氣與信息工程學(xué)院, 湖南 常德, 415000)
為了對具有基數(shù)小、波動大及隨機性強等特點的微電網(wǎng)負(fù)荷進行準(zhǔn)確預(yù)測, 提出了一種基于改進的機器學(xué)習(xí)算法。該算法包括基于蟻群算法的模型參數(shù)尋優(yōu)和基于改進核函數(shù)極限學(xué)習(xí)機的預(yù)測模型2部分。首先, 對蟻群算法信息素的作用方式進行了改進, 并將訓(xùn)練誤差用于計算蟻群個體的新增信息素, 從而得到最優(yōu)的模型參數(shù)。其次, 采用基于加權(quán)離散距離的方法對訓(xùn)練數(shù)據(jù)進行篩選, 留下相似度高的訓(xùn)練樣本對核函數(shù)輸出權(quán)重進行訓(xùn)練, 從而減少計算量, 提高預(yù)測精度。用某小區(qū)高層樓宇的電網(wǎng)歷史負(fù)荷數(shù)據(jù), 在 Matlab中對算法進行仿真驗證, 結(jié)果表明預(yù)測算法能較好地實現(xiàn)微電網(wǎng)的負(fù)荷預(yù)測。
微電網(wǎng); 負(fù)荷預(yù)測; 機器學(xué)習(xí)算法
本文提出了一種基于蟻群算法參數(shù)尋優(yōu)的改進核函數(shù)極限學(xué)習(xí)機的負(fù)荷預(yù)測方法。對用于解決離散問題的蟻群算法進行了機理改進, 使蟻群算法適用于連續(xù)解的尋優(yōu), 從而實現(xiàn)對核函數(shù)極限學(xué)習(xí)機的模型參數(shù)進行優(yōu)化。并采用基于加權(quán)離散距離的方法對在線訓(xùn)練樣本數(shù)據(jù)庫進行篩選, 用加權(quán)離散距離較小的一批訓(xùn)練數(shù)據(jù), 對參數(shù)優(yōu)化后的核函數(shù)極限學(xué)習(xí)機的在線預(yù)測模型輸出權(quán)重進行訓(xùn)練, 從而減少訓(xùn)練數(shù)據(jù)冗余度, 提高計算速度和預(yù)測結(jié)果精度。
在神經(jīng)網(wǎng)絡(luò)算法快速發(fā)展的時候, Huang等[8]在2006年提出一種新的機器學(xué)習(xí)理論——極限學(xué)習(xí)機理論。目前, 基于該理論已衍生出基本極限學(xué)習(xí)機(Extreme Learning Machine, ELM)、在線序貫極限學(xué)習(xí)機與核函數(shù)極限學(xué)習(xí)機(Extreme Learning Machine with Kernel, KELM)等相關(guān)算法[9]。KELM是一種單層前饋神經(jīng)網(wǎng)絡(luò)算法, 由于加入了核機制, 因此, 其解決回歸預(yù)測問題的能力比基本 ELM 算法更強。KELM與支持向量機(SVM)算法相比, 由于KELM算法的輸入層權(quán)重固定, 且只需要對輸出權(quán)重進行訓(xùn)練, 因此, 在獲得更好或相似的預(yù)測精度時, KELM的計算速度更快[10]。
圖1 極限學(xué)習(xí)機算法的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
基本ELM算法是一種隨機隱藏層的前饋神經(jīng)網(wǎng)絡(luò)算法, 其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。其表示的前饋神經(jīng)網(wǎng)絡(luò)函數(shù)表達式為
式中: ai為連接輸入層與隱藏層節(jié)點的輸入權(quán)重, bi為隱藏層節(jié)點的閾值, 且ai, bi隨機生成; G(ai, bi, xj)為隱藏層的激勵函數(shù);βi為連接隱藏層和輸出層的輸出權(quán)重; N為輸入層輸入數(shù)據(jù)xj的維數(shù)。結(jié)合圖1與式(1)可知, 通過隱藏層激勵函數(shù)可將輸入數(shù)據(jù)從N維空間映射到L維空間。
與BP神經(jīng)網(wǎng)絡(luò)等傳統(tǒng)回歸預(yù)測算法相比, ELM算法不僅趨向于獲得最小的預(yù)測誤差, 同時還趨向于最小化輸出權(quán)重β,即。式中, H為ELM算法的隱藏層矩陣, 且H。輸出權(quán)重向量β和目標(biāo)值O的表達式分別為
基本ELM算法通常用于已知激勵函數(shù)hi(x)的情況, 當(dāng)激勵函數(shù)hi(x)未知時, 可對ELM算法使用Mercer條件, 從而構(gòu)成KELM算法。對于KELM算法, 其神經(jīng)網(wǎng)絡(luò)特性方程與基本ELM相同, 但通過引入核函數(shù)能獲得更好的回歸預(yù)測精度。ELM_K網(wǎng)絡(luò)特性方程表述為, 式中: C為待優(yōu)化參數(shù);ELMΩ為所選核函數(shù), 一般選擇高斯核函數(shù), 即, 其中γ為待優(yōu)化參數(shù)。引入高斯核函數(shù)后, 隱藏層矩陣由N × L維轉(zhuǎn)化為N × N維。通過采用核函數(shù), 由激勵函數(shù)構(gòu)成的隱藏層矩陣H無需知道待求解問題所對應(yīng)的G(ai, bi, xj)函數(shù)。
為了得到最優(yōu)化的核函數(shù)參數(shù) C和 γ, 本文訓(xùn)練相對預(yù)測誤差最小, 采用改進的蟻群算法進行尋優(yōu)。20世紀(jì)90年代, 意大利學(xué)者M. Dorigo和V. Maniezzo等根據(jù)蟻群覓食的原理提出了一種新型的智能優(yōu)化算法——螞蟻系統(tǒng)(Ant System, AS)。該算法一經(jīng)提出便得到了飛速的發(fā)展, 并形成了蟻群優(yōu)化算法(Ant Colony Optimization, ACO), 對解決組合優(yōu)化、函數(shù)優(yōu)化、系統(tǒng)辨識、數(shù)據(jù)挖掘等領(lǐng)域的問題有很好的效果。
原始的蟻群算法用于解決離散問題, 螞蟻的信息素體現(xiàn)在離散點之間的路徑上。本文對蟻群算法中種群個體的信息素作用機制進行一定的改進, 將信息素依附在種群個體上, 信息素的作用體現(xiàn)為對其他種群個體的吸引力。種群中的個體總是被信息素吸引力最強的個體吸引。
2.1尋優(yōu)目標(biāo)及蟻群構(gòu)建
用參數(shù)尋優(yōu)目標(biāo)函數(shù)
使所有訓(xùn)練樣本的平均預(yù)測誤差最小。式(2)中: Xi為輸入訓(xùn)練樣本; yi為訓(xùn)練樣本的目標(biāo)值;iy︵為預(yù)測輸出值; N為訓(xùn)練樣本數(shù)。
平均預(yù)測誤差的取值范圍為[0, 1], 因此, 可將預(yù)測誤差作為種群個體的信息素產(chǎn)生函數(shù), 其表達式為
信息素更新策略表達式為
式(4)中, η為信息素?fù)]發(fā)系數(shù), 取值范圍為[0, 1]。
所有種群完成一次搜索之后, 需要根據(jù)相應(yīng)的規(guī)則向吸引力最大的個體靠近。本文為了保證種群的多樣性和算法的收斂能力, 將種群分為 3部分: (1) 挑選出一定比例信息素吸引力較小的個體, 進行隨機大步長移動; (2) 剩下除最大信息素個體外的所有個體向最大信息素個體靠攏; (3) 最大信息素個體在小范圍內(nèi)進行小步長探測, 實現(xiàn)局部精細(xì)搜索。
2.2基于蟻群算法的參數(shù)尋優(yōu)步驟
采用蟻群算法進行參數(shù)尋優(yōu)的詳細(xì)步驟: ① 收集歷史數(shù)據(jù), 建立訓(xùn)練樣本數(shù)據(jù)集和測試樣本數(shù)據(jù)集; ② 初始化種群數(shù)量、迭代次數(shù)、收斂條件、種群位置、信息素、信息素?fù)]發(fā)系數(shù)等相關(guān)參數(shù); ③ 用每個種群的參數(shù)構(gòu)建KELM算法模型, 并用訓(xùn)練樣本進行訓(xùn)練, 根據(jù)式(2)計算每個種群的平均預(yù)測誤差, 判斷是否達到收斂條件, 如果達到收斂條件則結(jié)束尋優(yōu)過程, 否則繼續(xù); ④ 根據(jù)式(3)計算種群個體的信息素, 根據(jù)信息素濃度找出最優(yōu)個體的位置; ⑤ 取少部分信息素較小的個體做隨機位置搜索,剩下除最優(yōu)位置個體外的其他個體向最優(yōu)個體移動, 最優(yōu)個體則按小步長進行局部精細(xì)化搜索; ⑥ 按照式(4)更新每個個體的信息素濃度; ⑦ 判斷是否達到最大迭代次數(shù), 如果達到則結(jié)束尋優(yōu), 否則繼續(xù);⑧ 通過尋優(yōu)得到最優(yōu)參數(shù)后, 將其用于構(gòu)建KELM預(yù)測模型。
由于微電網(wǎng)負(fù)荷特征整體上隨時間變化具有周期性, 因此, 本文選擇短時間序列樣本作為超短負(fù)荷預(yù)測在線訓(xùn)練數(shù)據(jù)庫。
設(shè)當(dāng)前時刻為 ti, 當(dāng)前時刻的輸入序列為。已知輸入樣本序列后, 采用加權(quán)離散距離進行在線訓(xùn)練樣本篩選, 步驟為: ① 根據(jù)當(dāng)前輸入序列, 從訓(xùn)練樣本數(shù)據(jù)庫總集中選擇所有同期對應(yīng)時刻的前序短時間序列樣本, 形成備用樣本集; ② 根據(jù)式計算加權(quán)離散距離, 式中, wk為前序短時間序列第k個分量的權(quán)重,為ti時刻前序短時間序列的第k個分量,為挑選出來備用樣本集中的對應(yīng)ti時刻前序短時間序列的第k個分量, c為前序短時間序列的加權(quán)離散距離值; ③對根據(jù)第②步計算得到的加權(quán)離散距離值進行升序排序, 用選出離散距離較小的前L%個序列對核函數(shù)極限學(xué)習(xí)機進行輸出權(quán)值訓(xùn)練; ④ 用加權(quán)離散距離計算得到的輸出權(quán)重構(gòu)建核函數(shù)極限學(xué)習(xí)機。
選用高層小區(qū)樓宇負(fù)荷數(shù)據(jù)對本文提出的預(yù)測算法進行測試。首先, 獲取連續(xù)23 d間隔為15 min的歷史負(fù)荷數(shù)據(jù), 并對數(shù)據(jù)進行糾錯處理。歷史數(shù)據(jù)每天的采樣點數(shù)為 96, 因此, 以 96為周期, 從前20 d的歷史負(fù)荷數(shù)據(jù)中提取出對應(yīng)的時間樣本集T, 則
從前20 d的歷史負(fù)荷數(shù)據(jù)中以滑動時間窗長度為5, 提取出與T對應(yīng)的前序短時間序列樣本集X,
從前20 d的歷史負(fù)荷數(shù)據(jù)中提取出與T對應(yīng)的目標(biāo)時刻值Y, 且。從第1 d到第19 d, 每天最后1個點為下1 d的第1個點, 如第1 d的最后1個點為第2 d的第1個點的負(fù)荷值2, 1y, 第20 d的最后一個時刻取值為前19 d對應(yīng)時刻的平均值。
設(shè)置蟻群算法的種群數(shù)為50, 最大迭代次數(shù)為300。用第21 d到第23 d的數(shù)據(jù)進行測試, 測試結(jié)果如圖2所示, 預(yù)測誤差如圖3所示。
圖2 負(fù)荷預(yù)測結(jié)果與實際結(jié)果對比
圖3 負(fù)荷預(yù)測誤差
從圖2中原始負(fù)荷曲線可看出, 小區(qū)負(fù)荷的波動性和隨機性很大, 最大負(fù)荷約為最小負(fù)荷的6倍。但是, 每天都有相似的規(guī)律, 上午負(fù)荷最小, 下午負(fù)荷有所增加, 到晚上負(fù)荷達到高峰。圖2中的虛線為預(yù)測算法獲得的預(yù)測結(jié)果, 整體上看, 預(yù)測算法通過學(xué)習(xí)之后, 能夠很好地跟蹤實際負(fù)荷的變化。
由圖 3可知, 大部分時刻的負(fù)荷預(yù)測誤差在 15%以下, 最小預(yù)測誤差接近 0, 最大預(yù)測誤差約為38%, 連續(xù)3 d的平均預(yù)測誤差約為7.6%。仔細(xì)分析圖3可知, 誤差較大的情況都發(fā)生在負(fù)荷由較大值向較小值變化的時候。這是因為用電負(fù)荷的突然變化導(dǎo)致算法不能及時準(zhǔn)確跟蹤突變點, 并且由相對誤差的計算公式可知, 此時誤差計算的分母(實際負(fù)荷)由一個較大值變化為一個較小值, 從而導(dǎo)致了大誤差的產(chǎn)生。
本文提出了一種基于蟻群算法參數(shù)尋優(yōu)的改進核函數(shù)極限學(xué)習(xí)機的負(fù)荷預(yù)測方法。對用于解決離散問題的蟻群算法進行了機理改進, 使蟻群算法適用于連續(xù)解的尋優(yōu), 從而實現(xiàn)對核函數(shù)極限學(xué)習(xí)機的模型參數(shù)進行優(yōu)化。并采用基于加權(quán)離散距離的方法對在線訓(xùn)練樣本數(shù)據(jù)庫進行了篩選, 從而減少訓(xùn)練數(shù)據(jù)冗余度, 提高計算速度和預(yù)測結(jié)果精度。通過仿真實驗結(jié)果可知, 本文提出的負(fù)荷預(yù)測算法在微電網(wǎng)負(fù)荷預(yù)測的應(yīng)用中能取得較好的效果。
[1] 董爽. 電力系統(tǒng)短期負(fù)荷預(yù)測方法綜述[J]. 黑龍江科技信息, 2009(29): 81.
[2] 張濤. 電力系統(tǒng)短期負(fù)荷預(yù)測技術(shù)的研究與應(yīng)用[D]. 杭州: 浙江大學(xué), 2007.
[3] 陸寧, 武本令, 劉穎. 基于自適應(yīng)粒子群優(yōu)化的 SVM 模型在負(fù)荷預(yù)測中的應(yīng)用[J]. 電力系統(tǒng)保護與控制, 2011, 38(15): 43-46.
[4] 師彪, 李郁俠, 于新化, 等. 基于改進粒子群—模糊神經(jīng)網(wǎng)絡(luò)的短期電力負(fù)荷預(yù)測[J]. 系統(tǒng)工程理論與實踐, 2010, 30(1): 157-165.
[5] 劉夢良, 劉曉華, 高榮. 基于相似日小波支持向量機的短期電力負(fù)荷預(yù)測[J]. 電工技術(shù)學(xué)報, 2006, 21(11): 59-64.
[6] 張素香, 趙丙鎮(zhèn), 王風(fēng)雨, 等. 海量數(shù)據(jù)下的電力負(fù)荷短期預(yù)測[J]. 中國電機工程學(xué)報, 2015, 35(1): 37-42.
[7] 湯慶峰, 劉念, 張建華, 等. 基于 EMD-KELM-EKF與參數(shù)優(yōu)選的用戶側(cè)微電網(wǎng)短期負(fù)荷預(yù)測方法[J]. 電網(wǎng)技術(shù),2014, 38(10): 2 691-2 699.
[8] 張清鑫. 分布式光伏接入的用戶側(cè)微電網(wǎng)功率預(yù)測方法[D]. 北京: 華北電力大學(xué), 2014.
[9] Huang G B, Wang D H, Lan Y. Extreme learning machines: a survey [J]. International Journal of Machine Learning and Cybernetics, 2011(2): 107-122.
[10] Huang G B, Zhou H, Ding X, et al. Extreme learning machine for regression and multiclass classification [J]. IEEE Trans Syst Man Cybern B Cybern, 2012, 42(2): 513-529.
(責(zé)任編校: 江河)
Short-term load forecasting for microgrids based on improved machine learning algorithm
Qi Tingting, Li Jianqi
(College of Electrical and Information Engineering, Hunan University of Arts and Science, Changde 415000, China)
In order to improve the accuracy of short-term load forecasting, an improved machine learning algorithm is proposed. It consists of model parameters optimization based on ACO (Ant Colony optimization) and forecasting model based on improved KELM (Extreme Learning Machine). Firstly, the way that pheromone works is modified and the training error is introduced into calculating new pheromone. By this way, the optimal parameters of KELM can be obtained. Secondly, the weighted discrete distance is utilized to screen the training data. The more similar ones will be picked out to train the output weight of KELM. It can reduce calculation and improve the accuracy. The historic load data of a residential building is utilized to conduct the verifying simulations in Matlab. The results show that the proposed algorithm has a good performance in short-term load forecasting for microgrids.
microgrids; load forecasting; machine learning algorithm
TM 715
1672-6146(2016)03-0057-05
10.3969/j.issn.1672-6146.2016.03.012
齊庭庭, 240795741@qq.com。
2016-05-20
國家自然科學(xué)基金(61403136)。短期電力負(fù)荷預(yù)測方法。文獻[6]針對海量的負(fù)荷數(shù)據(jù), 提出了一種基于局部加權(quán)線性回歸模型和云計算平臺的負(fù)荷預(yù)測模型, 在大數(shù)據(jù)負(fù)荷預(yù)測計算效率和精度上取得了較好的效果。由于微電網(wǎng)中用電負(fù)荷容量小, 隨機性和波動性強, 并且微電網(wǎng)設(shè)備計算能力較弱, 因此, 對微電網(wǎng)的負(fù)荷預(yù)測難度更大。文獻[7]提出了一種基于經(jīng)驗?zāi)B(tài)分解、擴展卡爾曼濾波及核函數(shù)極限學(xué)習(xí)機的組合負(fù)荷預(yù)測模型, 并采用粒子群對參數(shù)進行了優(yōu)化。該方法雖然能取得一定的預(yù)測精度, 但其算法復(fù)雜, 實現(xiàn)難度大, 不適合在微電網(wǎng)中推廣。
根據(jù)目前國內(nèi)外的相關(guān)研究, 按時間尺度可以將電力系統(tǒng)負(fù)荷預(yù)測分為長期、中期、短期和超短期負(fù)荷預(yù)測4類[1]。其中, 短期負(fù)荷預(yù)測與超短期負(fù)荷預(yù)測主要對未來一天、小時級及分鐘級的負(fù)荷做出預(yù)測, 為電力系統(tǒng)的運行和經(jīng)濟調(diào)度提供依據(jù), 是市場環(huán)境下編排調(diào)度計劃、供電計劃和交易計劃的基礎(chǔ)[2]。長期以來, 國內(nèi)外專家學(xué)者對電力系統(tǒng)短期及超短期負(fù)荷預(yù)測技術(shù)進行了大量的研究, 提出了多種有效的負(fù)荷預(yù)測方法。文獻[3-6]研究了大電網(wǎng)的電力負(fù)荷預(yù)測方法。文獻[3]提出了一種基于支持向量機的短期負(fù)荷預(yù)測模型, 該模型采用粒子群優(yōu)化算法對支持向量機的參數(shù)進行了最優(yōu)化處理。文獻[4]利用改進的粒子群算法對模糊神經(jīng)網(wǎng)絡(luò)進行參數(shù)優(yōu)化, 然后建立了考慮氣象、天氣和日期類型等多個影響因素的短期負(fù)荷預(yù)測模型。文獻[5]將小波分析與支持向量機相結(jié)合, 提出了一種小波支持向量機的