鄧真平,熊中博,周新宇,謝 軍
(1.重慶市科源能源技術(shù)發(fā)展有限公司,重慶 渝北 401147;2.嘉陵江亭子口水利水電開發(fā)有限公司,四川 廣元 628400)
在電力預(yù)測(cè)領(lǐng)域,對(duì)主力電廠出力的準(zhǔn)確預(yù)測(cè)不僅對(duì)發(fā)電計(jì)劃制定、機(jī)組檢修有重要影響,對(duì)電網(wǎng)側(cè)和發(fā)電側(cè)的供需平衡等同樣有重要影響.因此,可以說電廠出力預(yù)測(cè)既是制定發(fā)電計(jì)劃、維修計(jì)劃和電能銷售計(jì)劃的重要環(huán)節(jié),也是確保電網(wǎng)安全、可靠、經(jīng)濟(jì)運(yùn)行的基礎(chǔ).目前,電廠出力預(yù)測(cè)依據(jù)其時(shí)間尺度,可劃分為短期預(yù)測(cè)、中期預(yù)測(cè)、長(zhǎng)期預(yù)測(cè)三類.圍繞這三類預(yù)測(cè)問題,研究者分別基于線性理論、非線性理論、組合分析建模、大數(shù)據(jù)挖掘等不同的方法開展了一系列研究,并取得了廣泛的成果.陳偉龍[1]等面向麗水水電群的出力預(yù)測(cè)需求,提出了一種基于鏈表的水電站群拓?fù)潢P(guān)系描述方法,在此基礎(chǔ)上建立了水電站群最大發(fā)電量模型.劉嘉[2]等為了克服預(yù)測(cè)精度不足的問題,利用NGBM(1,1)對(duì)負(fù)荷的整體發(fā)展趨勢(shì)進(jìn)行預(yù)測(cè),得到隨機(jī)變動(dòng)的擬合精度指標(biāo),并在此基礎(chǔ)上通過引入馬爾科夫理論表征隨機(jī)擬合精度的狀態(tài)轉(zhuǎn)移規(guī)律,構(gòu)建了一種基于加權(quán)馬爾科夫修正的NGBM(1,1)中長(zhǎng)期預(yù)測(cè)模型.馬哲[3]等從負(fù)荷周期相似性的角度出發(fā),對(duì)負(fù)荷數(shù)據(jù)進(jìn)行頻譜分解,并利用K均值聚類算法匹配日負(fù)荷分量、日負(fù)荷趨勢(shì)分量、負(fù)荷規(guī)則分量,以及負(fù)荷隨機(jī)分量.在此基礎(chǔ)上,建立各分量獨(dú)立的負(fù)荷預(yù)測(cè)模型,最終得到綜合的預(yù)測(cè)負(fù)荷值.崔和瑞[4]等考慮溫度、風(fēng)力、降水量等因素對(duì)夏季負(fù)荷預(yù)測(cè)的影響,利用SAS軟件構(gòu)建電力負(fù)荷序列與輸入序列“溫度”之間的ARIMAX模型.仿真表明,該模型對(duì)存在突變結(jié)構(gòu)具有顯著影響因素的短期電力負(fù)荷預(yù)測(cè)有潛在的應(yīng)用價(jià)值.趙延文[5]從構(gòu)建組合預(yù)測(cè)模型的思想出發(fā),將灰色系統(tǒng)理論和回歸分析用于負(fù)荷預(yù)測(cè).在此基礎(chǔ)上為使預(yù)測(cè)精度最優(yōu)化,引入DS證據(jù)理論對(duì)兩種模型的預(yù)測(cè)結(jié)果進(jìn)行組合.
目前,隨著大數(shù)據(jù)、人工智能等理論和技術(shù)的發(fā)展和成熟,有不少研究者將其應(yīng)用到預(yù)測(cè)領(lǐng)域[6-8].例如,徐源[9]等通過歷史負(fù)荷序列的增長(zhǎng)趨勢(shì)、波動(dòng)性等變化特性的參數(shù)化表達(dá),形成大數(shù)據(jù)聚類的樣本.利用MapReduce的優(yōu)勢(shì)構(gòu)造了一種改進(jìn)的模糊聚類方法,并在綜合相同聚類負(fù)荷的基礎(chǔ)上建立預(yù)測(cè)模型.董浩[10]等將核主成分分析方法與極限學(xué)習(xí)機(jī)模型相結(jié)合,并把氣象綜合特征數(shù)據(jù)與歷史負(fù)荷數(shù)據(jù)作為極限學(xué)習(xí)機(jī)神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù),通過極限學(xué)習(xí)機(jī)對(duì)實(shí)際電力負(fù)荷進(jìn)行預(yù)測(cè)分析.陳艷平[11]等為克服負(fù)荷序列的非線性、非平穩(wěn)問題,將EEMD應(yīng)用于原始非平穩(wěn)負(fù)荷序列的分解,并利用樣本熵對(duì)各IMF分量進(jìn)行分析,根據(jù)熵值大小疊加產(chǎn)生新的子序列.進(jìn)一步在考慮氣象、日期類型等因素的基礎(chǔ)上,建立不同的Elman遞歸神經(jīng)網(wǎng)絡(luò)模型.
上述研究成果分別面向電網(wǎng)側(cè)或者電廠側(cè)的預(yù)測(cè)需求,基于不同的理論模型及方法進(jìn)行了研究,為預(yù)測(cè)問題的解決提供了新的研究思路.然而,在實(shí)際運(yùn)用過程中,不僅要關(guān)注預(yù)測(cè)的準(zhǔn)確性,還要考慮算法計(jì)算的效率.基于此,本文針對(duì)電廠出力的預(yù)測(cè)問題,在考慮出力時(shí)序及其影響因素的基礎(chǔ)上,引入LightGBM梯度提升框架,以提高計(jì)算的高效性,實(shí)現(xiàn)對(duì)電廠出力的短時(shí)多點(diǎn)預(yù)測(cè).
LightGBM(Light Gradient Boosting Machine,LightGBM)是一個(gè)輕量級(jí)的梯度提升機(jī),該算法框架使用基于學(xué)習(xí)算法的決策樹.這種決策樹具有更快的訓(xùn)練效率、更低的內(nèi)存使用、更高的準(zhǔn)確率,支持并行化學(xué)習(xí)、可處理大規(guī)模數(shù)據(jù)等優(yōu)點(diǎn)[12].此外,LightGBM框架在算法實(shí)現(xiàn)上還有如下一些特征[13-15].
1) 直方圖算法:把連續(xù)的浮點(diǎn)特征值離散化成k個(gè)整數(shù),并構(gòu)造寬度為k的直方圖.在數(shù)據(jù)遍歷的過程中,將離散化后的值作為索引在直方圖中累積統(tǒng)計(jì)量.這樣在數(shù)據(jù)遍歷后,直方圖累積了需要的統(tǒng)計(jì)量,進(jìn)而劃分最優(yōu)分割點(diǎn).
2) 直方圖做差加速:傳統(tǒng)構(gòu)造直方圖的方法,需要遍歷葉子上的所有數(shù)據(jù).直方圖做差僅需遍歷直方圖的k個(gè)桶,使得尋找兄弟葉子直方圖的代價(jià)也相應(yīng)減小,從而使運(yùn)算速度得到提升.
3) 葉子生長(zhǎng)策略:LightGBM采用Leaf-wise策略,從當(dāng)前所有葉子中尋找分裂增益最大的一個(gè)葉子結(jié)點(diǎn),然后往下分裂.同時(shí),為防止無限制分裂和過擬合問題,增加了最大深度限制參數(shù).
4) 支持類別特征:LightGBM框架優(yōu)化了對(duì)類別特征的支持,可直接輸入類別特征,同時(shí)在決策樹上增加了類別特征的決策規(guī)則.
LightGBM屬于多參數(shù)框架模型,其計(jì)算效果的準(zhǔn)確性依賴于參數(shù)設(shè)置的合理性.因此,將LightGBM框架用于電廠出力的預(yù)測(cè)時(shí),合理標(biāo)定模型參數(shù)是需重點(diǎn)考慮的問題之一.目前,常見的參數(shù)優(yōu)化算法包括模擬退火、粒子群算法、差分進(jìn)化算法等[6,16].本文在對(duì)LightGBM進(jìn)行參數(shù)標(biāo)定時(shí),采用模擬退火(Simulated Annealing,SA)方法.
模擬退火屬于隨機(jī)尋優(yōu)算法的一種,在求解過程中通過對(duì)某一溫度值T進(jìn)行迭代并利用Metropolis準(zhǔn)則對(duì)解進(jìn)行選擇,最終可收斂于全局最優(yōu)解.以均方根誤差(Root Mean Squard Error,RMSE)作為期望函數(shù)f(w),用于評(píng)價(jià)參數(shù)的優(yōu)劣性,則SA算法求解的流程可簡(jiǎn)要概況如下[17]:
1) 初始化參數(shù):設(shè)置參數(shù)搜索空間P、初始溫度T、內(nèi)層迭代次數(shù)N,隨機(jī)生成初始解w,并計(jì)算期望函數(shù)f(w)值.
2) 在參數(shù)搜索空間產(chǎn)生新的w',計(jì)算f(w')和Δf=f(w')-f(w).
3) 若Δf≤0,則接受新解w=w',f(w)=f(w'),否則可按照Metropolis準(zhǔn)則接受新的解參數(shù).
4) 判斷是否達(dá)到迭代次數(shù)N,未達(dá)到迭代次數(shù)轉(zhuǎn)到步驟2),否則轉(zhuǎn)到步驟5).
5) 判斷是否滿足終止條件,若滿足結(jié)束尋優(yōu)過程,返回當(dāng)前最優(yōu)解,否則改變溫度T,重置迭代次數(shù)并轉(zhuǎn)至步驟2).
LightGBM從本質(zhì)上來看是基于決策樹的模型,與決策樹模型的一般使用類似.LightGBM在使用上包括兩個(gè)主要階段,即訓(xùn)練階段和測(cè)試階段.訓(xùn)練階段將已知的樣本數(shù)據(jù)輸入到LightGBM模型中,自動(dòng)完成模型的訓(xùn)練和模型內(nèi)部參數(shù)的標(biāo)定.測(cè)試階段則將測(cè)試數(shù)據(jù)輸入經(jīng)訓(xùn)練優(yōu)化的LightGBM中,以驗(yàn)證模型的預(yù)測(cè)效果.
基于網(wǎng)絡(luò)模型訓(xùn)練和測(cè)試的基本思想,在網(wǎng)絡(luò)訓(xùn)練階段需對(duì)電廠出力時(shí)序數(shù)據(jù)進(jìn)行處理,并結(jié)合天氣、節(jié)假日等因素?cái)?shù)據(jù)構(gòu)建訓(xùn)練樣本.若k時(shí)刻及之前的出力時(shí)序?yàn)閠(k),則歷史出力時(shí)序可表示成T(k),即:
T(k)=[t(k-m),t(k-m+1),…,t(k-1),t(k)]
(1)
式(1)中m為嵌入時(shí)間維度,從時(shí)序預(yù)測(cè)的角度出發(fā),該值表示了在電廠出力預(yù)測(cè)中,出力時(shí)序在模型輸入端所占節(jié)點(diǎn)的個(gè)數(shù),它與影響電力預(yù)測(cè)精度因素(如天氣因素等)共同構(gòu)成了網(wǎng)絡(luò)輸入.除了時(shí)序因素對(duì)預(yù)測(cè)有潛在的影響外,其他諸如天氣、節(jié)假日等因素也會(huì)對(duì)模型的預(yù)測(cè)精度產(chǎn)生影響,記其他影響因素構(gòu)成的輸入向量為F(k),即:
F(k)=[f1,f2,…,fp]
(2)
式(2)中p為除時(shí)序因素外,其他外界因素對(duì)應(yīng)的輸入維度.因此,LightGBM模型的輸入可由T(k)和F(k)表示,即:
S(k)=[T(k),F(k)]
(3)
若預(yù)測(cè)時(shí)間步長(zhǎng)為h,則對(duì)電廠出力的預(yù)測(cè)可表述為給定S(k)作為L(zhǎng)ightGBM輸入,t(k+h)作為L(zhǎng)ightGBM輸出.通常在單步預(yù)測(cè)中,h的值為1,通過對(duì)模型的訓(xùn)練確定輸入輸出的映射關(guān)系.
通過對(duì)海量歷史出力數(shù)據(jù)、天氣數(shù)據(jù)、節(jié)假日等數(shù)據(jù)的處理,選擇合適的嵌入時(shí)間維度m生成模型訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集.模型的訓(xùn)練和測(cè)試流程如圖1所示.
圖1 模型訓(xùn)練和驗(yàn)證流程
(4)
據(jù)此,可通過迭代的方式得到未來96點(diǎn)出力的預(yù)測(cè)結(jié)果,具體的算法流程如下:
算法: 電廠出力預(yù)測(cè)算法
輸入: 輸入特征向量S(k)
輸出: 短時(shí)出力預(yù)測(cè)結(jié)果集Y
1 初始化LightGBM模型參數(shù)空間P,SA內(nèi)層循環(huán)迭代次數(shù)N及初始溫度T
2 利用SA在參數(shù)空間搜索LightGBM的最優(yōu)參數(shù),得到預(yù)測(cè)模型M,在模型M上進(jìn)行迭代預(yù)測(cè)
3 fori←1 to 96 do
6 更新模型輸入特征
8S(k+i)←T(k+i)+F(k+i)
9 end
10 返回Y
出力模型預(yù)測(cè)結(jié)果的性能直接影響著電廠發(fā)電計(jì)劃的制定,因此為了對(duì)模型的預(yù)測(cè)結(jié)果進(jìn)行客觀評(píng)估,以平均絕對(duì)誤差(Mean Absolute Error,MAE)、均方根誤差(Root Mean Squard Error,RMSE)、平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)作為主要的評(píng)價(jià)指標(biāo),各指標(biāo)的定義如式(4)~(6)所示.
(4)
(5)
(6)
為了對(duì)電廠出力的預(yù)測(cè)效果進(jìn)行驗(yàn)證,以大唐重慶分公司某發(fā)電單位采集的電廠出力數(shù)據(jù)、氣象數(shù)據(jù)、節(jié)假日等數(shù)據(jù)為基礎(chǔ),構(gòu)造訓(xùn)練樣本集和測(cè)試樣本集.其中,電廠出力數(shù)據(jù)每隔15分鐘統(tǒng)計(jì)一次,每日共96個(gè)時(shí)序數(shù)據(jù)值;溫度和節(jié)假日數(shù)據(jù)包括日期類型、最高溫度、最低溫度等屬性;樣例數(shù)據(jù)分別如表1和表2所示.
表1 電廠出力數(shù)據(jù)(96點(diǎn))
表2中“DayType”字段包含了端午節(jié)、國(guó)慶節(jié)、勞動(dòng)節(jié)、元旦節(jié)、中秋節(jié)和正常日.因此,該屬性作為出力影響因素的一個(gè)維度,需要實(shí)現(xiàn)文本到數(shù)值編碼的一般性轉(zhuǎn)換,具體采用sklearn.preprocessing庫(kù)中的LabelEncoder進(jìn)行轉(zhuǎn)換.
表2 電廠出力影響因素
圖2和圖3分別為休息日和工作日電廠出力的趨勢(shì)對(duì)比.從圖中可以看出,電廠出力曲線雖然整體趨勢(shì)具有日相似性,但是在曲線的細(xì)節(jié)部分,日出力趨勢(shì)仍具有一定的差異性和波動(dòng)性.考慮到數(shù)據(jù)變化趨勢(shì)之間的差異性,LightGBM模型必須具備針對(duì)特定數(shù)據(jù)變化趨勢(shì)的學(xué)習(xí)和預(yù)測(cè)能力.因此,合理、準(zhǔn)確地標(biāo)定參數(shù),對(duì)于保證LightGBM的預(yù)測(cè)效果至關(guān)重要.根據(jù)SA的參數(shù)尋優(yōu)流程,設(shè)定LightGBM的基本參數(shù)搜索空間如表3所示,經(jīng)過SA算法尋優(yōu)化后,LightGBM針對(duì)此樣本數(shù)據(jù)集最優(yōu)的參數(shù)如表4所示.
圖2 休息日電廠出力趨勢(shì)對(duì)比圖 圖3 工作日電廠出力趨勢(shì)對(duì)比圖
表3 LightGBM參數(shù)搜索空間
表4 SA優(yōu)化后的LightGBM參數(shù)
為了對(duì)電廠出力進(jìn)行每日96點(diǎn)出力預(yù)測(cè),根據(jù)2.2節(jié)電廠出力預(yù)測(cè)流程,分別對(duì)2014年9月28日(休息日)和2014年9月30日(工作日)連續(xù)96點(diǎn)電廠出力進(jìn)行迭代預(yù)測(cè),整體預(yù)測(cè)結(jié)果如圖4所示.
圖4 休息日電廠出力迭代預(yù)測(cè)結(jié)果
圖5 工作日電廠出力迭代預(yù)測(cè)結(jié)果
圖4和圖5分別為休息日、工作日電廠出力96點(diǎn)迭代預(yù)測(cè)結(jié)果.表5為工作日和休息日出力數(shù)據(jù)經(jīng)LightGBM和SA-LightGBM模型預(yù)測(cè)后得到的評(píng)價(jià)結(jié)果.根據(jù)表5,經(jīng)SA-LightGBM模型優(yōu)化后,休息日的預(yù)測(cè)出力與實(shí)際出力的指標(biāo)值MAE為71.536 1,RMSE為94.694 9,MAPE為0.105 6;工作日的預(yù)測(cè)出力與實(shí)際出力的指標(biāo)值MAE為92.871 9,RMSE為115.630 1,MAPE為0.123 5.可見,采用模擬退火算法對(duì)LightGBM進(jìn)行參數(shù)優(yōu)化,可有效提升模型的預(yù)測(cè)精度.
表5 電廠出力迭代預(yù)測(cè)評(píng)價(jià)指標(biāo)
本文針對(duì)電廠出力的短時(shí)多點(diǎn)預(yù)測(cè)問題,基于LightGBM框架,綜合考慮時(shí)序、氣象、節(jié)假日等因素,構(gòu)造短時(shí)迭代預(yù)測(cè)模型.為了進(jìn)一步對(duì)每日96點(diǎn)出力進(jìn)行迭代預(yù)測(cè),在每一輪預(yù)測(cè)結(jié)束后將預(yù)測(cè)值納入輸入時(shí)序,并作為新的模型輸入.
實(shí)驗(yàn)結(jié)果表明,本文提出的出力預(yù)測(cè)模型能夠?qū)﹄姀S出力進(jìn)行迭代預(yù)測(cè).但是,受數(shù)據(jù)波動(dòng)性、電網(wǎng)負(fù)荷需求等因素的影響,電廠出力的預(yù)測(cè)精度仍需進(jìn)一步提高.因此,在后續(xù)的電廠出力預(yù)測(cè)研究中,需進(jìn)一步對(duì)出力時(shí)序與電網(wǎng)負(fù)荷、氣象因素、節(jié)假日因素等數(shù)據(jù)之間的關(guān)聯(lián)深入挖掘,以優(yōu)化預(yù)測(cè)模型參數(shù)、提高預(yù)測(cè)精度、增強(qiáng)模型的適用性和實(shí)用性.