肖 冉, 魏子清, 翟曉強(qiáng)
(上海交通大學(xué) 制冷與低溫工程研究所,上海 200240)
近年來(lái),我國(guó)建筑能耗保持上升趨勢(shì),全國(guó)建筑總能耗已達(dá)到8.99億噸標(biāo)準(zhǔn)煤,公共建筑能耗占比為38.53%[1].公共建筑的節(jié)能減排主要通過(guò)節(jié)能改造和優(yōu)化建筑管理實(shí)現(xiàn).建筑能耗預(yù)測(cè)是建筑管理的重要一環(huán),為能源的供需匹配和建筑能源系統(tǒng)智能控制提供了參考[2-3].當(dāng)前的建筑預(yù)測(cè)模型主要分為兩類,一類是基于熱力學(xué)計(jì)算的物理模型,另一類為基于機(jī)器學(xué)習(xí)的數(shù)據(jù)模型[4].相較于基于仿真計(jì)算的物理模型,數(shù)據(jù)模型具有預(yù)測(cè)精度高、計(jì)算速度快的優(yōu)勢(shì),在歷史數(shù)據(jù)充足的情況下多采用數(shù)據(jù)模型[5].數(shù)據(jù)模型使用機(jī)器學(xué)習(xí)算法學(xué)習(xí)大量歷史數(shù)據(jù)中的規(guī)律、逼近影響因素和建筑能耗間的函數(shù)關(guān)系[6].能耗預(yù)測(cè)領(lǐng)域常用算法包括隨機(jī)森林(RF)、人工神經(jīng)網(wǎng)絡(luò)(ANN)及支持向量機(jī)(SVM)等[7].
建筑運(yùn)行能耗受到氣象條件和人員使用等多參數(shù)的影響,同時(shí)存在隨機(jī)事件的擾動(dòng),因此能耗變化規(guī)律有著較強(qiáng)的非線性和不確定性.機(jī)器學(xué)習(xí)算法中,SVM算法對(duì)建筑能耗非線性特性有較好的擬合能力[8]且運(yùn)算量較小,因此廣泛應(yīng)用在建筑能耗預(yù)測(cè)領(lǐng)域[9].此外,當(dāng)前多數(shù)預(yù)測(cè)模型僅給出能耗預(yù)測(cè)值,模型預(yù)測(cè)誤差與建筑運(yùn)行不確定性無(wú)法區(qū)分.僅使用單一的預(yù)測(cè)值難以全面反映建筑運(yùn)行狀態(tài),而使用置信區(qū)間可以處理建筑能耗預(yù)測(cè)的不確定性問(wèn)題[10].
針對(duì)上述問(wèn)題,本文采用實(shí)際辦公建筑的歷史運(yùn)行能耗數(shù)據(jù)和當(dāng)?shù)貧庀髷?shù)據(jù),基于SVM算法建立了建筑逐時(shí)總能耗的預(yù)測(cè)模型.通過(guò)單變量模型驗(yàn)證模型輸入變量,使用網(wǎng)格搜索優(yōu)化模型超參數(shù),從而提高了模型的預(yù)測(cè)精度.在高精度預(yù)測(cè)模型對(duì)運(yùn)行非線性規(guī)律進(jìn)行解釋的基礎(chǔ)上,結(jié)合擬合誤差的置信區(qū)間,使用預(yù)測(cè)區(qū)間描述建筑運(yùn)行的不確定性,最終實(shí)現(xiàn)對(duì)辦公建筑能耗變化趨勢(shì)及波動(dòng)范圍的準(zhǔn)確預(yù)測(cè).
SVM是一種強(qiáng)大的有監(jiān)督的機(jī)器學(xué)習(xí)方法,可以有效處理非線性的分類和回歸問(wèn)題,并且能高效地處理高維空間問(wèn)題[11].使用SVM算法處理回歸問(wèn)題時(shí),算法根據(jù)訓(xùn)練集數(shù)據(jù),逼近變量間的關(guān)系函數(shù):
f(x)=〈w,φ(x)〉+b
(1)
式中:x為輸入向量;w為權(quán)值系數(shù);φ(x)為映射函數(shù);b為偏置.
SVM算法在逼近函數(shù)關(guān)系過(guò)程中,通過(guò)最小化權(quán)值系數(shù)平方和來(lái)保證函數(shù)關(guān)系的平滑;同時(shí)容許小于ε的誤差,以提高模型的泛化性能[12].因此通過(guò)求解下述二次凸規(guī)劃問(wèn)題確定w和b[13]:
(2)
引入隱式的核函數(shù)替代顯式的φ(x),將非線性問(wèn)題映射到高維空間,從而構(gòu)造出線性可分離平面并求解[13].為解決建筑能耗與影響因子間的非線性關(guān)聯(lián),選擇常用于處理非線性問(wèn)題的核函數(shù)為徑向基函數(shù)(RBF):
(3)
C、ε及γ參數(shù)被稱為模型超參數(shù),其在模型訓(xùn)練過(guò)程中為常數(shù),調(diào)節(jié)模型超參數(shù)可以改變模型性能.
為對(duì)比不同模型間的預(yù)測(cè)性能,量化評(píng)價(jià)模型的預(yù)測(cè)誤差,利用平均絕對(duì)百分比誤差(MAPE)和決定系數(shù)(R2)作為模型誤差評(píng)價(jià)指標(biāo).其中,MAPE反映誤差與實(shí)際值的相對(duì)大小.R2為1減去模型未解釋的變量方差與總方差之比,其越接近1則說(shuō)明模型性能越好.MAPE與R2由分別由下式計(jì)算:
(4)
(5)
不斷調(diào)節(jié)模型超參數(shù)來(lái)獲得更好的模型評(píng)價(jià)指標(biāo),從而優(yōu)化模型性能.調(diào)節(jié)超參數(shù)的方法有隨機(jī)搜索法、網(wǎng)格搜索法、遺傳算法及粒子群算法等.其中,隨機(jī)搜索法穩(wěn)定性較差;而遺傳算法和粒子群算法運(yùn)算時(shí)間過(guò)長(zhǎng);網(wǎng)格搜索法在控制計(jì)算量的同時(shí),可以搜索較廣的參數(shù)空間.故選取網(wǎng)格搜索法作為超參數(shù)調(diào)節(jié)的方法.網(wǎng)格搜索法通過(guò)計(jì)算指定的參數(shù)網(wǎng)格中所有節(jié)點(diǎn),最終確定最優(yōu)參數(shù)組合.本文模型使用Scikit-learn算法庫(kù)提供的SVM算法包,該算法包通過(guò)對(duì)標(biāo)準(zhǔn)數(shù)據(jù)集的測(cè)試設(shè)定了默認(rèn)參數(shù),將其默認(rèn)參數(shù)C=1、γ=0.036及ε=0.1作為網(wǎng)格的基準(zhǔn)值,在其附近建立網(wǎng)格[11].使用10為底的指數(shù)網(wǎng)格提升搜索范圍,經(jīng)過(guò)在本文數(shù)據(jù)集上的初步測(cè)試后,選擇模型可以正常工作的參數(shù)范圍作進(jìn)一步優(yōu)化.各節(jié)點(diǎn)的參數(shù)設(shè)定值分別來(lái)自如下集合:C∈{0.01,0.1,1,10,100}、γ∈{0.001,0.01,0.1,1,10}及ε∈{0.001,0.01,0.1,1,10},參數(shù)節(jié)點(diǎn)交叉組成5×5×5的網(wǎng)格.通過(guò)交叉驗(yàn)證計(jì)算每個(gè)參數(shù)組下的模型性能,訓(xùn)練數(shù)據(jù)被隨機(jī)兩等分,使用其中一半數(shù)據(jù)訓(xùn)練模型,另一半數(shù)據(jù)用于驗(yàn)證模型性能.為提升模型在數(shù)據(jù)上整體的擬合能力,以最大化R2為目標(biāo)進(jìn)行優(yōu)化.
辦公建筑能耗預(yù)測(cè)主要內(nèi)容為建立模型與輸出預(yù)測(cè)結(jié)果,圖1所示為基于SVM的建筑能耗預(yù)測(cè)流程.建立模型的步驟包含準(zhǔn)備數(shù)據(jù)集與訓(xùn)練模型.數(shù)據(jù)集為建筑的歷史能耗數(shù)據(jù)和運(yùn)行信息.對(duì)數(shù)據(jù)進(jìn)行預(yù)處理以適用于模型.根據(jù)數(shù)據(jù)的類型,數(shù)據(jù)被分為輸入變量和輸出變量.按照時(shí)間節(jié)點(diǎn),數(shù)據(jù)集被劃分為訓(xùn)練集和測(cè)試集.算法訓(xùn)練過(guò)程中,先由網(wǎng)格搜索算法提供模型超參數(shù),之后根據(jù)訓(xùn)練集數(shù)據(jù),由SVM算法求解權(quán)值系數(shù).由網(wǎng)格搜索優(yōu)化確定最優(yōu)模型超參數(shù)后,使用全部訓(xùn)練集數(shù)據(jù)重新訓(xùn)練得到最終模型.根據(jù)測(cè)試集輸入,模型計(jì)算對(duì)應(yīng)預(yù)測(cè)值,對(duì)照測(cè)試集真實(shí)能耗值計(jì)算模型性能指標(biāo).最后結(jié)合模型擬合誤差,輸出辦公建筑能耗的預(yù)測(cè)區(qū)間.
圖1 基于SVM的建筑能耗預(yù)測(cè)流程Fig.1 Flowchart of building energy consumption forecast based on SVM
采用上海市某辦公建筑實(shí)際運(yùn)行過(guò)程中能耗監(jiān)測(cè)系統(tǒng)采集的逐時(shí)總能耗數(shù)據(jù).數(shù)據(jù)集包含2017~2018年內(nèi)共 15 360 個(gè)數(shù)據(jù)點(diǎn).建筑總能耗E隨時(shí)間T的逐時(shí)變化如圖2所示.辦公建筑能耗有如下特點(diǎn):① 季節(jié)性,可分為供暖季節(jié)、過(guò)渡季節(jié)及供冷季節(jié);② 較強(qiáng)的周期性,與辦公人員的作息規(guī)律一致.
圖2 2018年辦公建筑逐時(shí)總能耗曲線Fig.2 Curves of hourly energy consumption of office building in 2018
建立預(yù)測(cè)模型還需要對(duì)應(yīng)的影響因素?cái)?shù)據(jù),包括室外氣象參數(shù)和建筑運(yùn)行信息.室外氣象參數(shù)由氣象監(jiān)測(cè)站數(shù)據(jù)取得[14],為逐時(shí)數(shù)據(jù),包括室外溫濕度、風(fēng)速及降雨量等.辦公建筑運(yùn)行的規(guī)律性較強(qiáng),因此將建筑運(yùn)行特征、歷史能耗數(shù)據(jù)等與建筑運(yùn)行規(guī)律相關(guān)的數(shù)據(jù)作為運(yùn)行信息輸入.
訓(xùn)練模型前進(jìn)行數(shù)據(jù)清洗和數(shù)據(jù)歸一化.建筑能耗數(shù)據(jù)常見(jiàn)異常值有負(fù)值和過(guò)大值兩類,針對(duì)本文數(shù)據(jù)集采用[0,1 000]的區(qū)間篩選并剔除異常數(shù)據(jù),之后通過(guò)線性插值對(duì)缺失點(diǎn)進(jìn)行補(bǔ)全.數(shù)據(jù)歸一化對(duì)所有數(shù)據(jù)進(jìn)行比例縮放,映射到[0,1]區(qū)間.數(shù)據(jù)歸一化保證了模型的計(jì)算穩(wěn)定性,最終模型輸出值由逆向區(qū)間縮放得到預(yù)測(cè)值.
本案例的預(yù)測(cè)情景為不同季節(jié)條件下預(yù)測(cè)辦公建筑未來(lái)一段時(shí)間的能耗曲線.為使數(shù)據(jù)模型適用于辦公樓的能耗預(yù)測(cè)情景,需要確定合適的模型輸入變量.模型輸入變量為建筑能耗的影響因素,包括氣象參數(shù)(室外氣溫,室外相對(duì)濕度,風(fēng)速)、運(yùn)行規(guī)律變量(當(dāng)前時(shí)刻,工作日與否)及時(shí)間序列參數(shù).
運(yùn)行規(guī)律中,對(duì)當(dāng)前時(shí)刻變量進(jìn)行One-hot編碼,將數(shù)值型的時(shí)刻轉(zhuǎn)化為類別變量.時(shí)間序列參數(shù)來(lái)自建筑歷史能耗值序列.通過(guò)自相關(guān)函數(shù)(ACF)篩選該參數(shù),ACF值反映了該序列與其自身在N個(gè)小時(shí)前的序列的相關(guān)性[15].對(duì)辦公樓全年能耗數(shù)據(jù)計(jì)算ACF值,如圖3所示.在盡可能減少輸入的前提下,可選擇1 h、24 h前能耗值作為輸入變量.
圖3 辦公建筑能耗序列自相關(guān)函數(shù)值Fig.3 Autocorrelation function for energy consumption sequence of office building
鑒于建筑能耗的非線性特性,使用模型檢驗(yàn)法選擇變量.使用單變量模型擬合數(shù)據(jù),計(jì)算模型在訓(xùn)練集上的性能指標(biāo).使用默認(rèn)參數(shù)的SVM模型,在夏季能耗數(shù)據(jù)(7~8月)上,對(duì)比各單變量模型的R2,反映該變量與模型輸出的相關(guān)性,結(jié)果如表1所示.
表1 單變量模型檢驗(yàn)的R2Tab.1 R2 of univariate model test
實(shí)際應(yīng)用場(chǎng)景中,為獲取未來(lái)一整天的能耗預(yù)測(cè)曲線,不使用1 h前能耗值作為輸入.工作日與否變量在逐時(shí)預(yù)測(cè)里相關(guān)性略低,但仍是反映逐周能耗變化規(guī)律的重要變量.最終確定的模型輸入變量有當(dāng)前時(shí)刻、工作日與否、室外氣溫、室外相對(duì)濕度及24 h前能耗值.
分別在供暖季節(jié)、過(guò)渡季節(jié)和供冷季節(jié)進(jìn)行建模預(yù)測(cè),并檢驗(yàn)?zāi)P皖A(yù)測(cè)性能.受季節(jié)條件限制,使用不同季節(jié)中前兩個(gè)月數(shù)據(jù)作為訓(xùn)練集.為減少驗(yàn)證結(jié)果的偶然性,連續(xù)預(yù)測(cè)接下來(lái)一周的逐時(shí)能耗曲線.供暖季節(jié)訓(xùn)練集時(shí)間為2017年12月~2018年1月,預(yù)測(cè)2月第1周能耗.過(guò)渡季節(jié)訓(xùn)練集為2018年3月~2018年4月,預(yù)測(cè)5月第1周能耗.供冷季節(jié)訓(xùn)練集時(shí)間為2018年7月~2018年8月,預(yù)測(cè)9月第1周能耗.
使用訓(xùn)練集數(shù)據(jù)訓(xùn)練模型后,用得到的模型分別計(jì)算一次訓(xùn)練集和測(cè)試集,檢驗(yàn)?zāi)P蛿M合訓(xùn)練數(shù)據(jù)和預(yù)測(cè)未知數(shù)據(jù)的能力.分別使用默認(rèn)參數(shù)的SVM與網(wǎng)格搜索優(yōu)化的SVM模型(GS-SVM)訓(xùn)練及檢驗(yàn),結(jié)果如表2所示.
表2 不同季節(jié)下的模型性能對(duì)比Tab.2 Comparison of model performance in different seasons
所有季節(jié)條件下,GS-SVM的模型擬合及預(yù)測(cè)的性能指標(biāo)均優(yōu)于默認(rèn)參數(shù)下的SVM模型,說(shuō)明網(wǎng)格搜索法優(yōu)化模型超參數(shù)有效提升了模型性能.模型存在季節(jié)間的差異,供暖季節(jié)和供冷季節(jié)的預(yù)測(cè)性能指標(biāo)略優(yōu)于過(guò)渡季節(jié).GS-SVM在不同季節(jié)預(yù)測(cè)時(shí),均需要重新搜索最優(yōu)的模型超參數(shù).使用算術(shù)平均代表模型全年整體性能.SVM的整體MAPE為11.0%,整體R2為0.925.GS-SVM的整體MAPE為7.56%,降低31.3%;整體R2為0.953,模型未解釋方差比例(1-R2)降低37.3%.說(shuō)明該預(yù)測(cè)方法能較好擬合建筑的非線性變化特性.
通過(guò)GS-SVM模型獲得了高精度的模型預(yù)測(cè),還需要對(duì)建筑運(yùn)行的不確定性進(jìn)行描述,用以表現(xiàn)建筑能耗的變化情況.將GS-SVM模型擬合的誤差e視為滿足獨(dú)立同分布條件的隨機(jī)變量,采用置信度為(1-α)的置信區(qū)間[eα/2,e1-α/2],即數(shù)據(jù)有(1-α)的概率落入置信區(qū)間內(nèi),eα/2、e1-α/2分別表示上、下分位點(diǎn).在模型輸出上疊加置信區(qū)間,預(yù)測(cè)值轉(zhuǎn)化為預(yù)測(cè)區(qū)間.就預(yù)測(cè)模型而言,預(yù)測(cè)區(qū)間補(bǔ)充了當(dāng)前模型未納入的隱藏變量.針對(duì)建筑運(yùn)行,預(yù)測(cè)區(qū)間基于歷史規(guī)律,表現(xiàn)了隨機(jī)擾動(dòng)下的建筑能耗正常波動(dòng)范圍.
辦公建筑最主要的相關(guān)變量為當(dāng)前時(shí)刻,因此按各個(gè)時(shí)刻將誤差分類.將擬合數(shù)據(jù)中每個(gè)時(shí)刻的所有誤差值排序,取α=0.1,將排序位于95%和5%的誤差值分別作為上下分位點(diǎn),形成置信度0.9的誤差置信區(qū)間.按小時(shí)不同,預(yù)測(cè)值疊加誤差上下限后,得到辦公樓夏季的總能耗預(yù)測(cè)區(qū)間,以供冷季節(jié)為例,結(jié)果如圖4所示.
圖4 供冷季節(jié)辦公樓總能耗預(yù)測(cè)區(qū)間示意圖Fig.4 Diagram of energy consumption prediction interval for office building in cooling seasons
區(qū)間內(nèi)的能耗值視為已被準(zhǔn)確預(yù)測(cè),不計(jì)算誤差.對(duì)區(qū)間外的點(diǎn)計(jì)算與上下限之間的誤差,得到更新后的MAPE.同時(shí)統(tǒng)計(jì)實(shí)際能耗位于區(qū)間內(nèi)的比例Pin.針對(duì)不同季節(jié)的模型,結(jié)果如表3所示.
表3 預(yù)測(cè)區(qū)間的預(yù)測(cè)性能Tab.3 Forecast performance of prediction interval
加入預(yù)測(cè)區(qū)間后,MAPE<1.5%,Pin>75%,說(shuō)明預(yù)測(cè)區(qū)間較好地覆蓋了建筑的能耗變化范圍.使用預(yù)測(cè)區(qū)間的方法可以更全面反映建筑運(yùn)行狀態(tài).
針對(duì)建筑運(yùn)行能耗因非線性及不確定性較強(qiáng)而難以預(yù)測(cè)的問(wèn)題,本文提出了一種基于SVM的建筑能耗預(yù)測(cè)方法,可有效地預(yù)測(cè)建筑能耗變化趨勢(shì).在辦公樓案例上的驗(yàn)證結(jié)果表明:
(1) 與默認(rèn)參數(shù)的SVM模型相比,GS-SVM模型整體MAPE和1-R2分別降低31.3%與37.3%,模型誤差顯著減小,更好地?cái)M合了建筑能耗的非線性特性;
(2) 使用能耗預(yù)測(cè)區(qū)間替換能耗預(yù)測(cè)值,各季節(jié)中MAPE均減小至1.5%以下,反映了建筑在不確定條件下的能耗波動(dòng)范圍.本方法在不同季節(jié)的測(cè)試中預(yù)測(cè)性能均較優(yōu)且相互差異小,具備全年不同工況下穩(wěn)定運(yùn)行的潛力,可為建筑運(yùn)行診斷及優(yōu)化提供參考.