邢書(shū)豪,高廣玲,張智晟
(1.青島大學(xué) 電氣工程學(xué)院,山東 青島 266071;2.國(guó)網(wǎng)技術(shù)學(xué)院,山東 濟(jì)南 250000)
準(zhǔn)確的電力系統(tǒng)短期負(fù)荷預(yù)測(cè)是電力系統(tǒng)制訂發(fā)電計(jì)劃的基礎(chǔ),也是系統(tǒng)安全穩(wěn)定運(yùn)行的保障,一直以來(lái)都是電力系統(tǒng)研究的重要方向[1]。為了提高預(yù)測(cè)精度,國(guó)內(nèi)外專(zhuān)家提出了諸多預(yù)測(cè)方法,包括人工神經(jīng)網(wǎng)絡(luò)[2]、數(shù)據(jù)挖掘法[3]、小波分析法[4]、混沌理論[5]、支持向量機(jī)[6]等。人工神經(jīng)網(wǎng)絡(luò)計(jì)算簡(jiǎn)單、非映射性強(qiáng),但網(wǎng)絡(luò)收斂速度慢,易陷于局部極值點(diǎn)[7];數(shù)據(jù)挖掘法的預(yù)測(cè)值可以體現(xiàn)負(fù)荷變化的連續(xù)性,而且算法運(yùn)算速度較快,但在進(jìn)行負(fù)荷預(yù)測(cè)時(shí)沒(méi)有考慮到影響因素,預(yù)測(cè)誤差較大[8];小波分析法是一種時(shí)域-頻域分析算法,可以良好地處理敏感奇異信號(hào)以及突變信號(hào),其不足之處在于僅考慮了負(fù)荷序列的變化,忽略了天氣等因素對(duì)負(fù)荷的影響[9];基于混沌理論的電力系統(tǒng)負(fù)荷預(yù)測(cè)方法可以較好地刻畫(huà)負(fù)荷物理屬性和影響因素,然而模型存在過(guò)擬合現(xiàn)象且泛化能力不足[10];支持向量機(jī)采用結(jié)構(gòu)最小化風(fēng)險(xiǎn)原則,可以避免局部最優(yōu)解,具有較好的泛化能力,但在參數(shù)選擇上較為困難,核函數(shù)的確定僅憑經(jīng)驗(yàn)選取,預(yù)測(cè)精度與速度難以進(jìn)一步提高[11]。
隨機(jī)森林算法是基于傳統(tǒng)決策樹(shù)的統(tǒng)計(jì)學(xué)習(xí)理論,它可有效處理高維數(shù)據(jù),具有較高的預(yù)測(cè)準(zhǔn)確率,克服了過(guò)擬合的問(wèn)題,現(xiàn)已被廣泛應(yīng)用于醫(yī)學(xué)、農(nóng)學(xué)、經(jīng)濟(jì)學(xué)、水文科學(xué)、生物信息等領(lǐng)域[12]。黃青平等[13]將模糊聚類(lèi)技術(shù)與隨機(jī)森林算法結(jié)合起來(lái),利用模糊聚類(lèi)技術(shù)選取相似日后,以相似度高的樣本訓(xùn)練隨機(jī)森林預(yù)測(cè)模型,提高了預(yù)測(cè)精度;劉琪琛等[14]提出了Spark平臺(tái)和并行隨機(jī)森林回歸算法的短期電力負(fù)荷預(yù)測(cè)方法,利用Spark分布式運(yùn)算平臺(tái),通過(guò)3次彈性分布式數(shù)據(jù)集轉(zhuǎn)換,實(shí)現(xiàn)了隨機(jī)森林算法的并行化改進(jìn),改進(jìn)模型魯棒性好且預(yù)測(cè)準(zhǔn)確性高;劉達(dá)等[15]利用集合經(jīng)驗(yàn)?zāi)B(tài)分解算法對(duì)輸入變量進(jìn)行分解,再對(duì)各種分量用隨機(jī)森林算法選取最優(yōu)參數(shù)進(jìn)行建模,該模型對(duì)月度負(fù)荷預(yù)測(cè)精度優(yōu)于單獨(dú)隨機(jī)森林預(yù)測(cè)模型。以上研究成果均是對(duì)單層隨機(jī)森林算法進(jìn)行的改進(jìn)與組合,并且研究發(fā)現(xiàn)單層隨機(jī)森林算法不能充分讀取樣本中的有效信息,影響預(yù)測(cè)性能?;诖耍疚氖褂秒p層隨機(jī)森林算法,該算法除了具有單層隨機(jī)森林算法的優(yōu)點(diǎn)之外,對(duì)含缺失值或者噪聲的數(shù)據(jù)有更好的魯棒性,而且可以深度分析復(fù)雜的特征變量,從而更加充分挖掘數(shù)據(jù)中的有效信息。在算法中,將第1層隨機(jī)森林中的訓(xùn)練殘差加入原始訓(xùn)練樣本中構(gòu)建新的訓(xùn)練樣本去訓(xùn)練第2層隨機(jī)森林,可以更準(zhǔn)確地提取并利用歷史樣本中的有效信息,從而得到更精確的預(yù)測(cè)結(jié)果。最后通過(guò)算例分析,對(duì)本文所提出的基于雙層隨機(jī)森林算法的預(yù)測(cè)精度和穩(wěn)定性進(jìn)行驗(yàn)證。
隨機(jī)森林算法在2001年被L.Breiman等人提出[16]。該算法實(shí)際上是一個(gè)包含一系列決策樹(shù)分類(lèi)器h(x,θk),k=1,2,…,n的集合,其中θk表示獨(dú)立且相同分布的隨機(jī)變量,集合中每個(gè)決策樹(shù)分類(lèi)器都對(duì)輸入變量x的類(lèi)別歸屬進(jìn)行預(yù)測(cè)。隨機(jī)森林算法較強(qiáng)的隨機(jī)性主要體現(xiàn)在2個(gè)方面[17]:一方面,訓(xùn)練樣本集是由從原始樣本集中采用有放回的方式隨機(jī)選取樣本數(shù)據(jù)組成的;另一方面,生成決策樹(shù)時(shí)隨機(jī)選取特征屬性構(gòu)成候選分裂特征。
在算法中,隨機(jī)森林通過(guò)Bagging(bootstrap aggregating)方法抽樣,生成彼此之間互不相同的訓(xùn)練樣本集,采用CART決策樹(shù)作為元分類(lèi)器組合為集成分類(lèi)器,預(yù)測(cè)結(jié)果由所有分類(lèi)器求算數(shù)平均值所得[18]。
Bagging方法的每個(gè)樣本都由初始數(shù)據(jù)集進(jìn)行有放回抽樣得到,是一種以可重復(fù)的隨機(jī)抽樣為基礎(chǔ)的抽樣方法。該方法利用Bootstrap重抽樣,從原始樣本集中隨機(jī)抽選n個(gè)訓(xùn)練樣本(d1,d2,…,dn),并將該過(guò)程進(jìn)行ntree次循環(huán),從而得到ntree個(gè)訓(xùn)練集[19]。在生成訓(xùn)練子集時(shí),雖然每個(gè)訓(xùn)練樣本都有可能被抽取,但當(dāng)多次重復(fù)訓(xùn)練時(shí),總會(huì)有一部分樣本未被抽取,樣本不被抽取的概率
(1)
式中:n為初始數(shù)據(jù)中的樣本總數(shù),當(dāng)n足夠大時(shí),式(1)將收斂于1/e≈0.368,這表明樣本數(shù)據(jù)足夠大時(shí)將有約37%的樣本不會(huì)被抽中。
圖1為Bootstrap重抽樣示意圖。
圖1 Bootstrap重抽樣示意圖Fig.1 Schematic diagram of Bootstrap resampling
CART決策樹(shù)算法是利用二分遞歸分割方法[20],把原樣本集劃分為2個(gè)子集,從而會(huì)有2個(gè)分支在每個(gè)非葉子節(jié)點(diǎn)上。在節(jié)點(diǎn)分裂的時(shí)候,分裂規(guī)則按照Gini指標(biāo)最小原則,概率分布的Gini指數(shù)
(2)
式中:K為節(jié)點(diǎn)中特征樣本的總種類(lèi)數(shù);pk為屬于節(jié)點(diǎn)中第k類(lèi)特征樣本的概率。
樣本集合D的Gini指數(shù)
(3)
式中Ck為樣本集合D中屬于第k類(lèi)的樣本子集。
每個(gè)節(jié)點(diǎn)劃分的Gini指數(shù)
(4)
式中D1和D2為樣本集合D分割成的2個(gè)子集。
設(shè)隨機(jī)森林由一系列CART決策樹(shù)h(x,θk),k=1,2,…,n構(gòu)成,其邊緣函數(shù)可表征為
K(X,Y)=
(5)
式中:X為輸入向量,最多包含J種不同的類(lèi)別;j為J種類(lèi)別中的某一類(lèi);Y為正確的分類(lèi)向量;I(·)為指示函數(shù);ak為求取平均值的函數(shù)。
隨機(jī)森林的泛化誤差
Pe=PX,Y(K(X,Y)<0).
(6)
式中PX,Y為對(duì)給定輸入變量X的分類(lèi)錯(cuò)誤率函數(shù)。
隨機(jī)森林的泛化誤差最大值
(7)
隨機(jī)森林的泛化誤差最大值越小,隨機(jī)森林的泛化性能越好。式(7)表明,隨機(jī)森林的泛化誤差最大值與決策樹(shù)的平均相關(guān)系數(shù)呈正相關(guān),與決策樹(shù)的平均強(qiáng)度呈負(fù)相關(guān),可以通過(guò)減小決策樹(shù)的平均相關(guān)系數(shù)和增強(qiáng)決策樹(shù)的平均強(qiáng)度實(shí)現(xiàn)隨機(jī)森林預(yù)測(cè)精度的提高。
隨機(jī)森林結(jié)構(gòu)如圖2所示。
圖2 隨機(jī)森林結(jié)構(gòu)Fig.2 Random forest structure
由統(tǒng)計(jì)學(xué)習(xí)理論可知,每個(gè)算法都有其對(duì)應(yīng)的某類(lèi)假設(shè)空間,但一般單次使用某一算法只能讀取該空間內(nèi)的部分有效信息,影響預(yù)測(cè)性能。因此考慮在同一空間內(nèi)重復(fù)使用該算法,多次讀取使空間內(nèi)的有效信息得到充分利用,比單次使用該算法預(yù)測(cè)時(shí)的泛化性能更佳,達(dá)到更高的預(yù)測(cè)精度。隨機(jī)森林本身具有自主設(shè)定參數(shù)少、不會(huì)出現(xiàn)過(guò)擬合現(xiàn)象等優(yōu)點(diǎn)[21],第1層隨機(jī)森林的訓(xùn)練殘差經(jīng)過(guò)處理后代入原始訓(xùn)練樣本組建新訓(xùn)練樣本訓(xùn)練第2層隨機(jī)森林,可以更準(zhǔn)確地提取訓(xùn)練數(shù)據(jù)中所包含的有效信息,得到訓(xùn)練速度快且精度高的雙層隨機(jī)森林預(yù)測(cè)模型。
表1 模型各階段輸入輸出Tab.1 Input and output in each stage of the model
模型的具體步驟可描述如下:
a)將數(shù)據(jù)進(jìn)行歸一化處理,模型參數(shù)進(jìn)行初始化處理;
b)從原始訓(xùn)練集中采用Bootstrap方法隨機(jī)有放回采樣選出n個(gè)樣本,共進(jìn)行ntree次采樣,生成ntree個(gè)樣本集,即構(gòu)建ntree棵決策樹(shù);
c)對(duì)于單棵決策樹(shù)模型,假設(shè)有M個(gè)特征,隨機(jī)選取m(m≤M)個(gè)特征作為每個(gè)節(jié)點(diǎn)的分裂特征值,計(jì)算每個(gè)特征的信息量,選擇具有最優(yōu)分裂能力的特征進(jìn)行分裂;
d)每棵決策樹(shù)都一直分裂至葉子節(jié)點(diǎn),決策樹(shù)的分裂過(guò)程不需要剪枝;
e)將生成的ntree棵決策樹(shù)組成第1層隨機(jī)森林,由ntree棵決策樹(shù)預(yù)測(cè)值取平均值即為第1層隨機(jī)森林模型的預(yù)測(cè)結(jié)果;
h)按照步驟b—e建立第2層隨機(jī)森林模型,得到第2層隨機(jī)森林模型的預(yù)測(cè)結(jié)果;
i)第1層隨機(jī)森林模型與第2層隨機(jī)森林模型的輸出依次疊加,即可得到雙層隨機(jī)森林預(yù)測(cè)模型的最終輸出。
整個(gè)模型的流程如圖3所示。
本文采用某城市電網(wǎng)的歷史負(fù)荷數(shù)據(jù),因負(fù)荷受溫度等外因因素影響,故模型輸入數(shù)據(jù)包括每日96點(diǎn)(每15 min取1點(diǎn))負(fù)荷值[23]以及日最高溫度、日最低溫度、日平均溫度、日降水概率、日類(lèi)型和天氣狀況共6類(lèi)外因數(shù)據(jù)。因各類(lèi)數(shù)據(jù)量綱不同,將原數(shù)據(jù)不作處理直接代入模型,可能降低某類(lèi)數(shù)據(jù)的重要性,故需對(duì)輸入數(shù)據(jù)進(jìn)行合理量化,使量化后的數(shù)據(jù)可以更準(zhǔn)確地表示其對(duì)預(yù)測(cè)的影響程度。
對(duì)負(fù)荷和溫度數(shù)據(jù)進(jìn)行歸一化處理[24],使處理后的數(shù)據(jù)在[0,1]之間,負(fù)荷數(shù)據(jù)和溫度數(shù)據(jù)歸一化公式可表征為
(8)
式中:lin為原始輸入數(shù)據(jù);lmin為原始輸入數(shù)據(jù)中同類(lèi)數(shù)據(jù)的最小值;lmax為原始輸入數(shù)據(jù)中同類(lèi)數(shù)據(jù)的最大值;l為歸一化處理之后的輸入數(shù)據(jù)。
日降水概率取值區(qū)間為[0,1]。日類(lèi)型分為工作日(周一至周五)和休息日(周六和周日),工作日影響因子取值為1,休息日影響因子取值為0.5。天氣狀況分3種情況,晴天影響因子取值為1,陰天、多云或者霧類(lèi)天氣狀況影響因子取值為0.5,雨雪或者其他惡劣天氣影響因子取值為0。
本文所用模型為雙層隨機(jī)森林模型,第1層隨機(jī)森林的訓(xùn)練殘差構(gòu)成第2層隨機(jī)森林的訓(xùn)練數(shù)據(jù)集,因訓(xùn)練殘差數(shù)值太小,故訓(xùn)練殘差也需經(jīng)式(8)進(jìn)行歸一化處理,歸一化處理后組成第2層隨機(jī)森林的訓(xùn)練數(shù)據(jù)集。
電力系統(tǒng)短期負(fù)荷預(yù)測(cè)的預(yù)測(cè)性能評(píng)價(jià)指標(biāo)有很多[25],本文采用相對(duì)誤差絕對(duì)值的平均值EMAPE和最大相對(duì)誤差EMAX來(lái)討論預(yù)測(cè)精度。
圖3 模型預(yù)測(cè)流程Fig.3 Prediction process of the model
(9)
式中:Yk為第k個(gè)采樣點(diǎn)的實(shí)際負(fù)荷值;yk為預(yù)測(cè)負(fù)荷值;n為采樣點(diǎn)個(gè)數(shù)。EMAPE越小,表明預(yù)測(cè)精度越高。
本文采用預(yù)測(cè)日前3 d數(shù)據(jù)對(duì)預(yù)測(cè)日96個(gè)點(diǎn)的負(fù)荷進(jìn)行預(yù)測(cè),預(yù)測(cè)k時(shí)刻負(fù)荷值時(shí)輸入向量如圖4所示。圖4中,d為日期序號(hào),Ld,k為第d日第k個(gè)采樣點(diǎn)的負(fù)荷值,Td,max、Td,min、Td,ave分別為第d日的日最高、最低、平均溫度,rd、dd、wd分別為第d日的降水概率、日類(lèi)型、天氣狀況。
圖4 模型輸入向量Fig.4 Input vector of the model
模型輸入向量為33維,包括負(fù)荷數(shù)據(jù)9維,外因因素24維。模型輸出向量為1維,即預(yù)測(cè)日第k個(gè)采樣點(diǎn)負(fù)荷值[26]。
基于雙層隨機(jī)森林算法的預(yù)測(cè)模型(M1)的主要參數(shù)設(shè)置如下:隨機(jī)森林中的決策樹(shù)數(shù)量取1 000,分裂特征數(shù)取11?;趩螌与S機(jī)森林算法的預(yù)測(cè)模型(M2)數(shù)據(jù)處理和參數(shù)設(shè)置與模型M1一致。為了驗(yàn)證模型M1的預(yù)測(cè)性能,將2種模型預(yù)測(cè)效果作比較。因?yàn)楣ぷ魅蘸托菹⑷肇?fù)荷模式差別較大,故分別選取某一工作日和某一休息日為測(cè)試日[27],經(jīng)算例仿真可得2種模型預(yù)測(cè)值與實(shí)際值曲線對(duì)比圖,如圖5和圖6所示。
圖5 工作日2種預(yù)測(cè)模型預(yù)測(cè)值與實(shí)際值曲線對(duì)比Fig.5 Curves of predicted value and actual value of two forecasting models on working days
在工作日中:M1預(yù)測(cè)曲線的EMAPE為1.47%,EMAX為5.14%;M2預(yù)測(cè)曲線的EMAPE為2.61%,EMAX為5.83%。模型M1預(yù)測(cè)曲線在總體上與實(shí)際值曲線擬合度更高。
圖6 休息日2種預(yù)測(cè)模型預(yù)測(cè)值與實(shí)際值曲線對(duì)比Fig.6 Curves of predicted value and actual value of two forecasting models on rest day
在休息日中:M1預(yù)測(cè)曲線的EMAPE為1.72%,EMAX為5.54%;M2預(yù)測(cè)曲線的EMAPE為2.84%,EMAX為6.29%。
相比于基于單層隨機(jī)森林算法的預(yù)測(cè)模型,本文所提出的模型EMAPE在工作日和休息日分別降低了1.14%和1.12%,EMAX分別降低了0.69%和0.75%。
為了進(jìn)一步驗(yàn)證本文所提模型預(yù)測(cè)的穩(wěn)定性,對(duì)該地區(qū)一周內(nèi)的負(fù)荷進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果的EMAPE和EMAX見(jiàn)表2。
與基于單層隨機(jī)森林算法預(yù)測(cè)模型相比,本文所提出的基于雙層隨機(jī)森林算法預(yù)測(cè)模型一周EMAX略低,EMAPE有明顯下降。其中周六的預(yù)測(cè)效果較差,原因是連續(xù)工作日期間用電情況更加規(guī)律且與休息日差別顯著。綜上所述,本文所提模型預(yù)測(cè)準(zhǔn)確性高,誤差波動(dòng)較小,具有較好的預(yù)測(cè)精度和穩(wěn)定性。
表2 2種模型預(yù)測(cè)誤差統(tǒng)計(jì)Tab.2 Statistics of prediction errors of two models %
本文提出了基于雙層隨機(jī)森林算法的電力系統(tǒng)短期負(fù)荷預(yù)測(cè)模型。該模型是一種雙層隨機(jī)森林模型,將第1層隨機(jī)森林模型中的訓(xùn)練殘差處理后作為第2層隨機(jī)森林模型的訓(xùn)練期望輸出,從而再次讀取假設(shè)空間中存在的信息,可以更加充分地利用訓(xùn)練數(shù)據(jù)中的有效信息,提高了模型的預(yù)測(cè)精度。通過(guò)與基于單層隨機(jī)森林算法的模型對(duì)比,驗(yàn)證了本文所提出的模型具有更好的預(yù)測(cè)性能。