賈文琦 潘毅群*
同濟(jì)大學(xué)機(jī)械與能源工程學(xué)院
設(shè)計階段的負(fù)荷預(yù)測準(zhǔn)確性對設(shè)備容量和供能方案的選擇有較大影響,如 何準(zhǔn)確地計算設(shè)計階段建筑負(fù)荷是建筑性能模擬的一大挑戰(zhàn)[1],國 內(nèi)外對于建筑負(fù)荷的確定方法,主 要分為以下幾類:面 積負(fù)荷指標(biāo)法[2],數(shù) 值模型預(yù)測法[3-6]與 數(shù)據(jù)驅(qū)動法[7-9]。但這三種方法的模型輸出數(shù)量都有限制,現(xiàn) 有研究較少討論全年逐時負(fù)荷。
因此,本 文探索了灰箱模型在設(shè)計階段建筑負(fù)荷預(yù)測的潛力:首 先選取對建筑負(fù)荷影響較大的變量進(jìn)行正交案例設(shè)計,得 到大量建筑模型,在 正演模擬的方法下得到負(fù)荷計算結(jié)果,即 全年 8760 小時的逐時冷熱負(fù)荷,然 后在該結(jié)果的基礎(chǔ)上使用數(shù)據(jù)驅(qū)動方法進(jìn)行目標(biāo)建筑的負(fù)荷預(yù)測。最后使用該方法得到的預(yù)測負(fù)荷與真實負(fù)荷進(jìn)行對比與分析。結(jié)果表明,該方法可以較為準(zhǔn)確、快 速地得到設(shè)計階段建筑全年逐時冷熱負(fù)荷,提 供了一種新的解決思路。
為了提取出預(yù)測建筑負(fù)荷所必需的、具 有普適性的建筑變量,本 文從前人研究中提取了對負(fù)荷影響較大的七個變量,充 分全面地反映建筑變量對負(fù)荷影響的變量-負(fù)荷數(shù)據(jù)集,作 為負(fù)荷預(yù)測的研究基礎(chǔ),表 征了高維變量與負(fù)荷之間的復(fù)雜關(guān)系。
建立一個全面的變量-負(fù)荷數(shù)據(jù)集,應(yīng)涵蓋盡可能多的獨立變量和變量水平,但 受制于計算能力與數(shù)據(jù)集復(fù)雜度,又 不能過多,綜 合考慮,本 文選擇了下表所示的七個獨立變量,變 量名、取 值范圍與對應(yīng)水平數(shù)如表1 所示,需要注意的是,本文針對建筑負(fù)荷預(yù)測,故 獨立變量選取不涉及到空調(diào)系統(tǒng),且 各獨立變量的取值范圍均由業(yè)態(tài)標(biāo)準(zhǔn)的范圍外擴(kuò)10%得到。為了更多關(guān)注變量與負(fù)荷的關(guān)系,本 文統(tǒng)一設(shè)置空調(diào)開啟時刻表為周一至周五 6:00-18:00,天氣參數(shù)則選為上海。
表1 變量選取
本文采用圍護(hù)結(jié)構(gòu)總傳熱系數(shù)(Overall Thermal Transfer Value,O TTV)的 計算方法設(shè)計該變量,O TTV是包括墻體、屋 頂、窗 戶熱工性能的綜合指標(biāo),為 了提高設(shè)計的靈活性,最 早由ASHRAE 通過考慮不同建筑的緯度、采 暖日數(shù)、遮 陽系數(shù)等,建 立了OTTV 這樣一個可計算的建筑圍護(hù)結(jié)構(gòu)熱工性能評估參數(shù),采用OTTV 作為獨立變量可以減少總獨立變量數(shù)(外墻傳熱系數(shù)、窗 戶傳熱系數(shù)、窗 戶太陽得熱系數(shù)、窗 墻比),在保證數(shù)據(jù)集的全面性的同時減少數(shù)據(jù)集的總量。
可以把這七個變量看作一個 7 維空間點,這 個點完整地描述了一棟建筑的負(fù)荷特性,為了得到每個 7維空間點與負(fù)荷的映射關(guān)系,最 理想的情況是對這所有的7 維空間點都計算對應(yīng)的負(fù)荷,也 就是次計算,這 對于常用的建筑能耗模擬工作和科研工作來說,幾 乎是不可能的任務(wù)。
表2 抽樣比例經(jīng)驗法則
因此,針 對這一超大規(guī)模的數(shù)據(jù)集總體,本 文采用抽樣方法來代表數(shù)據(jù)集總體,現(xiàn) 有抽樣方法均為直接抽樣,即 采用抽樣方法從總體中一次抽取所需的試驗樣本。在抽樣調(diào)查中,樣 本容量的確定可以依據(jù)經(jīng)驗法則,見 表2。就中等規(guī)模的總體(超過 1 萬)而 言,抽樣比率為10%即可認(rèn)為反映了總體特征。對于常用的建筑能耗模擬工具來說,計 算時間與成本可以接受。
本文中生成 5000 個抽樣點,抽 樣比率超過 10%,可以認(rèn)為這 5000 個抽樣點與其對應(yīng)的負(fù)荷可以全面地描述變量與負(fù)荷之間復(fù)雜的映射關(guān)系以供后續(xù)的數(shù)據(jù)驅(qū)動方法學(xué)習(xí)。
數(shù)據(jù)集構(gòu)建過程是應(yīng)用現(xiàn)有能耗模擬工具,采 取批量生成和計算方法,按 照每一個算例點的設(shè)計參數(shù),規(guī)模化地建立和計算這5000 個抽樣點,即 5000 個建筑負(fù)荷模型。并將模擬獲得的建筑負(fù)荷結(jié)果作為每一個算例點的第8 維,與其對應(yīng)的前7 維算例設(shè)計參數(shù)共同構(gòu)成完整的變量-負(fù)荷數(shù)據(jù)集,如 圖 1 所示。本 文選用應(yīng)用廣泛的建筑模擬工具 EnergyPlus 建立算例模型,并 采用 python 語言,按 照數(shù)據(jù)集的算例設(shè)計參數(shù)批量生成相應(yīng)的建筑負(fù)荷模型,并 進(jìn)行規(guī)模計算。
圖1 數(shù)據(jù)集構(gòu)建流程
EnergyPlus 的建筑負(fù)荷模型格式為 idf,本 質(zhì)上是通過文本行的方式記錄各模塊信息,可 以通過 Python編寫代碼,逐 行讀取idf 文件,找 到 7 個變量對應(yīng)模塊進(jìn)行參數(shù)修改,然后通過調(diào)用EnergyPlus 的 bat 文件調(diào)用天氣信息進(jìn)行模擬,將上述過程自動運(yùn)行 5000次,便 可得到5000 個算例點對應(yīng)的負(fù)荷結(jié)果。表 3 為自動計算過程中編寫的函數(shù)名稱及功能介紹。
表3 自動化過程函數(shù)名稱及功能
其中,G enerator 函數(shù)調(diào)用了序號 1~7 的函數(shù),批 量生成5000 個建筑負(fù)荷模型對應(yīng)的 idf 文件,值 得注意的是由于體形系數(shù)與建筑的幾何尺寸有關(guān),故 使用代碼編輯體形系數(shù)過于麻煩,本 文中采用人工建立體形系數(shù)對應(yīng)的 idf 文件,然后在以此文件為模板的基礎(chǔ)上進(jìn)行生成其他變量參數(shù)設(shè)計下的 idf 文件。RunWorker 批量調(diào)用 EnergyPlus 的 bat 文件,為了加快計算速度,使 用了多進(jìn)程計算,縮 短了計算時間。由于每一個 idf 對應(yīng)的結(jié)果都是8760 小時的冷熱負(fù)荷,數(shù)據(jù)量較大,故使用 ResultWorker 自動逐個讀取 idf負(fù)荷結(jié)果,并 將結(jié)果保存在后續(xù)的數(shù)據(jù)庫中。
由第1.2 節(jié)產(chǎn)生的結(jié)果數(shù)據(jù)量非常大,每一個算例點都包含了7 維建筑變量信息,與 8760 小時的建筑負(fù)荷結(jié)果,使用傳統(tǒng)的 excel 電子表格存儲數(shù)據(jù)比較低效,且 不利于后續(xù)方法的集成,故 本文采用數(shù)據(jù)庫技術(shù)MySQL 來存儲和管理數(shù)據(jù)集。
變量-負(fù)荷數(shù)據(jù)集在數(shù)據(jù)庫中最理想的存儲方式應(yīng)當(dāng)是每一行對應(yīng)著一個算例點,包含了7 維建筑信息與8760 維冷熱負(fù)荷,共 計 17528 個字段,而 MySQL最大支持一行2048 個字段,故 需要設(shè)計出新的數(shù)據(jù)架構(gòu)用來存儲變量-負(fù)荷數(shù)據(jù)集。
本文采用 split-table 方式,將最理想存儲方式中的每一行轉(zhuǎn)化為一張數(shù)據(jù)表,從 而克服一行最多2048個字段的限制。該方式自動為 5000 個算例點的每一個都創(chuàng)建一張存儲負(fù)荷的數(shù)據(jù)表,這 張數(shù)據(jù)表存儲著時間與該時間對應(yīng)的負(fù)荷,維 度為(3,8760)。綜 上所述,該數(shù)據(jù)庫共包括了5000 張負(fù)荷數(shù)據(jù)表與一張總表,總 表僅包括每一個算例點的建筑變量信息,維度為(5000,7),且 總表的每一個算例點都與對應(yīng)的負(fù)荷數(shù)據(jù)表建立了外鍵聯(lián)系,方 便快速地通過總表中的某一行索引到對應(yīng)的負(fù)荷數(shù)據(jù)表提取數(shù)據(jù)。數(shù)據(jù)庫結(jié)構(gòu)如圖2 所示:
圖2 數(shù)據(jù)庫結(jié)構(gòu)概覽
在正演模型建立后,本 文需要再建立一個數(shù)據(jù)驅(qū)動模型來學(xué)習(xí)這 5000 組 7 維建筑變量與建筑負(fù)荷的對應(yīng)關(guān)系,實 現(xiàn)對任意7 維建筑變量的建筑負(fù)荷預(yù)測。需要注意的是,模 型輸入是7 維建筑變量,而 模型輸出的建筑負(fù)荷是一個長達(dá)8760 小時的長序列,這 樣的低維—高維數(shù)據(jù)的關(guān)系學(xué)習(xí)對于數(shù)據(jù)驅(qū)動模型是一個較難的任務(wù),因 此,需 要從一個新的角度來看待變量與負(fù)荷的關(guān)系。
在一年的時間長度中,對 于一棟特定的建筑,描 述它的7 維建筑變量是固定的靜態(tài)數(shù)據(jù)。隨著外界天氣的變化,建 筑負(fù)荷也在發(fā)生著變化,兩 者都是時序數(shù)據(jù),因 此,建 筑負(fù)荷可看作為靜態(tài)數(shù)據(jù)的建筑變量作用于時序數(shù)據(jù)天氣變量的結(jié)果,這 樣地,低 維—高維數(shù)據(jù)的關(guān)系學(xué)習(xí)就轉(zhuǎn)化為了高維—高維數(shù)據(jù)的關(guān)系學(xué)習(xí),如圖3,這 是數(shù)據(jù)驅(qū)動模型更易于學(xué)習(xí)的任務(wù)。
圖3 低維—高維任務(wù)到高維—高維任務(wù)的轉(zhuǎn)換
本文選擇 1 維卷積神經(jīng)網(wǎng)絡(luò)(1D CNN)作 為建筑負(fù)荷預(yù)測的數(shù)據(jù)驅(qū)動模型,C NN 在計算機(jī)視覺問題上表現(xiàn)出色,原 因在于它可以進(jìn)行卷積運(yùn)算,從 局部輸入圖塊中高效提取特征,并將其模塊化,同樣地,1 N CNN 對時序數(shù)據(jù)處理也特別有效,因 為時間可以被看作一個空間維度,就 像二維圖像的高度或?qū)挾?,?此它可以很好地識別出具有固定長度周期的時序數(shù)據(jù)與抓取其中的特征,并且可以使用GPU 并行加速。1D CNN 的輸入為天氣變量(溫度、濕 度、太 陽輻射)與 7維建筑變量,模 型輸出為建筑負(fù)荷,為 了減小網(wǎng)絡(luò)的復(fù)雜度,本文將8760 小時拆分為52 個168 小時(即一周)分 別預(yù)測,最 后將結(jié)果拼接起來,如 圖4 所示。本 文使用Keras 構(gòu)建1D CNN,使 用前文所述的變量-負(fù)荷數(shù)據(jù)庫存儲的數(shù)據(jù)訓(xùn)練該網(wǎng)絡(luò)學(xué)習(xí)天氣變量,建 筑變量與建筑負(fù)荷的映射關(guān)系,1D CNN 的網(wǎng)絡(luò)構(gòu)架如表4 所示。
圖4 1D CNN 預(yù)測流程
表4 1D CNN 網(wǎng)絡(luò)架構(gòu)
當(dāng) 1D CNN 訓(xùn)練好后,便 可以輸入 7 維建筑變量與天氣變量到該灰箱模型中,得到建筑負(fù)荷預(yù)測值。為了更好地去判斷預(yù)測性能的好壞,需 要提出一個預(yù)測性能指標(biāo)來計算建筑負(fù)荷預(yù)測值與真實值兩個序列的相似性。對于長序列數(shù)據(jù),最 常見的指標(biāo)有最近歐式距離:單 純地使用歐式距離來計算兩個序列中的每一維,并 將每一維的距離相加得到總距離。皮爾遜系數(shù):評判兩個序列的線性相關(guān)性。Dynamic Time Warping(DTW):衡 量兩個長度不等的序列相似性,多 用于語音識別。然而,這 些指標(biāo)是無法反映出全年逐時負(fù)荷的預(yù)測值與真實值的相似性的:歐 式距離不能反映趨勢的相似性。對于皮爾遜相關(guān)系數(shù)與DTW,由 于建筑負(fù)荷不僅受天氣、內(nèi) 熱影響,也 受建筑空調(diào)系統(tǒng)的開關(guān)影響。當(dāng)空調(diào)系統(tǒng)關(guān)閉時,無 論環(huán)境、內(nèi) 熱如何變化,負(fù) 荷都為0,故 全年逐時負(fù)荷序列存在著大量的0 數(shù)據(jù),這也意味著全年負(fù)荷序列并不是連續(xù)變化的自然序列,不 適合使用評判自然序列相似性的皮爾遜相關(guān)系數(shù)與 DTW,故需要提出新的指標(biāo)衡量全年逐時負(fù)荷預(yù)測值與真實值的相似性。
考慮到設(shè)計人員更多地關(guān)注峰值負(fù)荷與整體負(fù)荷的大小,而 建筑逐時負(fù)荷曲線形狀上的相似性并不是關(guān)注目標(biāo),故 本文提出有效小時率用以評判預(yù)測值與真實值的相似性:全年N個小時中預(yù)測值誤差處于±1 5%的總小時Nm比例,如 式(1):
其中,N為真實值不為0 的總小時數(shù)。與 僅考慮長序列數(shù)據(jù)“ 量”相 似性的歐氏距離,僅 考慮長序列數(shù)據(jù)“形”相 似性的皮爾遜相關(guān)系數(shù)與 DTW 相比,有 效小時率不僅可以反映逐時預(yù)測負(fù)荷與真實負(fù)荷“量”的 相似性,而 且更反映了整體“ 形”的 相似性,故 本文使用有效小時率用于評價1D CNN 的預(yù)測性能。
為了能夠更有效地反映本文所提出的灰箱模型的預(yù)測性能,根 據(jù)實際參數(shù)情況,選 出貼合實際有代表性的5 棟建筑,即 5 個7 維測試點,測 試點信息如表 5所示。
表5 測試點信息
5 個測試點的真實負(fù)荷則由 EnergyPlus 得出,本 文為測試點建立 EnergyPlus 的建筑負(fù)荷模型,模 擬后得到測試點對應(yīng)的 8760 小時負(fù)荷,并將其作為真實值,與 灰箱模型的預(yù)測值進(jìn)行比較,各 測試點下建筑負(fù)荷的有效小時率如表6 所示。
表6 各測試點有效小時率
由表6 分析如下:
1)從 整體上來看,該 灰箱模型的預(yù)測性能較好,即 便是最差的 5 號測試點熱負(fù)荷也達(dá)到了 85%以上的有效小時率,這 意味著全年有 85%以上的小時的相對誤差處于±1 5%之間。
2)各 測試點的負(fù)荷預(yù)測性能也是有一定的差異性的,4 號測試點的平均有效小時率與 2 號測試點相差6%,這 是因為,一 些測試點都是處于灰箱模型的訓(xùn)練樣本,即 變量-負(fù)荷數(shù)據(jù)庫的內(nèi)部空間,故 對于這些測試點,灰箱模型的預(yù)測性能表現(xiàn)良好。而對于一些處于訓(xùn)練樣本空間邊緣的測試點,灰 箱模型的泛化能力略顯不足,預(yù) 測性能下降。
為了更好地展示本文灰箱模型的預(yù)測結(jié)果,繪 制測試點1 的預(yù)測值/真實值的熱度圖,如 圖5 所示,該 建筑冷負(fù)荷多集中于6 月至9 月的中午,而熱負(fù)荷多集中于十二月至三月的上午與晚上。對比預(yù)測值與真實值的熱度分布,可 以發(fā)現(xiàn)兩者在大部分時間段內(nèi)分布相同,吻 合性較好。根據(jù)上述分析,本 文提出的灰箱模型預(yù)測方法在設(shè)計階段建筑負(fù)荷預(yù)測上表現(xiàn)出了較好的快速性和準(zhǔn)確性。
圖5 1 號測試點負(fù)荷預(yù)測結(jié)果
本文提出了基于灰箱模型的設(shè)計階段建筑負(fù)荷預(yù)測方法:首 先建立了變量 -負(fù)荷數(shù)據(jù)庫,包 含了各種使用情景下的建筑,并 將負(fù)荷預(yù)測任務(wù)轉(zhuǎn)換為了數(shù)據(jù)驅(qū)動模型易于學(xué)習(xí)的“序列對序列”任務(wù),使用 1D CNN 作為具體模型,并 提出了新的預(yù)測性能指標(biāo)——有效小時率作為評價灰箱模型預(yù)測性能優(yōu)劣的指標(biāo),選取了貼合實際有代表性的5 棟建筑進(jìn)行測試,驗證了該灰箱模型良好的預(yù)測性能。與軟件模擬預(yù)測法相比,本 文提出的灰箱模型預(yù)測時間短,不 需要復(fù)雜的建筑建模過程,對 使用人員的操作水平要求較低。該方法也可一次性預(yù)測8760 小時的建筑負(fù)荷,而 不是典型日逐時負(fù)荷/峰值負(fù)荷,這對建筑用能規(guī)劃有著較大的意義。需 要注意的是,本 文的變量 -負(fù)荷數(shù)據(jù)庫中變量的選取范圍由上海建筑設(shè)計標(biāo)準(zhǔn)得到,負(fù) 荷計算中也選取了上海的氣象參數(shù),在 未來,可 為各個地區(qū)分別建立變量-負(fù)荷數(shù)據(jù)庫,輸入建筑的變量與所在城市,自 動化進(jìn)行建筑逐時負(fù)荷預(yù)測,為 各地區(qū)建筑用能規(guī)劃提供準(zhǔn)確的依據(jù)。