白 雪,劉 剛+,黃 蕾,鐘 韜,喬 丹,楊執(zhí)鈞
(1.上海電力大學 自動化工程學院,上海 200090; 2.上海電力大學 圖書館,上海 200090)
在世界能源消耗和相關(guān)二氧化碳排放量中,建筑能耗占據(jù)著相當?shù)谋壤?。相關(guān)研究結(jié)果表明[1],建筑能能耗約占我國整體能耗的1/3,因此建筑節(jié)能管理變得尤為重要。研究者們自20世紀90年代早期開始開發(fā)建筑能耗預(yù)測仿真工具,這些仿真工具可以進一步劃分為工程方法、智能算法以及混合方法3類[2],其中智能算法具有計算速度快、模型簡單、學習能力強等優(yōu)勢,逐漸成為研究重點。
智能算法預(yù)測建筑能耗可分為使用單一學習算法進行預(yù)測和集成多種基礎(chǔ)預(yù)測方法以提高預(yù)測精度的集成模型預(yù)測方法,其中集成模型提供了一種克服假設(shè)空間中表征性不足的方法,成為更好的選擇[3,4]。與單一預(yù)測模型相比,集成預(yù)測方法具有更高的預(yù)測精度,成為近年來的研究熱點。Fan等初步開發(fā)了基于數(shù)據(jù)挖掘的集成模型來預(yù)測第二天的能耗和峰值功率需求[5];周峰等建立基于支持向量機的大型公共建筑能耗預(yù)測模型,分析并預(yù)測建筑的逐日能耗[6];何春華等分別用人工神經(jīng)網(wǎng)絡(luò)中的前饋神經(jīng)網(wǎng)絡(luò)和物理原理建立預(yù)測模型,對兩種方法進行評估后發(fā)現(xiàn)兩種模型均適用且內(nèi)部負荷對預(yù)測的影響更大[7];姚麗麗等通過建立一種基于BP神經(jīng)網(wǎng)絡(luò)的模型配置方法,創(chuàng)建可配置化的預(yù)測模型[8]。
在建筑能耗預(yù)測中,高維度的數(shù)據(jù)會導(dǎo)致算法運行性能以及準確性的降低,選擇有效的特征子集能夠優(yōu)化集成模型的效果。本文提出一種基于隨機森林特征選擇算法的集成回歸模型(RF-GBDT)建筑能源預(yù)測方法,利用隨機森林特征選擇算法選取分類正確率最高的特征子集作為數(shù)據(jù)集,建立集成模型并進行測試,實驗結(jié)果表明,提出的RF-GBDT模型比傳統(tǒng)集成模型性能有大幅提升。
隨機森林(random forest,RF)算法由Breiman開發(fā)用于分類和回歸問題[9]。RF已被證明非常適合處理高維問題方面,有良好的泛化性能[10]。
本文采用隨機森林算法的變量重要性度量對特征進行排序,然后使用序列后向選擇方法(sequential backward selection,SBS)從特征的全集開始搜索,每次從特征子集中去掉一個特征,選出分類準確率最高的特征子集作為集成模型的輸入數(shù)據(jù)集。為驗證分類性能,本文采用10折交叉驗證法將數(shù)據(jù)集分為訓練集和驗證集。算法過程如下:
(1)輸入完整的數(shù)據(jù)集S
1) 設(shè)置最大分類正確率TGMaxAcc=0
2) For(ft in N-2)
3) 將S隨機劃分為10等份
4) 設(shè)置局部最大分類準確率TLMaxAcc=0
5) 設(shè)置局部平均分類準確率
TLMeanAcc=0
6) 初始化10折交叉驗證中每次迭代的分類準確率
TLAcc[1:10]=0
(2)For(i in 1:10)
1) 在S訓練集上使用隨機森林算法創(chuàng)建分類器
2) 在測試集上進行分類并比較結(jié)果,計算準確率TLAcc
3) TLMeanAcc=TLMeanAcc+TLAcc[i]/10
4) If(TLMaxAcc<=TLAcc[i])
則TLMaxAcc=TLAcc[i]
對特征按變量重要性排序得到FSort
5) If(TGMaxAcc<=TLMeanAcc)
則TGMaxAcc=TLMeanAcc
FGSort=MAS
6) 從MAS中去掉特征重要性得分最低的特征成為新的S
(3)輸出分類準確率最高的特征子集MAS
其中ft代表循環(huán)變量,N為數(shù)據(jù)集中所有特征的個數(shù)
基于基礎(chǔ)算法的選擇,集成預(yù)測模型可以進一步分為兩種類型,即同構(gòu)集成模型和異質(zhì)集成模型,同構(gòu)集成模型由一種算法對不同數(shù)據(jù)子集進行學習后集成,異構(gòu)集成模型是不同算法對同一訓練集學習后集成[11]。本文使用異構(gòu)集成模型,選取6個常用機器學習算法作為基礎(chǔ)算法進行集成。由于每種預(yù)測算法都有各自的優(yōu)缺點,因此集成模型能夠使基本模型互相補充,從而有助于提高泛化性能。
梯度提升決策樹(gradient boosting decision tree,GBDT)是由Friedman提出并改進的集成學習算法[12],主要思想是基于之前建立的基學習器的損失函數(shù)的梯度下降方向來建立下一個新的基學習器,不斷縮小損失函數(shù),使得模型的回歸預(yù)測性能不斷提高。算法如下
(1)初始化弱學習器
(1)
輸入訓練樣本T={((xi,yi)(i=1,2,…N))}最大迭代次數(shù)M,γ為使損失函數(shù)L最小化的常數(shù),損失函數(shù)L選取平方誤差損失函數(shù)
(2)
其中,yi為實際值,g(xi)為預(yù)測值。
(2)對迭代輪數(shù)m=1,2,…M有:
1)對每個樣本i=1,2,…,N,計算負梯度
(3)
2)將上一步計算的數(shù)據(jù)(xi,γim)(i=1,2,…N,m=1,2,…M)作為下棵樹的訓練數(shù)據(jù),得到一顆新的回歸樹fm(x),其對應(yīng)的葉子節(jié)點區(qū)域為Rm,j,j=1,2,…J。其中J為回歸樹m的葉子節(jié)點的個數(shù)。
3)對葉子區(qū)域j=1,2,…,J計算最佳擬合值
γmj=argmin∑xi∈RmjL(yi,fm-1(xi)+γ)
(4)
4)更新強學習器
(5)
(3)得到強學習器f(x)
(6)
本文使用基于隨機森林的特征選擇算法生成最優(yōu)特征子集,然后采用梯度提升決策樹算法(GBDT)建立的RF-GBDT集成回歸模型流程如圖1所示。
圖1 RF-GBDT模型
本文選取某校園建筑兩年的小時耗電量數(shù)據(jù)集,包括溫度、濕度比、氣壓等環(huán)境特性、居住比特性等14個特征屬性。表1是14個特征屬性描述。
表1 特征屬性描述
其中coshour將每個小時相對于一天內(nèi)的時間量化為一個-1到1之間的數(shù)值,即
(7)
本文通過對比使用原始數(shù)據(jù)集和以Pearson數(shù)據(jù)相關(guān)性以及隨機森林兩種特征選擇方法選出的特征子集訓練的3種集成模型的性能來驗證RF-GBDT,使用python語言編程實現(xiàn)。
Pearson相關(guān)性的計算公式如下
(8)
集成模型選擇6個常用機器算法作為基礎(chǔ)算法,分別是MLR(多元線性回歸)、LASSO(套索回歸)、EN(彈性網(wǎng)絡(luò)回歸)、SVM(支持向量機)、KNN(K近鄰算法)、CART(分類與回歸樹)其中MLR、LASSO、EN為線性算法,CART、SVM、KNN為非線性算法。
進行多次調(diào)參實驗后,建立的模型相關(guān)參數(shù)如下:基礎(chǔ)算法中的KNN經(jīng)近鄰個數(shù)為7,集成算法GBDT主要參數(shù):弱學習器最大迭代次數(shù)為7370,每個弱學習器的步長為0.1,決策樹深度為3,內(nèi)部節(jié)點再劃分所需最小樣本數(shù)5,特征子集分為70%訓練集和30%測試集。
本文的評價指標使用均方根誤差(root mean square error,RMSE)和決定系數(shù)(R-square,R2),兩個指標的定義如式(9)、式(10)所示
RMSE
(9)
R2
(10)
使用Pearson相關(guān)性分析和隨機森林特征選擇算法從原始數(shù)據(jù)集中篩選出的特征子集見表2,可以看出無論是從數(shù)據(jù)相關(guān)性還是從特征重要性來看,用電量與時間點(coshour)和居住者行為的關(guān)系都相當密切,這與實際的生活情況也是相吻合的;開始測量和結(jié)束測量的時間點與用電量的數(shù)據(jù)Pearson相關(guān)性較低,但在使用隨機森林算法進行特征選擇時在所有數(shù)據(jù)特征中位居前列,這是因為其與時間點(coshour)密切相關(guān)。而外部環(huán)境因素中,光照、溫度、壓強、濕度對預(yù)測結(jié)果有著較大的影響。
表2 Pearson特征子集與MAS特征子集
分別將兩種特征子集作為輸入數(shù)據(jù)集所建立的集成模型的預(yù)測結(jié)果見表3,使用數(shù)據(jù)相關(guān)性較高的特征作為數(shù)據(jù)集時,得到的預(yù)測結(jié)果相比于全部特征的預(yù)測精度要低,而使用隨機森林特征選擇算法選出的特征子集(MAS)作為數(shù)據(jù)集進行預(yù)測所得到的預(yù)測結(jié)果精度要略高于其它兩組。圖2表示兩個特征子集建立的集成模型的預(yù)測結(jié)果與實際值的對比,使用隨機森林特征選擇算法篩選出的MAS子集的模型的預(yù)測精度要明顯高于基于Pearson相關(guān)性分析篩選出的特征子集。觀察Pearson相關(guān)性分析子集的預(yù)測曲線發(fā)現(xiàn)其在某些時間段的較低能耗值的預(yù)測結(jié)果呈規(guī)律性的預(yù)測偏差,其原因與子集中的某些特征有關(guān)。
表3 不同特征數(shù)據(jù)集預(yù)測精度對比
圖2 兩種輸入數(shù)據(jù)集的預(yù)測效果對比
為了進一步驗證RF-GBDT模型的性能,本文通過實驗對比了使用不同集成算法進行集成的模型的性能以及RF-GBDT模型中的基礎(chǔ)算法在集成前后的性能,實驗結(jié)果見表4、表5。相比隨機森林(random forest,RF)和Adaboost集成算法,RF-GBDT模型的性能表現(xiàn)要優(yōu)秀得多。預(yù)測結(jié)果顯示RF-GBDT集成回歸模型的性能要明顯優(yōu)于單一預(yù)測算法,而單一模型中SVM、KNN的表現(xiàn)優(yōu)于MLR、LASSO、EN,可見建筑能源預(yù)測這一問題更多表現(xiàn)為非線性。集成后各基礎(chǔ)算法的表現(xiàn)不一,且并不是所有的算法性能都得到了提高,相反,有些算法的精度反而下降了。
表4 集成算法優(yōu)化性能對比
表5 基礎(chǔ)算法性能對比
由表4、表5數(shù)據(jù)分析可得,集成后的RF-GBDT模型相比單一算法的預(yù)測RMSE平均減小了64.9%,R2平均提高了42.5%,預(yù)測性能有了大幅度的提升。集成前后單一算法的預(yù)測性能有小幅波動,LASSO、MLR等線性回歸算法的性能普遍有所提升,而KNN、SVM等非線性算法的性能變化不大甚至略有下降,可見集成模型性能的優(yōu)化并不是靠簡單的提升單一算法預(yù)測精度來實現(xiàn)的。
本文提出一種基于隨機森林特征選擇算法的集成回歸模型(RF-GBDT)建筑能源預(yù)測方法,使用基于隨機森林的特征選擇算法生成最優(yōu)特征子集,采用梯度提升決策樹算法集成6種基本算法,并采用該模型對某校園建筑兩年的小時耗電量數(shù)據(jù)進行預(yù)測分析。實驗結(jié)果表明,該集成回歸模型精度不僅明顯優(yōu)于基本模型,且優(yōu)于使用隨機森林(random forest,RF)和Adaboost集成算法建立的集成回歸模型。
利用神經(jīng)網(wǎng)絡(luò)模型,依據(jù)各算法預(yù)測精度來確定每個基本算法的權(quán)重并進行優(yōu)化后集成,從而進一步提高集成算法的性能是下一步的研究內(nèi)容。