王 玨
(上海電力大學 電子與信息工程學院,上海 200000)
公共建筑面積與能耗逐年增長,建筑節能對全球節能減排有著重要意義。建筑能耗受到多方面的影響,如室內外溫濕度、設備運行情況、人流密度等?;跀祿寗拥念A測模型,需要大量的數據作為算法支撐,其中氣象數據是多維度且復雜的,不必要的自變量也會產生誤差[1]。若僅對每個變量分別進行分析,會形成信息孤島,導致預測結果必然存在偏差。對于波動性過大數據,PCA存在丟失有效信息的問題,不能做到精準降維[2]。
由于建筑能耗數據具有非線性不穩定的特點,近年來,研究人員主要通過機器學習(Machine Learning,ML)方法來對建筑能耗進行預測。其中深度學習可以從大量無標識數據中自動獲取有效特征,比物理模型計算出的預測結果效率更高[3]。隨著能耗數據噪聲增加,單一模型已經不能適應數據特征,混合模型逐漸得到應用[4]。
本文以上海市嘉定區某建筑大樓(下文用A建筑表示)為研究對象,通過公共能耗檢測系統獲得該建筑夏季一周內每5 min記錄1次的空調冷負荷作為樣本數據進行訓練測試,提出一種面向建筑能耗短期預測的混合模型AE-AdaBoost-BP。本文主要內容包括:(1)對明顯波動與非線性的大量數據標準化處理后剔除毛刺;(2)使用DAE對多維氣象參數精準降維;(3)對AdaBoost算法進行改進,優化了迭代過程;(4)利用改良后的AdaBoost算法優化BP神經網絡的權值與閾值完成對建筑能耗的預測;(5)應用DAE-AdaBoost-BP混合模型對上海某大型建筑能耗進行短期預測,仿真結果驗證了該模型的可行性。
自編碼器(AutoEncode,AE)屬于無監督學習,利用神經網絡的結構對數據進行降維。自編碼器結構內有一個隱含層,輸入層和輸出層維度相同,隱含層的維度可選擇。該網絡可由2部分組成,輸入層經過一次編碼得到隱含層,隱含層再經過解碼得到輸出層,通過訓練網絡中的權重和偏置,得到輸入層和輸出層誤差最小時的參數,自編碼器結構圖如圖1所示。

圖1自編碼器結構圖
圖1 中b1和b2是輸入層和隱含層的偏置,W1和W2是網路各變量的權重,X和Z分別是輸入層和輸出層,H為中間的隱含層,L(X,Z)為目標函數。當目標函數達到最小值時的權重和偏置即為所求,隱含層即降維后的數據,使用隱含層的數據即可代表原輸入數據的主要信息。
去噪自編碼器(DenoisingAutoEncode,DAE)是改良版的自編碼器,并使得特征值具有一定的魯棒性。其原理是以一定的概率分布,是輸入層的部分數據置為0,即使得部分輸入層數據丟失,使用丟失過后的數據去進行編碼。破損的輸入層數據與原輸入層數據相比,丟失的數據中也將噪聲一起丟棄,具有一定的去噪功能,這樣得到的特征值魯棒性更高。其基本構架如圖2所示。

圖2 去噪自編碼器結構圖
BP神經網絡作為人工神經網絡中最常見的算法之一,其缺點是很容易陷入局部最小值,對BP神經網絡的優化主要在尋找全局最優解上面,如遺傳算法和BP神經網絡的結合,但遺傳算法的優化效果并不是絕對的,沒有解決全局最優解的問題。
集成學習作為機器學習的一個分支,在算法上展現了更高的精度。集成算法和多種基礎算法都可以結合,并且相對于基礎算法在精度上有一定的提升[5]。AdaBoost算法屬于Boosting算法中的一種,需要選擇一種基算法并進行優化,本次實驗將采用BP神經網絡作為基礎算法。
算法步驟如下:
(1)數據訓練集:T={(x1,y1),(x2,y2),…(xm,ym)},BP迭代次數為K,集成學習模型為f(x);
(2)初始化權重為:D(1)=(w11,w12,…w1m);w1i=i=1,2…m,對于k=1,2…K,具有權重Dk的訓練集樣本得到輸出模型Gk(x);
(3)計算訓練集上的最大誤差Ek=max|yi-Gk(xi)|i=1,2…m;
(4)計算每個樣本的相對線性誤差eki=
(8)若k<K,則k=k+1,返回步驟(3),若達到最大迭代次數,得到集成學習模型:f(x)=
數據來源包含1棟樓3層同位置各房間的夏季空調冷負荷。氣象數據來自于中國氣象數據網,包含大氣溫度,空氣濕度,輻照度等數據。各種數據由傳感器測量得到,故可能存在一定的異常值,對原始數據進行歸標準化處理,得到均值為0,方差為1的正態分布數據,再通過箱線圖檢驗數據是否存在異常值,如圖3(a)所示。
通過圖3可以觀察到,輻照度和輻照得熱的數據上存在一些異常點,對異常數據點進行異常值修改,得到校正后的箱線圖,如圖3(b)所示,經過矯正過的數值為后續算法所使用到的數據。

圖3 誤差箱線圖
AdaBoost算法的核心思想是在每次計算結果上進行重新權重調整,再次進行訓練,算法流程圖如圖4所示。處理過后的訓練集通過BP算法得到預測模型Gk(x)以其預測誤差eki,根據預測誤差再調整訓練集權重,并作為下一次BP算法的訓練集。經過多次循環得到K個預測模型,再通過組合方式將這些基礎模型整合為1個集成模型,作為本篇論文預測模型。

圖4 AdaBoost和BP結合的流程圖
本次實驗利用matlab2019版本進行預測仿真測試,將矯正過后的氣象數據經過DAE分別降維為3維和4維,作為算法的數據輸入,輸出為各個房間冷負荷的預測值,作為BP網絡的訓練輸入和輸出。經實驗表明輸入層設置為3,隱藏層設置為5,輸出為1層,傳遞函數分別為tansig,tansig和purelin,訓練函數為trainlm,訓練次數為1 000,訓練精度為0.001,學習率為0.1 h,得到的預測效果最佳。
算法的精度由均方根誤差(RMSE),平均絕對百分比誤差和(AMPE)決定系數R2作為評價指標,公式的計算過程如下:

本次實驗1分為2步進行,首先按對遺傳算法和AdaBoost優化效率作對比,接著對常用回歸算法多元線性回歸(MLR)和BP神經網絡及其優化作對比。
實驗1對BP算法優化作對比,使用上述3項指標作為對比參數,對比效果如圖5所示。實驗分別為BP,GA-BP,AdaBoost-BP,DAE-AdaBoost-BP,由于BP神經網絡的模型訓練具有一定的不穩定性,且選擇的訓練次數較小,每次收斂的結果都不同,故使用對應程序各訓練5次,作為對應預測精度對比參考。
由圖5可知,BP神經網絡的結果最不穩定,魯棒性最差;GA-BP算法在一定程度上進行了優化,但并不代表每次訓練得到的結果優于BP算法;AdaBoost算法均優于BP算法和GA-BP算法,具有很好的預測結果;經過DAE處理過后的AdaBoost算法得到的結果為最優解。

圖5 誤差評價
實驗2進行算法間的對比,同時使用MLR,BP和AdaBoost-BP對冷負荷進行預測,MLR算法調用python軟件中sklearn程序模塊,預測精度見表1。BP及其優化算法的精度為多次訓練結果的中位數。
由表1可以看出,MLR算法實現雖然簡單,但是精度較低,BP神經網絡經過多次訓練的平均值高于MLR算法的精度,經過AdaBoost模型得到的BP算法在各項指標上都有明顯的提升,經過DAE降維的算法能夠得到更好的精度,且收斂數據更快。

表1 多種算法預測訓練結果
本文對上海某棟建筑能耗和氣象數據作為研究對象,提出了通過DAE對數據降維,再通過集成學習算法AdaBoost與BP網絡的結合對建筑的冷負荷進行了預測,結果表明具有很好的預測效果,在均方根誤差,平均誤差百分比和決定系數3個方面得到了很大的提升,為管理者提供了良好的數據支持。后續工作將冷負荷預測擴大到整棟建筑的能耗預測,并將通過物聯網架構對整棟建筑進行全方位的智能管理,構建相應的管理架構。