能源研究与信息  2025, Vol. 41 Issue (2): 90-97   PDF    
基于XGBoost算法的夏热冬冷地区办公建筑围护结构的负荷预测
曹双华, 郭虹雨, 龚婉婷     
上海理工大学 环境与建筑学院,上海 200093
摘要:空调负荷预测有助于建筑能源侧的管理与优化,在节能方面具有可观的潜力。为了使预测模型可以快速预测夏热冬冷地区不同建筑的逐时冷负荷,将建筑冷负荷解耦,仅考虑围护结构的负荷预测。首先,建立基于XGBoost算法的基准建筑围护结构逐时冷负荷预测模型,对4种不同特征组合的预测结果进行分析比较,结果表明特征组合D的预测效果最优;然后,基于基准建筑对其他类型建筑的围护结构负荷进行差值修正,得到适用于更多办公建筑的通用预测模型。以上海与杭州的测试建筑为例,利用XGBoost算法预测得到的围护结构逐时冷负荷与利用EnergyPlus软件得到的模拟结果吻合,说明该预测模型具有良好的泛化性,能够精确、有效地预测不同建筑围护结构的冷负荷。
关键词负荷预测     机器学习     EnergyPlus软件     XGBoost算法    
Load prediction of envelope structure of office buildings in hot summer and cold winter regions based on XGBoost algorithm
CAO Shuanghua, GUO Hongyu, GONG Wanting     
School of Environment and Architecture, University of Shanghai for Science and Technology, Shanghai 200093, China
Abstract: Accurate air conditioning load prediction enhances building energy management and optimization, demonstrating significant potential for energy savings. To enable rapid hourly cooling load prediction for diverse buildings in hot summer and cold winter zones, this study decouples building cooling loads, focusing specifically on envelope load prediction. First, a baseline XGBoost-based model for hourly envelope cooling load prediction was developed, with comparative analysis of four feature combinations revealing feature set D as optimal. Subsequently, a generalized prediction model adaptable to various office buildings was created by applying differential corrections to the baseline model. Validated against EnergyPlus simulations using test buildings in Shanghai and Hangzhou, the XGBoost-predicted hourly envelope cooling loads showed strong agreement, confirming the model's generalizability and accuracy in predicting envelope thermal performance across different buildings.
Key words: load prediction     machine learning     EnergyPlus software     XGBoost algorithm    

随着人们对舒适生活的不断追求,社会对于能源的需求与日俱增,其中建筑能耗占社会总能耗的比重也持续递增。例如建筑在夏季供冷季,所消耗的能耗可以占据到整个空调系统的60% ~ 80%1。我国建筑空调系统在设计、运行阶段都存在一定不足2。准确的冷负荷预测对于建筑节能具有重要意义,可以有效指导建筑能源侧的供电策略,例如安排制冷机启停、前馈控制、指导储能计划和电网调度等36。因此,建筑负荷预测是供热(或供暖)通风与空气调节(HVAC)系统预测控制的基础。

根据建模方法不同,现有研究中的冷负荷预测模型可分为白箱模型、黑箱模型和两者相结合的灰箱模型78。国内外学者提出了回归分析、神经网路(ANN)、支持向量机(SVM)、随机森林等算法。徐欣等9通过带残差修正的多元非线性回归对日平均负荷进行了预测。该预测模型能使供暖季的日平均负荷精度控制在15%以内。Hu等10建立了一种人工神经网络模型来预测办公楼的负荷需求和能耗,并对暖通空调系统的运行进行了优化。李凯11采用具有高斯核的支持向量回归对建筑热负荷进行了预测,结果表明测试集与训练集数据的决定系数R2相近,差值在10%以内。杨胜维等12的研究表明,在选择恰当的输入特征前提下,随着输入特征维度增加,随机森林模型的训练效率更高,对空调负荷的预测性能更好。邸跃强13的研究表明,极端梯度提升(XGBoost)算法与SVM、随机森林、神经网络等算法相比具有调参简单、鲁棒性强的特点,适用于建筑冷热负荷的短期预测。高英博14采用不同的机器学习方法对不同类型的建筑能耗进行了预测,结果表明XGBoost算法在4种类型建筑负荷预测上均有较高的准确性和适用性。Wang等15等采用随机森林算法进行了建筑能耗的精确预测。结果表明,随机森林算法的预测精度明显高于SVM算法。

上述模型能准确地预测特定建筑的空调冷负荷,但无法应用于夏热冬冷地区其他办公建筑的空调冷负荷预测。针对上述问题,本文建立基于XGBoost算法的基准建筑围护结构负荷预测模型,并结合围护结构负荷的差值修正,可使该模型在其他建筑与基准建筑之间进行转换,以实现对其他办公建筑围护结构逐时冷负荷的快速预测。

1 围护结构负荷模拟

采用EnergyPlus仿真软件可对不同类型的办公建筑进行模拟得到办公建筑的逐时冷负荷数据16。为了寻找适应不同办公建筑的冷负荷预测方法,本文将建筑冷负荷解耦,仅对办公建筑的围护结构进行分析。

1.1 基准建筑模型的建立

将处于夏热冬冷地区的上海选为基准办公楼建筑所在地。建筑热工参数根据《GB50189—2015公共建筑节能设计标准》进行设定。基准建筑模型参数如表1所示。基准建筑三维图如图1所示。

表 1 基准建筑模型参数 Table 1 Parameters of the baseline building

图 1 基准建筑三维图 Fig.1 3D model of the baseline building
1.2 围护结构负荷差值拟合

利用EnergyPlus软件对不同围护结构建筑进行模拟,得到相应的围护结构负荷。基于基准建筑的围护结构模型,对不同工况下的朝向、窗墙比、体形系数、外围护结构热工参数分别进行差值拟合,从而实现对应用于其他建筑时的基准模型进行修正。得到的差值拟合公式及决定系数$ {R}^{2} $表2所示,其中:x为基准建筑围护结构负荷;y1y2y3分别为不同建筑的北轴夹角、窗墙比和体形系数;z为所计算建筑与基准建筑的围护结构负荷差值;“传热系数小”表示外墙传热系数为(0.3,0.6] W/(m2·K);“传热系数中”表示外墙传热系数范围为(0.6,0.8] W/(m2·K);“传热系数大”表示外墙传热系数范围为(0.8,1.0] W/(m2·K)。本文以围护结构“传热系数大”作为基准(见表1)。图2为不同围护结构负荷差值。

表 2 差值拟合公式及决定系数 Table 2 Differential correction formulas and determination coefficients

图 2 不同围护结构负荷差值 Fig.2 Load differences of various building envelope components
2 基于XGBoost算法的围护结构负荷预测模型 2.1 目标函数确定

XGBoost算法参见文献[17]。本文基于XGBoost算法对建筑围护结构负荷进行预测,且围护结构负荷与天气参数密切相关。受多种因素的影响,其预测过程由两部分组成:①确定目标函数,将围护结构逐时冷负荷作为目标;②将不同的天气参数和其他特征作为输入,优化目标函数,从而达到最优解。XGBoost 预测函数可表示为

$\qquad {\hat{y}}_{i}=\sum _{k=1}^{K}{f}_{k}\left({x}_{i}\right),{f}_{k}\in H $ (1)

式中:$ {\hat{y}}_{i} $为第$ i $个样本的预测值;$ {f}_{k}\left({x}_{i}\right) $为第k棵决策树模型对样本xi的预测值;$ H $为整个回归树模型的集合;$ K $为训练树的数量。

由预测函数得到加入正则化项的目标函数$ L\left(\mathrm{\varnothing }\right) $

$ \qquad L\left(\mathrm{\varnothing }\right)=\sum _{i}l({\hat{y}}_{i},{y}_{i}) + \sum _{k}\varOmega ({f}_{k}) $ (2)
$ \qquad \varOmega \left(f\right)=\gamma T + \dfrac{1}{2}\lambda {\parallel \omega \parallel}^{2} $ (3)

式中:$ l $为一个可微的损失函数,用来衡量预测值$ {\hat{y}}_{i} $和目标值$ {y}_{i} $之间的差值;$ \varOmega \left(f_k\right) $为对模型复杂度的惩罚(正则化项);$ T $为给定的一棵树的叶节点数;$ \gamma $$ \lambda $均为惩罚系数;$ {\parallel \omega \parallel}^{2} $为每棵树叶节点上的输出分数的平方。

2.2 目标函数优化

采用前向分步算法优化目标函数。设$ {\hat{y}}_{i}^{\left(t\right)} $为第$ i $个样本在第$ t $次迭代后的预测值,则有

$ \qquad{\hat{y}}_{i}^{\left(t\right)}={\hat{y}}_{i}^{\left(t-1\right)} + {f}_{t}\left({x}_{i}\right) $ (4)

式中:$ {\hat{y}}_{i}^{(t-1)} $为第$ i $个样本在第$ t-1 $次迭代后的预测值;$ {f}_{t}\left({x}_{i}\right) $为第t次迭代新增的决策树模型对样本xi的预测值。

则目标函数可以表示为

$ \begin{split} {L}^{\left(t\right)}=& \sum _{i=1}^{n}l({y}_{i},{\hat{y}}_{i}^{\left(t\right)}) + \sum _{i}^{t}\varOmega ({f}_{i})=\\&\sum _{i=1}^{n}l\left[{y}_{i},{\hat{y}}_{i}^{(t-1)} + {f}_{t}\left({x}_{i}\right)\right] + \varOmega ({f}_{t}) + {C}_{1} \end{split}$ (5)

式中:$ {L}^{\left(t\right)} $为第$ t $次迭代后的目标函数;$ {C}_{1} $ 为常数项;n为训练集中的样本总数;fi为全体树集合中的第i棵回归树。

对损失函数进行二次泰勒展开,即

$\begin{split} {L}^{\left(t\right)}\cong & \sum _{i=1}^{n} \bigg[l\left({y}_{i},{\hat{y}}_{i}^{\left(t-1\right)}\right) + {g}_{i}{f}_{t}({x}_{i}) + \dfrac{1}{2}{h}_{i}{f}_{t}^{2}\left({x}_{i}\right)\bigg] + \\& \varOmega \left({f}_{t}\right) + {C}_{2} \end{split} $ (6)

式中:$ l\left({y}_{i},{\hat{y}}_{i}^{\left(t-1\right)}\right) $为第$ t-1 $次迭代的损失函数,对于当前第$ t $次迭代来说它是一个确定的常数;$ {C}_{2} $为常数项;$ {g}_{i} $$ {h}_{i} $分别为关于样本 $ i $的一阶和二阶梯度。

省略式(6)中的常数项得到

$ \qquad {L}^{\left(t\right)}=\sum _{i=1}^{n}\bigg[{g}_{i}{f}_{t}\left({x}_{i}\right) + \dfrac{1}{2}{h}_{i}{f}_{t}^{2}\left({x}_{i}\right)\bigg] + \varOmega ({f}_{t}) $ (7)
$ \qquad {g}_{i}={\partial }_{{\hat{y}}^{(t-1)}}l\left({y}_{i},{\hat{y}}^{\left(t-1\right)}\right) $ (8)
$ \qquad {h}_{i}={\partial }_{{\hat{y}}^{(t-1)}}^{2}l\left({y}_{i},{\hat{y}}^{\left(t-1\right)}\right) $ (9)

由式(7)可知,目标函数的结果取决于$ {g}_{i} $$ {h}_{i} $。因此,XGBoost 算法能够根据自身需求设置多种损失函数,只要该损失函数二阶可导即可。

对式(7)进行拆分。将式(2)中对模型复杂度的惩罚的定义代入式(7),有

$ \begin{split} {L}^{\left(t\right)} = & \sum _{i=1}^{n}\bigg[{g}_{i}{f}_{t}\left({x}_{i}\right) + \dfrac{1}{2}{h}_{i}{f}_{t}^{2}\left({x}_{i}\right) \bigg] + \gamma T + \dfrac{1}{2}\lambda \sum _{j=1}^{T}{\omega }_{j}^{2} =\\&\sum _{j=1}^{T}\left[\left(\sum _{i\in {I}_{j}}{g}_{i}\right){\omega }_{j} + \dfrac{1}{2}\left(\sum _{i\in {I}_{j}}{h}_{i} + \lambda \right){\omega }_{j}^{2}\right] + \gamma T \end{split} $ (10)

式中:$ {\omega }_{j}^{} $为第$ j $个叶节点权重;$ {I}_{j}= \{i|q\left({x}_{i}\right)= j\}$为树的第$ j $个叶节点上所有样本点的集合,即为给定一棵树时,所有按照决策规则被划分到第$ j $个叶节点的样本集合,q(xi)为决策树将样本xi分配到的叶节点编号。

对式(10)进行求导,计算得到第$ j $个叶节点的最佳权重$ {\omega }_{j}^{\mathrm{*}} $,即

$ \qquad {\omega }_{j}^{\mathrm{*}}=-\dfrac{\displaystyle\sum _{i\in {I}_{j}}{g}_{i}}{\displaystyle\sum_{i\in {I}_{j}}{h}_{i} + \lambda } $ (11)

将式(11)代入式(10)中,得到相应的最优值。

$ \qquad {L}^{\left(t\right)}\left(q\right)=-\dfrac{1}{2}\sum _{j=1}^{T}\dfrac{\left(\displaystyle\sum_{i\in {I}_{j}}{g}_{i}\right)^{2}}{\displaystyle\sum_{i\in {I}_{j}}{h}_{i} + \lambda } + \gamma T $ (12)

式(12)可以作为一个评分函数来衡量树$ q $的好坏,也可以用于判定剪枝操作(防止过拟合),即根据损失函数是否减小来决定是否执行剪枝。XGBoost算法将式(12)作为判断损失函数的标准。通过最小化$ L^{(t)}(q) $,该算法在提升预测精度与控制模型复杂度之间达成平衡,从而实现结构化风险最小化。

利用XGBoost算法进行决策树节点划分时,假定L和R分别表示某个节点切分后的左、右子节点,则切分后的损失函数Ls

$ L_{\mathrm{s}}=\dfrac{1}{2}\left[\dfrac{G_{\mathrm{L}}^2}{H_{\mathrm{L}}+\lambda}+\dfrac{G_{\mathrm{R}}^2}{H_{\mathrm{R}}+\lambda}-\dfrac{\left(G_{\mathrm{L}}+G_{\mathrm{R}}\right)^2}{H_{\mathrm{L}}+H_{\mathrm{R}}+\lambda}\right]-\gamma_0 $ (13)

式中:$ \dfrac{{G}_{{\mathrm{L}}}^{2}}{{H}_{{\mathrm{L}}} + \lambda } $为左子树的评分;$ \dfrac{{G}_{{\mathrm{R}}}^{2}}{{H}_{{\mathrm{R}}} + \lambda } $为右子树的评分;$ \dfrac{{\left({G}_{{\mathrm{L}}} + {G}_{{\mathrm{R}}}\right)}^{2}}{{H}_{{\mathrm{L}}} + {H}_{{\mathrm{R}}} + \lambda } $为未切分时节点的评分;$ \gamma_0 $为加入新的叶节点时引入的复杂度代价;GLGR分别为左、右子节点的一阶梯度;HLHR分别为左、右子节点的二阶梯度。

式(13)常用于评估切分的候选节点。

2.3 基于XGBoost算法的围护结构负荷预测方法

将XGBoost算法应用于基准建筑围护结构负荷预测中,然后基于基准模型对相关参数进行修正,得到其他建筑的围护结构逐时负荷,最后对XGBoost预测模型的预测性能进行评估。

具体步骤为:

(1)获取基准建筑围护结构负荷模拟数据,并将数据集分为训练集、验证集和测试集。

(2)在训练集上使用交叉验证与网格搜索,进行初步调优,确定树的数量、最大树深、学习率、采样率;然后在验证集上进行测试,主要通过改变树的数量来确定最终测试集的参数。

(3)确立基于XGBoost算法的基准建筑围护结构负荷预测模型。

(4)利用测试集对预测模型进行测试。

(5)通过差值拟合公式对预测结果进行修正。

(6)对比模拟结果与预测结果之间的差异,并进行预测模型的评价。

图3为负荷预测模型流程。

图 3 负荷预测模型流程 Fig.3 Flowchart of the load prediction model
3 实例预测

为验证预测模型的泛化能力,本次模拟采用上海和杭州两个城市的负荷数据。训练集对应时间为6月5日—8月7日共计9周,验证集对应时间为8月7日—8月13日,测试集对应时间为8月13日—8月25日,验证集与测试集对应时间共计3周,占训练集对应时间的30%左右。在训练集上使用交叉验证与网格搜索,进行初步调优,确定树的数量范围为50 ~ 100,最大树深为4,学习率为0.2,采样率为0.8;然后在验证集上进行测试,主要通过改变树的数量来确定最终测试集的参数。

3.1 预测模型输入参数选择

在以往针对建筑总负荷预测的研究1314中,人们主要采用上一时刻建筑总能耗、室外温度、室外相对湿度、日期、时刻、是否为工作日等作为模型参数。本文以围护结构逐时冷负荷作为研究对象,为研究不同维度参数对模型预测结果的影响,分别设置了4种特征组合,如表3所示。

表 3 特征组合 Table 3 Feature combination

对基于基准建筑模型的围护结构数据进行训练和预测。不同特征组合的模型预测结果的精度和拟合程度对比结果如图4所示,其中:RMSE 为均方根误差;MAE为平均绝对误差。

图 4 不同特征组合的模型预测效果对比 Fig.4 Prediction results of models with different feature combinations

图4可以看出,组合A的预测效果最差。随着特征维度的增加,预测效果逐渐提升。预测效果最优的为组合D。因此,本文以组合D作为模型的特征输入。

3.2 测试建筑围护结构逐时冷负荷预测结果及分析

基于基准建筑模型对测试建筑围护结构逐时冷负荷进行模拟。测试建筑参数如表4所示。

表 4 测试建筑参数 Table 4 Parameters of test building

首先得到测试建筑的围护结构负荷;然后采用差值拟合公式,将围护结构负荷转化为基准建筑模型的围护结构负荷。先基于基准建筑模型进行预测,再将结果转换为测试建筑围护结构负荷,即可针对不同建筑进行围护结构负荷预测。上海、杭州测试建筑围护结构逐时冷负荷预测如图5所示,其中:实际值为利用EnergyPlus软件模拟得到的结果;预测值为利用XGBoost预测模型得到的结果。

图 5 上海、杭州测试建筑围护结构逐时冷负荷预测 Fig.5 Hourly cooling load predictions for building envelopes in Shanghai and Hangzhou

图5可知,在大部分时间该模型有较好的预测效果,能模拟出围护结构负荷的逐时变化。这说明根据气象参数和基准建筑模型的围护结构负荷,就可对测试建筑围护结构逐时冷负荷进行预测,且预测结果具有一定的合理性。利用平均绝对误差MAE、平均绝对百分误差MAPE和决定系数R2,对XGBoost预测模型的预测性能作进一步评估1819

$ \qquad M_{{\mathrm{AE}}}=\dfrac{1}{m}\sum_{i=1}^{m}\left|{y}_{i}-{\hat{y}}_{i}\right| $ (14)
$ \qquad M_{{\mathrm{APE}}}=\dfrac{1}{m}\sum _{i=1}^{m}\left|\dfrac{{y}_{i}-{\hat{y}}_{i}}{{y}_{i}}\right| $ (15)
$ \qquad {R}^{2}=1-\dfrac{\displaystyle\sum_{i=1}^{m}({y}_{i}-{\hat{y}}_{i}{)}^{2}}{\displaystyle\sum_{i=1}^{m}({y}_{i}-\bar{y}{)}^{2}} $ (16)
$ \qquad \bar{y}=\dfrac{\displaystyle\sum_{i=1}^{m}{y}_{i}}{m} $ (17)

式中:$ m $为数据样本数量;$ \bar{y} $为逐时能耗平均值。

空调运行时对围护结构逐时冷负荷的实际值与预测值进行对比。训练集和测试集预测精度如表5所示。

表 5 训练集和测试集预测精度 Table 5 Prediction accuracy results on training and test sets

表5可知:测试集的精度和拟合度均略低于训练集,这说明该模型的泛化效果较好,未出现训练不足的问题;上海测试集和杭州测试集的精度和决定系数R2相近,这表明测试建筑在两个城市的测试集中均有较好的预测结果,均可反映围护结构逐时冷负荷的变化。

4 结论

建立基于基准建筑的XGBoost围护结构负荷预测模型,使用交叉验证、网格搜索的方法对参数进行初步调优,然后对不同特征组合的模型进行了测试。结果表明,特征组合D(基础版 + 天气情况 + 历史气象)的模型预测结果的精度和拟合度最优。将测试建筑作为模型预测对象,利用围护结构差值拟合公式实现测试建筑与基准建筑之间的转换,且采用特征组合D进行模拟得到的预测结果经转换后与利用EnergyPlus软件得到的模拟结果相近。研究表明基于基准建筑的XGBoost围护结构负荷预测模型可应用于夏热冬冷地区其他建筑的围护结构负荷预测。

参考文献
[1]
陈丹丹. 集中空调变水量水系统实时优化控制策略研究[D]. 上海: 上海交通大学, 2007.
[2]
徐忠义, 綦吉辉. 建筑暖通空调系统节能优化设计分析[J]. 居舍, 2023(19): 89-91.
[3]
DING Y, ZHANG Q, YUAN T H. Research on short-term and ultra-short-term cooling load prediction models for office buildings[J]. Energy and Buildings, 2017, 154: 254-267. DOI:10.1016/j.enbuild.2017.08.077
[4]
ZHANG L, WEN J, LI Y F, et al. A review of machine learning in building load prediction[J]. Applied Energy, 2021, 285: 116452. DOI:10.1016/j.apenergy.2021.116452
[5]
代业明, 周琼. 基于改进Bi-LSTM和XGBoost的电力负荷组合预测方法[J]. 上海理工大学学报, 2022, 44(2): 138-147.
[6]
贾鹏, 陈剑波, 王成武, 等. 基于能耗监管平台的现有医院空调系统运行节能优化[J]. 能源研究与信息, 2023, 39(2): 82-87.
[7]
SUN Y J, WANG S W, XIAO F. Development and validation of a simplified online cooling load prediction strategy for a super high-rise building in Hong Kong[J]. Energy Conversion and Management, 2013, 68: 20-27. DOI:10.1016/j.enconman.2013.01.002
[8]
WANG S W, MA Z J. Supervisory and optimal control of building HVAC systems: a review[J]. HVAC & R Research, 2008, 14(1): 3-32.
[9]
徐欣, 田喆. 天津市办公建筑供暖负荷中短期预测[J]. 暖通空调, 2016, 46(4): 50-54,11.
[10]
HU J F, ZHENG W D, ZHANG S R, et al. Thermal load prediction and operation optimization of office building with a zone-level artificial neural network and rule-based control[J]. Applied Energy, 2021, 300: 117429. DOI:10.1016/j.apenergy.2021.117429
[11]
李凯. 基于机器学习的短期建筑供热负荷预测[D]. 长春: 吉林大学, 2020.
[12]
杨胜维, 吴利瑞, 刘东. 基于随机森林的航站楼负荷预测及特征分析[J]. 建筑热能通风空调, 2021, 40(12): 1-6. DOI:10.3969/j.issn.1003-0344.2021.12.001
[13]
邸跃强. 建筑冷热负荷短期预测算法研究[D]. 天津: 天津大学, 2019.
[14]
高英博. 基于机器学习的建筑能耗预测方法研究[D]. 北京: 北京建筑大学, 2020.
[15]
WANG Z Y, WANG Y R, ZENG R C, et al. Random Forest based hourly building energy prediction[J]. Energy and Buildings, 2018, 171: 11-25. DOI:10.1016/j.enbuild.2018.04.008
[16]
杜洵, 马润川, 陈占虎, 等. 基于DeST和EnergyPlus的某被动式办公建筑能耗浅析[J]. 建设科技, 2022(16): 13-17.
[17]
陈振宇, 刘金波, 李晨, 等. 基于LSTM与XGBoost组合模型的超短期电力负荷预测[J]. 电网技术, 2020, 44(2): 614-620.
[18]
FAIZOLLAHZADEH ARDABILI S, MAHMOUDI A, MESRI GUNDOSHMIAN T. Modeling and simulation controlling system of HVAC using fuzzy and predictive (radial basis function, RBF) controllers[J]. Journal of Building Engineering, 2016, 6: 301-308. DOI:10.1016/j.jobe.2016.04.010
[19]
WU Z B, LI N P, PENG J Q, et al. Using an ensemble machine learning methodology-bagging to predict occupants’ thermal comfort in buildings[J]. Energy and Buildings, 2018, 173: 117-127. DOI:10.1016/j.enbuild.2018.05.031