葉永雪,馬鴻雁*,2,3,楊靜儉
(1. 北京建筑大學(xué)電氣與信息工程學(xué)院,北京 100044;2. 建筑大數(shù)據(jù)智能處理方法研究北京市重點(diǎn)實(shí)驗(yàn)室,北京 100044;3. 智慧城市國家級虛擬仿真實(shí)驗(yàn)教學(xué)中心,北京 100044)
隨著我國城市化進(jìn)程的逐步提速、人民生活水平也在不斷提升,我國公共建筑的能耗占比也開始節(jié)節(jié)攀升。據(jù)統(tǒng)計,我國建筑能耗在總能耗中的占比已上升至35%左右,而其中公共建筑電能消耗十分嚴(yán)重[1]。因此,如何處理好公共建筑的能耗問題變得至關(guān)重要。通過探究公共建筑能耗的影響因素,并建立相應(yīng)能耗預(yù)測模型對其進(jìn)行預(yù)測,將有利于綜合評估公共建筑能耗現(xiàn)狀及其發(fā)展趨勢,并為公共建筑實(shí)施能源管理計劃提供有效依據(jù)。
隨著影響預(yù)測的相關(guān)因素及其數(shù)據(jù)量的不斷增多,一些傳統(tǒng)的方式不足以解決相關(guān)預(yù)測問題。近年來,隨著計算機(jī)科學(xué)的不斷發(fā)展,各類機(jī)器學(xué)習(xí)技術(shù)的瓶頸也在不斷被突破,基于數(shù)據(jù)驅(qū)動的公共建筑能耗預(yù)測研究越來越廣泛。侯博文等[2]首先提出將基于支持向量機(jī)(SVM)用于建筑能耗預(yù)測。隨后LI等人[3]采用支持向量機(jī)、GRNN神經(jīng)網(wǎng)絡(luò)、BP神經(jīng)網(wǎng)絡(luò)等方法對同一住宅的年總能耗量進(jìn)行預(yù)測,該對比實(shí)驗(yàn)結(jié)果表明,支持向量機(jī)預(yù)測模型預(yù)測精度最高。但是他們對公共建筑的能耗均缺少相關(guān)的研究。本文基于Python采用聚類分析與支持向量回歸算法,建立了能耗預(yù)測模型,對公共建筑能耗問題進(jìn)行了研究。
傳統(tǒng)回歸算法當(dāng)且僅當(dāng)回歸f(x)等于y時,才被認(rèn)為預(yù)測正確。而支持向量回歸算法則只需回歸f(x)與y偏離程度不要太大,即可認(rèn)為預(yù)測正確。對于f(x)與y有偏離的,僅需設(shè)置閾值ε,計算|f(x)-y|>ε的數(shù)據(jù)點(diǎn)的損失。如圖1所示,其中黑色數(shù)據(jù)點(diǎn)均認(rèn)為預(yù)測正確,只需要計算白色數(shù)據(jù)點(diǎn)的損失。
圖1 支持向量的標(biāo)識圖
隨著信息科學(xué)技術(shù)的不斷更新,各類仿真軟件層出不窮,Python具有種類繁多的標(biāo)準(zhǔn)庫,是一種十分精彩又強(qiáng)大的語言,有獨(dú)特的優(yōu)勢。綜上,本文基于Python采用聚類分析與支持向量回歸算法建立公共建筑能耗預(yù)測模型。
圖2為基于支持向量回歸的公共建筑能耗預(yù)測模型的流程圖[3],該流程圖主要由三大部分組成。
圖2 基于K-Means與SVR的能耗預(yù)測模型流程
1)數(shù)據(jù)處理:將數(shù)據(jù)集進(jìn)行相關(guān)性分析判斷,去除數(shù)據(jù)的無關(guān)特征以達(dá)到數(shù)據(jù)集降噪的目的,然后對數(shù)據(jù)進(jìn)行z-score歸一化處理;將歸一化后的數(shù)據(jù)投入到K-Means聚類分析程序中進(jìn)行數(shù)據(jù)的二次分析與處理。
2)模型建立:將處理后的數(shù)據(jù)按照9:1的比例分為訓(xùn)練集和測試集。將訓(xùn)練集中的數(shù)據(jù)輸入到支持向量回歸模型中通過參數(shù)尋優(yōu)得到預(yù)測模型。
3)模型輸出與重利用:將輸出的模型用于開發(fā)人機(jī)交互界面,以實(shí)現(xiàn)公共建筑能耗預(yù)測的可視化功能。
2.3.1 R檢驗(yàn)[12]
R檢驗(yàn)即判定系數(shù)檢驗(yàn),該檢驗(yàn)是用于檢測樣本回歸對樣本觀測值的擬合程度,計算公式為
(1)
式中
R2——判定系數(shù)
對于判定系數(shù)來說,雖然其值越靠近1曲線擬合程度越高,但是當(dāng)判定系數(shù)不斷靠近1會出現(xiàn)過擬合的現(xiàn)象,所以比較優(yōu)秀的判定系數(shù)值應(yīng)該在0.85-0.95之間。
2.3.2 均方誤差與CG參數(shù)
1)均方誤差
均方誤差可以評價數(shù)據(jù)的變化程度,其值越小,說明結(jié)果越能反映數(shù)據(jù)的連續(xù)性。其公式如下所示
(2)
2)CG參數(shù)
本文運(yùn)用十字交叉驗(yàn)證的方法去進(jìn)行參數(shù)尋優(yōu),用以獲得最佳的模型參數(shù)。因此核函數(shù)參數(shù)gamma(G)與懲罰因子C對于基于支持向量回歸的模型的預(yù)測結(jié)果有著十分重要的影響。
本文以北京市某高校的圖書館為研究對象。選擇該研究對象的原因主要有以下幾點(diǎn),第一:隨著高校學(xué)生人數(shù)的不斷增加,以人為本的理念導(dǎo)致越來越多的高校為學(xué)生提供更好的學(xué)習(xí)和生活環(huán)境,這造成了高校圖書館能耗急劇增加。第二:在模糊數(shù)學(xué)中,不同人群對于溫度的感知和適應(yīng)性不同,這導(dǎo)致部分使用者會因感覺過冷或過熱而頻繁開啟門窗,從而造成能源浪費(fèi),因此高校圖書館能耗浪費(fèi)較多。第三:許多高校在建校初期均以惡劣天氣狀況考慮,這導(dǎo)致電氣設(shè)備預(yù)留量大,制冷、制熱設(shè)備會出現(xiàn)“大馬拉小車”現(xiàn)象,所以高校圖書館節(jié)能潛力大。本文通過實(shí)地調(diào)研,選取2018年上半年該高校1-5月份能耗參數(shù)數(shù)據(jù)進(jìn)行模型訓(xùn)練測試。具體數(shù)據(jù)類型見表1。本文數(shù)據(jù)均為真實(shí)數(shù)據(jù)。
表1 數(shù)據(jù)樣本示例
3.2.1 氣象特征數(shù)據(jù)特征分析
1)相關(guān)性分析方法
對數(shù)據(jù)集進(jìn)行分析,通過一定的特征選擇將高維度的樣本轉(zhuǎn)換到低維度,從而獲得盡可能低維度的特征子數(shù)據(jù)集,通過該子集中的數(shù)據(jù)進(jìn)行模型建立,建模的精度會顯著提高,最終得到較好的預(yù)測結(jié)果[3]。
各類相關(guān)性分析方法見表2所示。
表2 相關(guān)性分析方法
首先對于圖表相關(guān)分析方法來說,該方法無法對數(shù)據(jù)間相關(guān)性進(jìn)行準(zhǔn)確的度量,并且當(dāng)數(shù)據(jù)維度超過2時也無法完成各組數(shù)據(jù)間的相關(guān)分析,本文數(shù)據(jù)集的維度為5,該方法不適用。其次對于多元回歸分析方法與信息熵及互信息分析方法來說,此分析過程較為復(fù)雜,不適用于本數(shù)據(jù)集的預(yù)處理過程。最后對協(xié)方差分析方法與相關(guān)系數(shù)分析方法來說,協(xié)方差分析法只能分析數(shù)據(jù)之間的相關(guān)性,卻不能分析數(shù)據(jù)間的相關(guān)程度。而相關(guān)系數(shù)分析方法則可以反映不同變量之間的相關(guān)程度。因此本文選用相關(guān)系數(shù)分析方法對本文氣象數(shù)據(jù)的特征進(jìn)行分析。
2)Pearson相關(guān)系數(shù)分析方法
在相關(guān)系數(shù)分析方法中,Pearson系數(shù)分析方法比較適用于等間距測度數(shù)據(jù)的相關(guān)性分析。而本文采集的數(shù)據(jù)集為每日氣象數(shù)據(jù)與每日能耗數(shù)據(jù),為等間距測度的數(shù)據(jù),因此本文采用Pearson相關(guān)系數(shù)分析方法對數(shù)據(jù)進(jìn)行相關(guān)性分析。所以本文最終采用Pearson相關(guān)系數(shù)分析方法對數(shù)據(jù)特征進(jìn)行分析。
各變量間Pearson相關(guān)系數(shù)計算結(jié)果如圖3所示。從圖3中可以看出,逐日能耗與相對濕度的Pearson相關(guān)系數(shù)值為-0.00454,該值的絕對值位于0~0.2之間,表明相對濕度與能耗情況極弱相關(guān)或無相關(guān),即相對濕度這個氣象特征與能耗預(yù)測的結(jié)果不發(fā)生關(guān)系。所以將數(shù)據(jù)集中相對濕度這一氣象特征去除,從而對數(shù)據(jù)集進(jìn)行降維,使得最終預(yù)測結(jié)果更為精準(zhǔn)。
圖3 各氣象特征與能耗的Pearson相關(guān)系數(shù)
3.2.2 氣象特征數(shù)據(jù)標(biāo)準(zhǔn)化處理
數(shù)據(jù)標(biāo)準(zhǔn)化方法
數(shù)據(jù)的標(biāo)準(zhǔn)化是將數(shù)據(jù)按照某一算法進(jìn)行縮放,使其落入某個指定區(qū)間內(nèi)。數(shù)據(jù)的標(biāo)準(zhǔn)化中較為典型的處理方法為數(shù)據(jù)歸一化處理。常見的數(shù)據(jù)歸一化處鋰的方法見表3所示。
表3 數(shù)據(jù)歸一化方法表
本文經(jīng)過后期各類歸一化數(shù)據(jù)集的建模發(fā)現(xiàn),z-score標(biāo)準(zhǔn)化后的數(shù)據(jù)集對于能耗預(yù)測模型的建立在其精確性上具有較好的影響,因此本文采用z-score標(biāo)準(zhǔn)化對數(shù)據(jù)集進(jìn)行處理。
1)K-Means聚類算法原理
K-Means算法是經(jīng)典的基于原型的目標(biāo)函數(shù)聚類方法。本文中的K-Means算法以歐氏距離公式作為其相似度測度,該算法對于接近高斯(正態(tài))分布的數(shù)據(jù)集有良好的聚類效果。
2)K-Means聚類結(jié)果
本模型的數(shù)據(jù)集的維度為5維,首先將數(shù)據(jù)集以第1維(最高溫度)與第5維(能耗參數(shù))進(jìn)行聚類(數(shù)據(jù)集樣例見表1),聚類的結(jié)果見圖4所示。最終聚類結(jié)果以5維聚類為準(zhǔn)。
圖4 二維參數(shù)K-Means聚類結(jié)果
從圖4(a)可看出類簇為2時,各個類別的參數(shù)數(shù)量較多,對模型訓(xùn)練有利,但是在第二類(三角形類別)中,明顯有一部分?jǐn)?shù)據(jù)不屬于該類。從圖4(b)可看出類簇為3時,分類結(jié)果十分成功,但是明顯發(fā)現(xiàn),該聚類結(jié)果下給個類簇數(shù)據(jù)量較小,對模型訓(xùn)練不利。綜上所述,本文在現(xiàn)有數(shù)據(jù)情況下選用類簇為2的聚類分析結(jié)果作為參數(shù),將第一類(X類別)的參數(shù)投入到能耗預(yù)測模型中進(jìn)行訓(xùn)練。
通過對全部預(yù)處理的數(shù)據(jù)集訓(xùn)練后SVR能耗預(yù)測模型的評價指標(biāo)R2可達(dá)到0.89725,懲罰系數(shù)C值為6.85795,說明本文建立的模型在訓(xùn)練后既沒有出現(xiàn)過擬合也沒有出現(xiàn)欠擬合,gamma值為6.85795,說明訓(xùn)練與預(yù)測的速度較為適中。而通過在處理數(shù)據(jù)中增加聚類分析結(jié)果后,SVR能耗預(yù)測模型的評價指標(biāo)R2為0.93645。測試集的結(jié)果如圖5所示。
圖5 模型測試集與實(shí)際數(shù)據(jù)集對比結(jié)果圖
在圖5中,綠色曲線代表基于能耗預(yù)測模型的預(yù)測曲線,黑色曲線代表實(shí)際能耗情況的數(shù)據(jù)曲線。從圖中可以看到,擬合效果良好。
隨機(jī)從1-5月份中每個月抽取3天對未聚類公共建筑能耗預(yù)測模型進(jìn)行能耗預(yù)測,預(yù)測結(jié)果見表4。
表4 抽樣預(yù)測結(jié)果
通過分析表4,通過分析發(fā)現(xiàn)未聚類能耗預(yù)測模型在二、三、四月份預(yù)測精度均超過90%,預(yù)測精度較高。但是在一月能耗的預(yù)測值上整體偏低,在五月能耗預(yù)測值上整體偏高,即在這兩個月份預(yù)測能力不理想。分析原因認(rèn)為是數(shù)據(jù)集僅有上半年的數(shù)據(jù),在一月與五月份數(shù)據(jù)斷層,所以預(yù)測能力不夠準(zhǔn)確。所以在公共建筑能耗預(yù)測時,訓(xùn)練數(shù)據(jù)應(yīng)該具有連續(xù)性。
另外,聚類后的能耗預(yù)測模型在第一類數(shù)據(jù)訓(xùn)練中十分理想,但是在第二類預(yù)測結(jié)果較為不理想,考慮原因是在聚類分析時,由于聚類的類簇為2類,其中第二類中有一部分?jǐn)?shù)據(jù)不屬于第二類,影響到最終模型訓(xùn)練結(jié)果。所以對于連續(xù)一年的訓(xùn)練數(shù)據(jù)聚類分析的類簇至少為3類。
在人機(jī)交互程序開發(fā)軟件的選擇上,本文仍舊選擇Python,其原因如下:首先Python不僅支持面向過程,同時也支持面向?qū)ο缶幊獭_@就說明,使用Python不僅可以做網(wǎng)絡(luò)后端工作,也可以做網(wǎng)絡(luò)前端工作。此外Python兼容眾多平臺,具有很大的包容性,所以對于開發(fā)者來說,他們不會遇到使用其它語言時常會遇到的問題。
本文基于公共建筑能耗模型的人機(jī)交互程序開發(fā),是以訓(xùn)練好的公共建筑能耗預(yù)測模型為核心在Python中設(shè)計人機(jī)交互程序時,需要將在訓(xùn)練時的標(biāo)準(zhǔn)化數(shù)據(jù)集進(jìn)行反標(biāo)準(zhǔn)化,具體公式如下所示
X=X*×σ+μ
(3)
從數(shù)據(jù)集中隨機(jī)選取一天,用于驗(yàn)證人機(jī)交互界面功能的指導(dǎo)性。選取為2018年2月19日,該日具體數(shù)據(jù)如表5所示。
表5 2018年2月19日氣象參數(shù)與能耗參數(shù)
將2018年2月19日的各項(xiàng)氣象參數(shù)輸入到“公共建筑能耗”預(yù)測界面內(nèi),點(diǎn)擊預(yù)測按鈕,得到圖6所示結(jié)果。從圖6可知本模型對2018年2月19日能耗預(yù)測的結(jié)果為4671.53kW,而實(shí)際能耗為4854.54kW,通過計算可得本模型在該日能耗預(yù)測估計準(zhǔn)確率達(dá)到96.23%。
圖6 人機(jī)交互預(yù)測界面
本文以訓(xùn)練的能耗預(yù)測模型為基準(zhǔn),在Python中開發(fā)能耗預(yù)測界面,即“公共建筑能耗”預(yù)測界面,該界面能夠準(zhǔn)確反映模型的預(yù)測結(jié)果,并且適用于基礎(chǔ)操作人員。此外在數(shù)據(jù)集中任取一日,將其參數(shù)輸入后,其估計結(jié)果準(zhǔn)確率達(dá)到96.23%,對公共建筑在能源管理上起到十分好的指導(dǎo)作用。
本文基于Python構(gòu)建了基于聚類分析的支持向量回歸公共建筑能耗預(yù)測模型,用以公共建筑能耗預(yù)測,對比分析了實(shí)際能耗曲線與模型預(yù)測曲線,并對比聚類后與未聚類的兩類公共建筑能耗預(yù)測模型。仿真結(jié)果表明聚類后的公共建筑能耗預(yù)測模型R2提高了3.9%,說明聚類之后的預(yù)測模型較未聚類的模型在預(yù)測精度上有了較大的提高。而公共建筑能耗預(yù)測模型測試集的預(yù)測結(jié)果均方誤差為0.151859,說明該預(yù)測誤差波動較小,可以對公共建筑能耗進(jìn)行連續(xù)預(yù)測。