摘 要:預測建筑能耗常用物理模型方法和機器學習方法,針對這兩種方法存在數據獲取難度大與大規模建筑能耗數據下預測精度不高的問題,提出了一種基于Seq-GRU的建筑能耗預測方法。通過構建Seq-GRU深度學習模型,使用歷史建筑能耗數據對其進行訓練,重點研究建筑能耗數據不同特征對預測結果的非線性關系。Seq-GRU使用GRU構建Seq2Seq模型,預測一段時間內的建筑能耗數據,并通過引入注意力機制等方法提高模型的預測精度和速率。實驗結果表明,基于Seq-GRU的建筑能耗預測方法可以獲取較好的建筑能耗數據。
關鍵詞:深度學習;建筑能耗預測;時間序列;神經網絡;注意力機制;物聯網
中圖分類號:TP181 文獻標識碼:A 文章編號:2095-1302(2024)04-00-06
DOI:10.16667/j.issn.2095-1302.2024.04.014
0 引 言
隨著社會的快速發展,我國建筑規模不斷擴大,建筑能耗逐年增加。目前,我國的建筑運行階段能耗占全國總能耗的21.7%,建筑碳排放占全社會總排放的40%,為達到我國2030年碳達峰,2060年碳中和的目標,建筑是我國實現節能減排的關鍵領域。通過對建筑能耗進行預測以指導建筑運行模式,優化運行效率,幫助管理者合理控制各類設備,對于建筑節能減排有著重要的意義。
目前,建筑能耗預測方法主要分為2類,基于物理模型的工程方法和基于歷史能耗數據的數據驅動方法。基于物理模型的工程方法將建筑物的物理參數和環境參數作為仿真工具的輸入,許馨尹等[1]針對氣候變化,根據建筑物和環境參數的信息,對住宅和辦公建筑進行能耗模擬,得出氣候變化與建筑能耗的關系;Fumo等[2]根據氣象模型及建筑相關信息,使用度日法對建筑能耗進行模擬,其準確率高于其他方法。由于建筑物的物理參數和環境參數獲取難度大,基于物理模型的工程方法常在使用時因缺少精確的數據,導致其預測結果不準確。
基于歷史能耗數據的數據驅動方法可在缺少建筑物物理參數的條件下,根據建筑物的歷史能耗數據對建筑能耗進行精準預測。數據驅動方法包括機器學習、深度學習等。常見的機器學習算法有支持向量機SVM[3]、人工神經網絡ANN[4]和梯度漸進回歸樹GBRT[5]等,這些算法需要人工干預降低數據的復雜度,從而讀取數據間的特征,且當數據量過大時,支持向量機無法獲得精準的預測結果,人工神經網絡會出現過擬合。
隨著大數據和物聯網時代的到來,建筑能耗數據呈現指數型增長,常見的機器學習算法難以應對龐大的建筑能耗數據,建筑能耗預測模型逐漸從淺層的機器學習發展到深度學習。深度學習[6-7]相比于機器學習,其可通過自身多層的網絡結構特點,提取建筑能耗數據的特征,學習數據間的相關性,快速給出預測結果,且隨著訓練的能耗數據和迭代次數增多,預測精度可不斷提升[8]。常見的深度學習算法有自動編碼器AE[9]、卷積神經網絡CNN[10]、生成對抗網絡GAN[11]等。這些深度學習算法雖然可以用于能耗數據的預測,但能耗數據是建筑物在一段連續時間內的用能統計,具有時間序列性,這些常見的深度學習算法網絡結構不能有效的提取數據中的時序特征,預測精確度不高。因此有不少學者研究將循環神經網絡RNN及其變體應用在建筑能耗預測領域。KIM等[12]通過構建CNN-LSTM模型有效預測建筑能耗數據,利用CNN提取能耗數據的空間特征,利用LSTM提取能耗數據的時間序列特征,其預測結果均優于其他方法;MARINO等[13]構建了基于LSTM的Seq2Seq深度學習模型,經實驗,其預測結果在不同時間跨度的數據上表現良好。循環神經網絡RNN及其變體在預測建筑能耗領域有廣泛的應用,但其并未考慮輸入數據不同特征對預測結果的
影響。
基于上述研究,本文提出了一種基于Seq-GRU的建筑能耗預測方法,通過構建Seq-GRU深度學習模型,對歷史建筑能耗數據進行學習,重點研究建筑能耗數據不同特征對預測結果的非線性關系。該深度學習模型使用GRU構建Seq2Seq的編碼和解碼層,提高模型處理時間序列數據的準確性和快速性,并引入注意力機制等方法進一步研究數據不同特征對預測結果的影響,提高模型的預測精度。
1 相關理論基礎
1.1 GRU神經網絡
門控循環單元GRU是循環神經網絡RNN的一種變體,相比于RNN,GRU可以通過自身特殊的門結構解決RNN的長期依賴問題,保證了信息的遠距離傳輸。GRU內部結構如圖1所示。
(1)
(2)
(3)
(4)
(5)
式中:zt為t時刻的更新門狀態;rt為t時刻的重置門狀態;gt為t時刻的候選隱藏狀態;xt為t時刻的輸入;ht-1、ht為t-1和t時刻的記憶;yt為t時刻的輸出;W為權重系數;σ為激活函數。
1.2 Seq2Seq模型
Seq2Seq為序列到序列模型,內部結構如圖2所示。其將輸入和輸出分成兩部分處理,解決了單個循環神經網絡RNN只能處理序列到序列等長的問題。Seq2Seq編碼層負責對輸入序列進行編碼,生成固定長度的中間向量C,解碼層在給定的隱藏狀態下,將中間向量C變成可變長度的輸出序列。本文利用該特點構建的Seq-GRU深度學習模型可以輸入任意時間段內的所有建筑能耗數據,預測之后某段時間內所有時刻的建筑能耗數據。
由于Seq2Seq的內部神經元是循環神經網絡RNN,容易發生梯度消失和梯度爆炸,本文對其進行了優化,使用GRU構建Seq2Seq模型。
1.3 注意力機制
建筑能耗數據各特征對預測結果影響程度不一,而Seq2Seq模型的編碼層將輸入數據編碼成固定向量C,對輸入數據的特征沒有區分,容易忽視一些包含重要信息的特征。本文在Seq2Seq模型中引入注意力機制,注意力機制是一種模仿視覺對全局事物賦予不同注意力的信息處理方式,其可以快速從大量數據中選出高價值數據,注意力機制如圖3
所示。
注意力機制計算如式(6)所示:
(6)
式中:n為建筑能耗數據的輸入條數;hi為第i條建筑能耗數據特征;ai為第i條建筑能耗數據特征的權值;C為注意力機制層的輸出向量。通過引入注意力機制,模型可對建筑能耗數據各特征賦予合理的權重,提高模型預測精度。
1.4 teacher forcing
Seq2Seq模型的解碼層前一時間步的輸出作為下一時間步的輸入,當前一時間步輸出的結果錯誤時,會影響之后時間步的輸出。本文使用了teacher forcing訓練方式,在teacher forcing訓練方式中每一時間步的輸入都是前一時間步正確的輸出結果,提高了模型的訓練速度和穩定性。門控循環單元teacher forcing訓練方式如圖4所示。
2 基于Seq-GRU的建筑能耗預測方法設計
本文提出一種基于Seq-GRU的建筑能耗預測方法,方法流程如圖5所示。該方法首先對歷史能耗數據進行清洗、歸一化處理及特征選取,去掉無關的影響因素,再對數據進行編碼和訓練集、測試集劃分,將數據輸入到Seq-GRU深度學習模型中訓練,通過注意力機制對各數據特征賦權重,并在訓練階段的解碼層輸入預測時刻真實的能耗數據,加快模型訓練速度,提升模型預測精度,實現建筑能耗的預測。
2.1 數據預處理
2.1.1 數據清洗
數據清洗是為了減少數據中的異常值對預測結果產生的影響。本文使用的數據清洗方法為3sigma,如式(7):
(7)
式中:μ表示均值;σ表示標準差,當數據超出(μ-3σ,μ+3σ)區間時,被認定為異常值。刪除異常值后,使用線性插值補全。
2.1.2 歸一化處理
樣本數據中各特征由于類型不同,數據間的差值很大,直接輸入模型訓練會導致訓練速度減緩,預測精度不高[14]。本文使用歸一化對樣本數據進行處理,將數據歸到[0,1]范圍,如式(8)所示。模型最終輸出的結果需要反歸一化,得到實際值。
(8)
式中:y表示歸一化后的數據;x表示原始數據;xmin表示原始數據的最小值;xmax表示原始數據的最大值。
2.1.3 數據特征選取
樣本數據中包含溫度、濕度、云覆蓋、氣壓、風向、風速、工作日、紫外線指數等特征,這些特征對建筑能耗影響不一,若將數據全部輸入到深度學習模型中,會影響模型的訓練速度和預測精度,因此需要刪除數據中的冗余特征,優化樣本數據,提高模型可靠性。由于樣本特征與建筑能耗之間為非線性關系,且傳統相關系數只能處理線性相關問題,因此本文使用距離相關系數[15]檢驗樣本特征與建筑能耗之間的相關性。
計算樣本數據特征M和建筑能耗N的Aop和Bop:
(9)
(10)
(11)
(12)
式中:o, p=1, 2, 3, ..., n。
計算數據特征M和建筑能耗N的樣本協方差V(M, N):
(13)
計算數據特征M和建筑能耗N的距離相關系數R(M, N):
(14)
式中:V(M)、V(N)為樣本方差。
樣本特征與建筑能耗之間的距離相關系數見表1所列,保留距離相關系數較大的特征:溫度、濕度、工作日、紫外線指數。篩選后的樣本數據結構見表2所列。
2.1.4 數據編碼處理
Seq-GRU深度學習模型輸入需為向量形式,本文將篩選后的二維樣本數據映射成三維向量,使用Tensorflow的Embedding函數進行編碼處理。本文構建的Seq-GRU深度學習模型可以輸入任意時間段內的所有建筑能耗數據,預測之后某段時間內所有時刻的建筑能耗數據,因此本文設置每次向模型中輸入前一周的歷史建筑能耗數據,預測未來一天所有時刻的能耗數據,數據編碼維度變化見表3
所列。
2.2 針對建筑能耗預測問題的Seq-GRU深度學習模型構建
本文針對建筑能耗預測問題,提出了基于Seq-GRU的建筑能耗預測方法,該方法的核心是Seq-GRU深度學習模型。本文對Seq2Seq模型進行優化,使用GRU構建Seq2Seq模型的編碼層和解碼層,引入注意力機制和teacher forcing訓練方法,加強模型的訓練速度,提升模型的預測精度。通過歷史建筑能耗數據對Seq-GRU深度學習模型進行訓練,研究建筑能耗數據不同特征對預測結果的非線性關系,生成能耗數據與預測結果的映射關系網絡,快速輸出預測結果。深度學習模型結構如圖6所示。
2.3 評價指標
本文采用平均絕對誤差MAE、均方誤差MSE、均方根誤差RMSE作為評價指標,對本文深度學習方法的預測效果和準確度進行評估,如式(15)~式(17)所示:
(15)
(16)
(17)
式中:yzi為i時刻的建筑實際能耗值;yyi為預測的i時刻建筑能耗值;n為樣本數量;MAE為預測值和實際值的差值;MSE為預測值和實際值差的平方和均值,體現了數據的變化程度;RMSE為預測值和實際值差的平方和均值的開方,體現了模型的預測精度。
3 實驗結果與分析
為驗證基于Seq-GRU的建筑能耗預測方法的有效性,分析深度學習模型Seq-GRU在建筑能耗預測問題上的應用效果,本文進行了仿真實驗。實驗在同一計算平臺下進行,深度學習模型使用Pycharm和Tensorflow神經網絡框架
構建。
3.1 仿真數據準備
本實驗數據集來自長沙市某辦公建筑,該建筑具備完善的建筑能耗監測系統。通過其能耗監測系統獲取了2019年的歷史能耗數據及相關天氣數據,能耗曲線如圖7所示,數據集的時間粒度為小時。將這些實驗數據按比例分為訓練集和測試集,其中,80%的數據作為訓練集,用于訓練深度學習模型,20%的數據作為測試集,用來測試模型的實際效果。將實驗數據預處理后輸入深度學習模型中進行
訓練。
3.2 模型參數選擇與數據維度變化
深度學習模型的參數設置對于模型訓練效果至關重要。對于Seq-GRU深度學習模型來說,需要確定的參數有學習率和神經元個數。本文通過網格搜索算法,對指定參數進行窮舉法搜索,最終確定當神經元個數為256、學習率為0.01時,模型有最優的效果。實驗數據在模型中各層的維度變化見
表4所列。
3.3 實驗結果分析
為了驗證基于Seq-GRU的建筑能耗預測方法的有效性,本文將Seq-GRU模型與卷積神經網絡CNN、長短期記憶網絡LSTM、門控循環單元GRU和加入了注意力機制的門控循環單元attention-GRU進行對比。上述模型均取最優參數,模型的評價指標結果見表5所列。
從表5可以看出,卷積神經網絡CNN的MAE、MSE、RMSE均大于其他4個模型,這是由于建筑能耗數據具有時序特征,CNN無法提取數據中的時序特征,導致模型性能不佳。門控循環單元GRU模型與長短期記憶網絡LSTM模型對比,2個模型的性能差距不大,但GRU所需要的訓練時間大幅減少,這是由于GRU的內部結構相比于LSTM更簡單,GRU相比于LSTM少了一個記憶細胞,參數變少,模型處理運算時間也相應減少,因此本文使用門控循環單元GRU構建Seq2Seq模型。
將門控循環單元GRU模型與加入了注意力機制的門控循環單元attention-GRU模型進行對比,attention-GRU模型的MAE、MSE、RMSE均低于GRU模型,這表明加入注意力機制后,GRU模型的預測效果得到了提升。模型在加入注意力機制后,對預測結果影響大的數據特征增加權重,模型能更準確地提取建筑能耗數據不同特征與預測結果的非線性關系,使得模型的預測效果得到了提升,但由于attention-GRU模型多了一個注意力層,模型的訓練時間相比于GRU大幅度上升。
本文的Seq-GRU模型相較于其他4個模型,MAE、MSE、RMSE 3個評價指標值都是最小,表明Seq-GRU模型可以有效預測建筑能耗且性能優于其他模型,同時,雖然Seq-GRU模型相比于attention-GRU模型結構更加復雜,但由于模型使用了teacher forcing訓練方式,其訓練時間反而減少。
從全年的數據中選取能耗相對較低的1月、能耗相對較高的8月作為典型,使用CNN、GRU和Seq-GRU 3個模型對上述兩月的前7天進行預測,查看實際能耗數據與預測數據,如圖8、圖9所示。
從圖8、圖9中可以看出,卷積神經網絡CNN對于預測建筑能耗存在滯后性且不能準確預測能耗峰值時間段的局部特征,這是由于CNN沒有注意力機制且不能提取能耗數據中的時序特征,當輸入信息過長,無法注意到數據中一些重要的特征并會遺忘部分初始信息。門控循環單元GRU相比于CNN不存在滯后性,這是由于GRU可以通過自身門結構提取時序特征,實現信息的長距離傳輸;在能耗峰值時間段和能耗變化較大的時間段,GRU并不能很好地預測能耗值,這是因為GRU缺少注意力機制,其對所有的數據特征賦予相同的權重,未注意到數據對預測結果影響較大的特征。本文的Seq-GRU模型擬合程度相比于其他2個模型更好,在能耗變化大的時間段和能耗峰值時間段都可以很好地預測建筑能耗且預測值與實際值接近,表明了Seq-GRU模型可以提取建筑能耗數據不同特征與預測結果的非線性關系,準確反映能耗變化的規律。
本文的深度學習模型是由GRU構建的Seq2Seq模型,模型內部結構相比于CNN和GRU更復雜,模型的訓練時間更長,但當模型訓練完后,該模型可以一次預測一天24小時的能耗值,相比于CNN和GRU每次只能預測一小時,其模型運行時間大幅縮短,且隨著需要預測的時間越長,模型的運行時間優勢越明顯,見表6所列。
4 結 語
本文提出的基于Seq-GRU的建筑能耗預測方法,通過構建Seq-GRU深度學習模型,對歷史建筑能耗數據進行學習,快速給出預測結果。Seq-GRU模型使用GRU替代Seq2Seq模型中的RNN,模型解碼層可一次預測某段時間內的建筑能耗數據,并引入注意力機制提高了模型的預測精度和速率。最終通過實驗與CNN、GRU等深度學習模型進行了對比,驗證了所提方法對于預測建筑能耗數據的有效性和快速性。下一步將對該模型進行擴展優化,引入到其他更為復雜的建筑能耗問題上,并將該模型部署到實際的建筑能耗管理系統中,以測試模型的實際效果。
參考文獻
[1] FUMO N,MAGO P,LUCK R. Methodology to estimate building energy consumption using energyplus benchmark models [J]. Energy and buildings,2010,42(12):2331-2337.
[2]許馨尹,李紅蓮,楊柳,等.氣候變化下的建筑能耗預測[J].太陽能學報,2018,39(5):1359-1366.
[3] FU X,ZENG X J,FENG P P,et al. Clustering-based short-term load forecasting for residential electricity under the increasing-block pricing tariffs inChina [J]. Energy,2018,165:76-89.
[4] KIM J H,SEONG N C,CHOI W. Forecasting the energy consumption of an actual air handling unit and absorption chiller using ANN models [J]. Energies,2020,13(17):4361.
[5] ROBINSON C,DILKINA B,HUBBS J,et al. Machine learning approaches for estimating commercial building energy consumption [J]. Applied energy,2017,208:889-904.
[6]朱泓睿,元國軍,姚成吉,等. 分布式深度學習訓練網絡綜述[J]. 計算機研究與發展,2021,58(1):98-115.
[7]陳偉宏,安吉堯,李仁發,等. 深度學習認知計算綜述[J]. 自動化學報,2017,43(11):1886-1897.
[8] RAJAGUKGUK R A,RAMADHAN R A A,LEEH J. A review on deep learning models for forecasting time series data of solar irradiance and photovoltaic power [J]. Energies,2020,13(24):6623.
[9] FANC,SUN Y J,ZHAO Y,et al. Deep learning-based feature engineering methods for improved building energy prediction [J]. Applied energy,2019,240:35-45.
[10] RUNGE J,ZMEUREANU R. A review of deep learning techniques for forecasting energy use in buildings [J]. Energies,2021,14(3):608.
[11]鄒鋒,田大偉,王悅,等.基于生成對抗網絡的深度學習能耗預測算法[J].電腦知識與技術,2019,15(2):198-200.
[12] KIM T Y,CHO S B. Predicting residential energy consumption using CNN-LSTM neural networks [J]. Energy,2019,182(6):72-81.
[13] MARINO D L,AMARASINGHE K,MANIC M. Building energy load forecasting using deep neural networks [C]// IECON 2016-42nd Annual Conference of the IEEE Industrial Electronics Society,2016:7046-7051.
[14]權波,楊博辰,胡可奇,等.基于LSTM的船舶航跡預測模型[J].計算機科學,2018,45(s2):126-131.
[15] SZEKELY G J,RIZZO M L,BAKIROV N K. Measuring and testing dependence by correlation of distances [J]. The annals of statistics,2008,35(6):2769-2794.
收稿日期:2023-04-10 修回日期:2023-05-22
作者簡介:黎愷嘉(1997—),男,碩士研究生,助理工程師,研究方向為深度學習、智慧建筑與建筑節能研究。
賀 晉(1987—),男,碩士研究生,高級工程師,研究方向為深度學習、智慧建筑與建筑節能研究。