章挺飛,羅 恒,劉 杭
(蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215009;江蘇省建筑智慧節(jié)能重點(diǎn)實(shí)驗(yàn)室,江蘇 蘇州215009)
據(jù)中國建筑能耗研究報(bào)告(2018)統(tǒng)計(jì)結(jié)果顯示,2016年我國能源消耗總量約為45億t標(biāo)準(zhǔn)煤,其中建筑能源消費(fèi)約占20.6%,環(huán)比結(jié)果表明,這一比例呈逐年上升趨勢(shì)[1]。鑒于此,在《2014—2015年節(jié)能減排低碳發(fā)展行動(dòng)方案》中,國家就明確提出要以建筑為重點(diǎn),以建筑工業(yè)化為核心,轉(zhuǎn)變建筑業(yè)發(fā)展方式,積極推動(dòng)以節(jié)能環(huán)保為特征的綠色建造技術(shù)的應(yīng)用。由此可見,能源結(jié)構(gòu)改革、降低能源消耗已成為國家關(guān)于節(jié)約資源、保護(hù)環(huán)境及可持續(xù)發(fā)展的方針政策。隨著大數(shù)據(jù)時(shí)代的到來,公共建筑能耗數(shù)據(jù)呈指數(shù)型膨脹,許多省市都建立了公共建筑能耗監(jiān)測(cè)平臺(tái),通過分析建筑能耗數(shù)據(jù)中的特征,挖掘節(jié)能潛力,合理分配能源,以此來實(shí)現(xiàn)建筑節(jié)能減排[2]。
目前,研究人員提出的建筑能耗預(yù)測(cè)方法大致可分為兩類:基于統(tǒng)計(jì)學(xué)習(xí)的方法和基于傳統(tǒng)人工智能的方法。統(tǒng)計(jì)學(xué)習(xí)方法通過分析歷史能耗數(shù)據(jù)以構(gòu)建模型,對(duì)未來能耗進(jìn)行預(yù)測(cè),主要包括線性回歸方法(linear regression,LR)、自回歸移動(dòng)平均值方法(Auto-Regression and Moving Average,AMRA)以及差分整合移動(dòng)平均自回歸模型(Autoregressive Integrated Moving Average,ARIMA)。例如,文獻(xiàn)[3]中提出一種改進(jìn)的多元線性回歸模型,通過氣象因素的主成分分析、高溫累計(jì)效應(yīng)和動(dòng)態(tài)兩步校正等措施,提高了辦公樓日平均制冷負(fù)荷的預(yù)測(cè)精度。文獻(xiàn)[4]中開發(fā)了ARIMAX模型來預(yù)測(cè)建筑物的電力需求,得到一個(gè)非常不錯(cuò)的預(yù)測(cè)結(jié)果。傳統(tǒng)的人工智能方法在建筑能耗預(yù)測(cè)中的應(yīng)用較為廣泛,如支持向量機(jī) (Support Vector Machine,SVM)、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)和隨機(jī)森林(Random Forest,RF)等。例如,文獻(xiàn)[5]中提出一種基于人工神經(jīng)網(wǎng)絡(luò)模型的建筑能耗短期預(yù)測(cè)方法,在對(duì)某實(shí)際建筑的用電需求預(yù)測(cè)中發(fā)現(xiàn),該方法可以快速預(yù)測(cè)并獲得可接受的預(yù)測(cè)結(jié)果。文獻(xiàn)[6]中提出一種基于極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)的方法,并將其應(yīng)用于建筑能耗估計(jì),仿真結(jié)果表明,與ANN相比,使用ELM方法可以提高預(yù)測(cè)精度。文獻(xiàn)[7-8]中提出一種基于神經(jīng)網(wǎng)絡(luò)與模糊推理系統(tǒng)Fuzzy Inference System,F(xiàn)IS)的組合模型,用于建筑能耗預(yù)測(cè)。文獻(xiàn)[9]中提出一種基于支持向量機(jī)的方法來預(yù)測(cè)建筑能耗,該方法在四座商業(yè)建筑案例研究中表現(xiàn)出良好的預(yù)測(cè)性能。文獻(xiàn)[10]中使用集成方法中的隨機(jī)森林算法進(jìn)行每小時(shí)建筑能耗預(yù)測(cè),實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),相比于回歸樹和支持向量回歸,隨機(jī)森林算法具有更高的預(yù)測(cè)精度。文獻(xiàn)[11]中提出一種空調(diào)溫度控制器設(shè)計(jì)的新方法,提高控制系統(tǒng)的穩(wěn)定性,有助于建筑節(jié)能目標(biāo)的實(shí)現(xiàn)。統(tǒng)計(jì)學(xué)習(xí)方法處理能耗這類非線性數(shù)據(jù)能力有限,而傳統(tǒng)人工智能方法如隨機(jī)森林這類集成學(xué)習(xí)方法雖然在能耗預(yù)測(cè)中有著不錯(cuò)的表現(xiàn),但是能耗數(shù)據(jù)具有時(shí)間序列的特性,傳統(tǒng)人工智能方法反映此類特征能力有限。
隨著深度學(xué)習(xí)的發(fā)展,深度學(xué)習(xí)模型中的LSTM憑借其結(jié)構(gòu)優(yōu)勢(shì)被廣泛地應(yīng)用到分類及預(yù)測(cè)問題中。文獻(xiàn)[12]中提出一種雙LSTM結(jié)構(gòu)的圖像多標(biāo)簽分類方法,有效降低由單一的標(biāo)簽順序帶來的分類效果不足的影響,提高多標(biāo)簽分類的精度。文獻(xiàn)[13]中提出一種利用天氣預(yù)報(bào)數(shù)據(jù)進(jìn)行日前照度預(yù)報(bào)的新方案,其中使用LSTM算法預(yù)測(cè)的RMSE相對(duì)BP神經(jīng)網(wǎng)絡(luò)降低了42.9%。文獻(xiàn)[14]中采用LSTM算法來預(yù)測(cè)海面溫度,實(shí)驗(yàn)中證實(shí)了該方法的有效性。文獻(xiàn)[15]中提出一種基于LSTM模型的風(fēng)電功率預(yù)測(cè)模型,仿真結(jié)果表明,與BP神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)模型相比,LSTM模型具有更高的預(yù)測(cè)精度。因此,為了提高建筑能耗的預(yù)測(cè)精度,更好地處理能耗這一具有時(shí)間序列屬性的數(shù)據(jù),采用深度學(xué)習(xí)中的LSTM網(wǎng)絡(luò)來建立預(yù)測(cè)模型,有效利用其對(duì)非線性和非平穩(wěn)時(shí)間序列有較強(qiáng)逼近能力的優(yōu)點(diǎn),挖掘歷史能耗數(shù)據(jù)中的重要信息,以此來提高對(duì)建筑能耗的預(yù)測(cè)精度。實(shí)驗(yàn)結(jié)果表明,基于LSTM網(wǎng)絡(luò)的建筑能耗預(yù)測(cè)方法具有良好的預(yù)測(cè)性能,是一種預(yù)測(cè)建筑能耗的有效方法。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是一類以序列數(shù)據(jù)為輸入的遞歸神經(jīng)網(wǎng)絡(luò),對(duì)其研究始于20世紀(jì)80年代,并在21世紀(jì)初成為深度學(xué)習(xí)算法之一。圖1中的結(jié)構(gòu)示意圖體現(xiàn)出RNN具有記憶性以及參數(shù)共享等特點(diǎn),使得RNN在自然語言處理和各類序列數(shù)據(jù)的預(yù)測(cè)研究中具有一定的優(yōu)勢(shì),在此類研究中得到了廣泛應(yīng)用。
圖1 RNN結(jié)構(gòu)示意圖
其中xt是t時(shí)刻的輸入,st對(duì)應(yīng)于t時(shí)刻的隱藏狀態(tài),其通過前一步的隱藏狀態(tài)和當(dāng)前時(shí)刻的輸入得到,ot是t時(shí)刻的輸出。上述可表示為
與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)不同,RNN每一個(gè)隱藏層單元共享相同的參數(shù),即所有時(shí)刻都使用一樣的U、V、W。這雖然極大地減少了需要學(xué)習(xí)參數(shù)的個(gè)數(shù),但每一次的梯度輸出都取決于當(dāng)前時(shí)刻以及之前所有時(shí)刻的計(jì)算結(jié)果,這導(dǎo)致RNN存在著梯度爆炸或消失的問題[16]。針對(duì)RNN的這一弊端,文獻(xiàn)[17]中在RNN模型的基礎(chǔ)上提出LSTM模型[17]。如圖2所示,較RNN,LSTM新增了細(xì)胞狀態(tài)和“門”結(jié)構(gòu),“門”結(jié)構(gòu)包含遺忘門、輸入門和輸出門,這些“門”結(jié)構(gòu)使它能夠保留一個(gè)更恒定的誤差,該誤差可以通過時(shí)間層反向傳播,從而使遞歸網(wǎng)絡(luò)可以在許多時(shí)間步長(zhǎng)上繼續(xù)學(xué)習(xí)。
圖2 LSTM網(wǎng)絡(luò)結(jié)構(gòu)示意圖
其中,各個(gè)“門”結(jié)構(gòu)如下:
遺忘門
輸入門
輸出門
其中,ft、it、ot分別表示輸入門、遺忘門、輸出門。σ表示為sigmoid函數(shù),*表示點(diǎn)乘操作,W和b為參數(shù)矩陣,Ct是當(dāng)前細(xì)胞狀態(tài),表示當(dāng)前輸入帶來的新信息。每一個(gè)“門”結(jié)構(gòu)都通過sigmoid函數(shù)來輸出0到1之間的數(shù)字,以此來決定多少信息可以傳送過去。由公式(6)、公式(8)可知,遺忘門和輸入門的輸出值控制當(dāng)前細(xì)胞狀態(tài)的更新內(nèi)容,輸出門的輸出值控制隱藏層的輸出內(nèi)容。
在研究建筑能耗預(yù)測(cè)時(shí),需要對(duì)原始數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理,包括異常值處理和歸一化處理。一方面,對(duì)于數(shù)據(jù)中出現(xiàn)如空值以及不合理值(即離群值)時(shí),文中采用平均值填充的方法處理,避免因刪除異常值而破壞時(shí)間連續(xù)性的問題。另一方面,為消除指標(biāo)間量綱的影響,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,原始數(shù)據(jù)經(jīng)過歸一化處理后,所有指標(biāo)處在同一數(shù)量級(jí),不受量綱影響,適合進(jìn)行綜合對(duì)比評(píng)價(jià)。歸一化方法主要有最大最小歸一化、平均歸一化和非線性歸一化。這里采用最大最小歸一化。
設(shè)Amin和Amax分別是屬性A的最小值和最大值,最大最小歸一化是將A的每一個(gè)原始值x通過線性化的方法變換為區(qū)間[0,1]的值xnorm,如下式
完成數(shù)據(jù)預(yù)處理,再將數(shù)據(jù)轉(zhuǎn)化成監(jiān)督學(xué)習(xí)問題的數(shù)據(jù)幀,將t-1時(shí)刻的各個(gè)變量作為輸入
將t時(shí)刻的能耗值作為輸出Y=var1(t)。以此類推,得到整個(gè)樣本數(shù)據(jù),最后將其分成訓(xùn)練數(shù)據(jù)和預(yù)測(cè)數(shù)據(jù),作為模型的輸入。如圖3所示,首先用LSTM網(wǎng)絡(luò)模型對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,在多次訓(xùn)練后,選擇訓(xùn)練誤差最小的參數(shù)作為預(yù)測(cè)模型的參數(shù)。然后對(duì)預(yù)測(cè)數(shù)據(jù)使用LSTM預(yù)測(cè)模型,得到第i天的能耗預(yù)測(cè)值。
圖3 LSTM網(wǎng)絡(luò)建模示意圖
實(shí)驗(yàn)數(shù)據(jù)來源于國外網(wǎng)站公開數(shù)據(jù),數(shù)據(jù)內(nèi)容為某辦公樓2017年12月26日至2019年5月14日的能耗及其相關(guān)數(shù)據(jù),其中能耗數(shù)據(jù)如圖4所示。
表1內(nèi)容為用于訓(xùn)練預(yù)測(cè)模型的部分樣本信息,包括電力負(fù)荷消耗、溫度數(shù)據(jù)、建筑中雇員的人數(shù)、工作日及休息日等信息。其中,Weekday屬性中,0到6表示周一到周日;Day_type屬性中,0表示工作日,1表示休息日。
圖4 某辦公樓歷史能耗數(shù)據(jù)
表1 部分樣本信息
如圖5所示,可以更直觀地了解各個(gè)變量間的相關(guān)性,灰度表示變量間相關(guān)性的程度,可以看出,辦公樓電力消耗量與雇員人數(shù)以及是否為休息日這兩個(gè)屬性相關(guān)程度較高。
圖5 各個(gè)變量間的相關(guān)性
文中采用平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)作為評(píng)價(jià)標(biāo)準(zhǔn),數(shù)值越低,則表示預(yù)測(cè)模型精度越高,預(yù)測(cè)效果越好。
式中:N為預(yù)測(cè)時(shí)間點(diǎn)的個(gè)數(shù);yi為真實(shí)值;y?i為預(yù)測(cè)值。
取2017年12月26日至2018年12月26日的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),2018年12月27日至2019年5月14日的數(shù)據(jù)作為預(yù)測(cè)數(shù)據(jù),選擇的特征包括日電力負(fù)荷消耗量、溫度數(shù)據(jù)、建筑內(nèi)的員工人數(shù)、是否工作日或休息日。算法程序基于python編程,仿真環(huán)境為python3。
2.3.1 訓(xùn)練數(shù)據(jù)損失
訓(xùn)練數(shù)據(jù)損失如圖6所示。
圖6 訓(xùn)練數(shù)據(jù)的損失函數(shù)變化曲線
圖6橫軸為訓(xùn)練時(shí)期數(shù),縱軸為L(zhǎng)oss函數(shù)值,Loss函數(shù)值用來估量模型的輸出與真實(shí)值之間的差距,給模型的優(yōu)化指引方向。從圖6中可以看出,在前15個(gè)訓(xùn)練時(shí)期,Loss值快速下降,表明模型參數(shù)在訓(xùn)練過程中快速得到優(yōu)化;在訓(xùn)練35個(gè)時(shí)期后,Loss值趨于收斂,說明訓(xùn)練模型趨于穩(wěn)定。
2.3.2 LSTM預(yù)測(cè)結(jié)果
LSTM預(yù)測(cè)結(jié)果如圖7所示。
圖7 LSTM預(yù)測(cè)結(jié)果
圖7橫軸為預(yù)測(cè)天數(shù),縱軸為能耗預(yù)測(cè)值,虛線為真實(shí)值,實(shí)線為預(yù)測(cè)值,從圖7中可以看出,預(yù)測(cè)值與真實(shí)值擬合度較高。特別地,真實(shí)能耗數(shù)據(jù)中,當(dāng)節(jié)假日時(shí),建筑能耗值會(huì)很低,從圖中可以發(fā)現(xiàn),該預(yù)測(cè)模型比較準(zhǔn)確地反映出了這一點(diǎn)。整體而言,LSTM網(wǎng)絡(luò)模型預(yù)測(cè)效果良好,達(dá)到理想效果。
2.3.3 與BP神經(jīng)網(wǎng)絡(luò)算法比較
BP神經(jīng)網(wǎng)絡(luò)算法比較結(jié)果見表2。從表2可以看出,基于LSTM網(wǎng)絡(luò)的預(yù)測(cè)模型的MAPE值為3.86%,小于BP神經(jīng)網(wǎng)絡(luò)的6.79%;其11.64%的最大相對(duì)誤差也要小于BP神經(jīng)網(wǎng)絡(luò)的15.68%,這表明LSTM預(yù)測(cè)方法較于通常的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法,有著更高的預(yù)測(cè)精度,預(yù)測(cè)效果要更好。一方面,這得益于LSTM網(wǎng)絡(luò)允許分析長(zhǎng)期依賴性的時(shí)間序列數(shù)據(jù),比BP神經(jīng)網(wǎng)絡(luò)算法在建筑能耗預(yù)測(cè)上效果要好;另一方面,建筑的用電習(xí)慣短期內(nèi)一般不會(huì)發(fā)生太大變化,實(shí)驗(yàn)中合理選取天氣信息、建筑內(nèi)工作人數(shù)及節(jié)假日等信息作為特征輸入,這有助于建立一個(gè)準(zhǔn)確的建筑能耗預(yù)測(cè)模型。
表2 與BP神經(jīng)網(wǎng)絡(luò)算法比較
為提高建筑能耗預(yù)測(cè)精度,采用深度學(xué)習(xí)中的LSTM網(wǎng)絡(luò)模型,將時(shí)間序列問題轉(zhuǎn)換為監(jiān)督學(xué)習(xí)問題,利用某辦公樓的歷史能耗數(shù)據(jù)及其相關(guān)信息來建立能耗預(yù)測(cè)模型。實(shí)驗(yàn)表明,相比于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)方法,基于LSTM網(wǎng)絡(luò)的建筑能耗預(yù)測(cè)方法能夠從歷史數(shù)據(jù)中獲取到更多的有用信息,獲得更高的預(yù)測(cè)精度。