基于改进XGBoost超参数优化的地下工程空调系统负荷预测

2023-03-21 08:59冯增喜陈海越赵锦彤李诗妍
计算机与现代化 2023年1期
关键词:天牛决策树预测值

冯增喜,陈海越,王 涛,赵锦彤,李诗妍

(1.西安建筑科技大学建筑设备科学与工程学院,陕西 西安 710054;2.火箭军工程大学作战保障学院,陕西 西安 710025)

0 引 言

地下工程封闭运行时的保障资源有限,为最大化延长其运行时间,需最大程度节能。在地下工程中,通风空调系统的运行能耗占工程总能耗的比例高达50%~60%[1]。因此通风空调系统的节能效果对延长地下工程封闭运行时间具有重要作用。而准确的负荷预测对于实现地下工程空调系统的高效运行和能源优化分配、调度具有重要作用。

为提高负荷预测精度,基于机器学习的预测模型已成为专家学者们的研究热点,已有机器学习算法应用于各类预测问题。目前常用的机器学习算法有神经网络、支持向量机(Support Vector Machine,SVM)以及近年来新兴的XGBoost 等。神经网络具有非线性映射、自适应、容错性强等特点,已有专家学者将神经网络应用于交通运输调度与优化[2]、降雨量预测[3]、空调能耗预测[4]与优化控制[5]等领域,并取得了较好的预测结果。然而,影响地下工程空调系统负荷的因素多,且具有多扰量混合、多周期叠加的特点[6],若使用神经网络进行预测则会使网络结构复杂,从而导致训练速度慢[7-8],且神经网络要求输入数据具有典型性。支持向量机泛化能力强、实用性好且具有优异的分类性能,已有专家学者将其用于故障诊断[9-10]。但是SVM 算法的预测结果受核函数的选择影响较大[11],且核参数与惩罚参数的选取也较为复杂[12-13],除 此 之 外,SVM 存 在 参 数 寻 优 过 程 复杂[14-15]、收敛速度慢等问题[16]。

XGBoost 作为一种新兴的集成学习算法,可以避免上述问题。XGBoost 算法是对集成学习算法中较为常用的梯度提升算法的改进[17],调节参数少、运行速度快[18]、预测准确度高、结果稳定且具有很好的泛化性能[19]。Zhang 等[17]针对火箭储罐铝合金激光焊缝强度的回归预测问题,提出了一种基于RFPCAXGBoost 的预测模型。朱波等[20]将改进的XGBoost算法用于空调系统的故障诊断。以上针对XGBoost算法的应用均获得了良好的预测结果。本文提出一种基于天牛须搜索算法(Beetle Antennae Search,BAS)优化极限梯度提升算法(eXtreme Gradient Boosting,XGBoost)的负荷预测模型。

1 改进的XGBoost预测模型

1.1 XGBoost算法

XGBoost 算法属于可扩展机器学习系统[21],基于梯度下降理论,对损失函数进行了二阶泰勒级数展开,通过串行迭代的方法学习每个基评估器,迭代时通过对前一级基评估器的错分样本设置较大的权重来提升预测性能,以指导弱学习器的训练。同时,在目标函数中引入了正则项,解决容易过拟合的问题[22]。

XGBoost 中基评估器的迭代过程可表示为式(1)的形式:

其中,y^i(k+1)为第i个数据在经过k+1 个基评估器迭代之后的预测值,k表示基评估器的棵数,fk+1表示第k+1个基评估器的权重,xi表示第i个输入样本,η为基评估器迭代时的步长,又称学习率,其值越大,迭代速度越快,但设置过大则有可能无法收敛,设置过小则有可能运行缓慢,通常默认为0.3。

1.2 基评估器的选择

XGBoost 可选用多种基评估器,最常用的有线性回归模型、Additive Regression Trees(ART)以及决策树模型3 种。为确定具体选用何种基评估器,本节分别采用以上3 种模型建立XGBoost 预测模型,利用工程原始数据初步验证此3 种模型的性能。本文采用决定系数R2衡量训练后的模型在测试集上的预测效果,R2越接近1,则表明模型训练结果越好。

如图1 所示,采用决策树模型作为基评估器的XGBoost,其100次训练的效果最佳,决定系数R2约为0.8;采用ART 模型的XGBoost 训练结果则稍差,R2约为0.7 左右;而采用线性回归的XGBoost 训练效果最差,其R2仅在0.2 上下波动。根据以上结果,本文采用决策树作为基评估器建立XGBoost预测模型。

图1 3种基评估器训练效果对比

当XGBoost 算法采用决策树作为基评估器时,其目标函数可表示为以下损失函数和正则项的组合:

其中,l表示第i片叶子的损失函数,y^i(t-1)代表前t-1次迭代的预测值,Ω(fk)是第t次迭代的模型的正则项,γ和λ是正则项的系数,T为叶子节点个数,ω表示叶子节点上的样本权重。对式(2)进行泰勒展开可得:

其中,gi与hi分别为样本xi的一阶和二阶导数,ωj为第j个叶子的输出值,I为叶子值的样本子集。XGBoost的目标函数值越小,则生成的决策树分支结果越好[23]。

1.3 XGBoost参数的设置

XGBoost 算法调节参数少,其中决策树的棵数与树的最大深度2 个参数对其预测精度影响最大。本文利用工程的原始数据进行以下实验,以初步验证这2 个参数对模型的具体影响:设定树的最大深度为定值,改变决策树的棵数,观察决策树棵数变化对模型训练结果的影响;设定树的棵数为定值,改变树的最大深度,观察树的深度变化对模型训练结果的影响,结果如图2与图3所示。

图2 决策树数对模型的影响

由图2 和图3 可知,单独调节树的棵数或深度都会对模型的训练结果产生较大影响。当2 个参数设定值较小时,模型的训练结果均比较一般,随着设定值的增大,模型的R2迅速增加。但是,模型的R2在参数设定值到达一定程度后便不再有明显的增加,而是在一定范围内进行较大幅度的波动且无明显规律性。根据以上分析可知,由于模型的训练结果与参数的设定值并非严格的正相关,因此单纯地将参数设定值选得过大并不一定能够得到最佳的训练结果,而且实际建模时,需同时考虑2 个参数的影响。此外,若用于影响因素多、数据量大的预测问题时,参数设置过大会使得生成的模型结构复杂,则运行时间会大大增加,效率低下。

图3 树的深度对模型的影响

针对上述的调参局限性,本文拟采用寻优算法实现参数的自动寻优。

1.4 XGBoost超参数寻优

目前常用的参数寻优方法有网格搜索、随机搜索、粒子群算法等。网格搜索法将参数的所有可能取值组合进行遍历,再利用交叉验证评估效果。随机搜索选择每一个超参数的一个随机值的特定数量的随机组合,再分别对选出的每一种组合进行验证,最终选出最优超参数组合。文献[17,20]即采用网格搜索法确定XGBoost的最优超参数。而随着XGBoost算法参数取值范围的增加,此类需要对参数组合进行列举的寻优法的搜索时间会呈几何增长,效率不高。而粒子群算法适用于高维参数空间的寻优问题,本文拟寻优的参数只有2 个,若采用粒子群算法则容易浪费资源[24],无法最大程度发挥其优势。

为了对XGBoost 的超参数进行高效寻优,以获得最优超参数组合,提高模型预测精度,本文提出一种改进的天牛须搜索算法对XGBoost 的参数进行寻优。以某地下工程空调系统为研究对象,利用灰色关联度分析法剔除和空调负荷相关性低的输入变量,提高模型预测精度。

1.4.1 基本BAS算法

BAS是一种单体搜索算法,模拟了天牛利用触须觅食的行为[25],通过2根触须感知食物气味的浓度,并向着浓度强的一侧前进,通过迭代可找到食物的位置。

设n维搜索空间中的天牛位置表示为:

其中,l为天牛质心与触须的距离,d为单位随机向量。天牛根据2 只触须所感知到的触须浓度差判断食物的位置,并进行移动,则天牛在t+1 时刻的位置更新公式为:

其中,t表示迭代次数,δt为第t次迭代时的探索步长,sign为符号函数,f()为适应度函数。

1.4.2 BAS算法的改进

为了使天牛更快达到全局最优点,提高收敛速度,本文对基本BAS算法的位置更新机制和搜索步长进行改进,提出一种改进的BAS算法。

1)位置更新公式的改进。

为了使天牛能够更快接近全局最优点,利用多目标粒子群优化算法中的典型最优解引导机制对天牛的位置更新策略进行改进,改进后的位置更新公式如式(8)所示:

其中,Xbest为天牛的当前最优位置,k1为0 到1 之间的随机数。

2)搜索步长的改进。

由于天牛的迭代步长通常为一个固定常数,因此无法实现在搜索的前期扩大搜索范围并拥有较快的搜索速度,而在后期则能够实现精细化搜索。针对此问题,采用基于当前迭代次数的线性递减策略,对第t次迭代的步长根据公式(9)进行修正,从而实现动态调整探索步长,有助于提高BAS算法的收敛速度。

其中,δmax与δmin分别为最大与最小迭代步长,It与I分别为t时刻迭代次数与最大迭代次数。

1.5 基于改进BAS优化XGBoost超参数

相比于粒子群搜索算法、果蝇搜索算法等群智能搜索算法,BAS 算法仅由一只天牛对解空间进行搜索,原理简单、参数少、计算量少且不需要知道函数的具体信息[26],尤其适用于处理低维优化问题。因此,在构建预测模型时,利用本文所提出的改进BAS算法对XGBoost的2个超参数进行寻优,流程如图4所示。

图4 算法优化流程图

综上所述,本文建模的主要步骤为:

1)BAS 算法参数设定。确定BAS 算法的最大迭代次数、搜索步长、步长衰减系数,确定适应度函数。选取预测值与真实值的R2为适应度函数。

2)XGBoost 超参数范围设定,其中模型中决策树的棵数范围设置为1~200,树的最大深度范围设置为1~100。

3)根据公式(8)更新天牛位置。

4)计算当前位置的适应度函数值,更新并保存当前天牛的位置。

5)判断迭代是否终止,若达到迭代次数,则终止迭代,输出最优天牛的位置,否则转至步骤3,三维搜索空间中最优天牛位置的坐标即为2 个参数的最优值。

6)基于寻优得到的最优决策树个数与决策树深度建立XGBoost负荷预测模型。

7)输入测试集样本,输出负荷预测值。

2 实例分析

本文以某地下保障工程空调系统为研究对象,使用Python语言建立空调负荷预测模型,并基于该工程空调系统的运行数据进行分析。该地下工程空调系统设备包括通风机、空调、调温除湿机、转轮除湿机、移动除湿机、风管、风阀以及闭式冷却塔等,共有5 个集中空调系统保障分区,占地面积约为2800 m2。各个分区所需冷负荷由集中空调系统提供,再由风机送到各个分区。

2.1 输入变量的选取

本文采集了730 组6 月14 日到9 月14 日之间空调机组的逐时负荷数据。数据的变量分别为工程内部温度、上一时刻温度、上二时刻温度、湿球温度、上一时刻湿球温度、上二时刻湿球温度、冷冻水流量、冷冻水温差、冷却水温差、上一时刻空调冷负荷。在建立预测模型时选择其中的75%作为训练集用于训练预测模型,其余25%作为测试集用于验证所建立的预测模型的准确度。

对于机器学习模型来说,输入数据特征维数过高,则数据中的噪音会造成信息冗余和干扰,过低则无法反映数据的完整信息。因此本文在建立预测模型之前对数据进行灰色关联度分析,以剔除和空调负荷相关性低的变量,结果如表1所示。

表1 输入变量相关性

根据关联度分析结果,剔除上一时刻负荷、当前湿球温度、上一时刻湿球温度3个变量,保留其余7个变量用于建立负荷预测模型。

2.2 预测模型建立

为了分析改进后的BAS的寻优速度,将其与网格搜索、随机搜索以及常规BAS 算法进行比较,结果如表2所示。

表2 寻优速度对比

表2 中,网格搜索法由于需要对所有超参数的可能组合进行穷举计算,因此所花费的寻优时间最长,达到434.97 s;随机搜索仅需对特定数量的超参数随机组合进行寻优计算,无需遍历所有组合,因此寻优时间相比于网格搜索大大缩短,但仍远大于BAS算法的77.46 s与改进后的BAS的57.99 s。

算法的整个寻优过程共迭代100 次,迭代曲线如图5 所示,迭代时采用预测值与真实值之间的均方误差作为适应度函数,经过13 次迭代后达到最优点。2个参数的迭代曲线分别如图6和图7所示。由图中可看出,经过13次迭代,算法均寻优到了2个参数的全局最优值,其中最优决策树棵数为78,最优树深度为7。

图7 树的最大深度寻优曲线

2.3 预测结果分析

利用寻优得到的XGBoost 算法最优超参数组合建立预测模型进行训练,并与未寻优的XGBoost 预测模型进行对比。图8 给出了2 种模型分别进行100组测试的结果,从图中可以看出XGBoost 模型的R2在0.896~0.919 之间波动,而基于改进BAS 算法的XGBoost 模型的R2在0.917~0.934 之间进行波动。经过计算,XGBoost 模型100 组测试的R2平均值为0.913,改进的BAS-XGBoost 的R2平均值为0.929,经过改进后提高了约1.8%。

图8 改进前后R2对比

本文选择测试集中的40 组数据进行分析。图9为2 种模型在这40 组数据上的预测值与真实值对比曲线图。图10、图11 分别给出了2 种模型预测值和真实值的散点拟合图,图中的每个点以真实值为纵坐标值,以对应的预测值为横坐标值。从图中可直观看出,在测试集上改进的BAS-XGBoost 的预测点位相比于XGBoost 的更加逼近真实值。

图9 预测值与真实值曲线图

图10 XGBoost预测值与真实值拟合曲线

图11 改进的BAS-XGBoost预测值与真实值拟合曲线

表3给出了2种模型测试集预测值与对应的实际值。以均方误差与平均绝对误差为评价指标,通过对预测结果计算可知,改进BAS-XGBoost 模型预测结果与实际值的均方误差与平均绝对误差相比于XGBoost 模型均有显著的降低,具体结果如表4。很明显,无论是MSE,还是MAE,改进的BAS-XGBoost预测模型均大大优于XGBoost。

表3 实际值与预测值对比

表4 模型误差

3 结束语

本文以某地下工程空调系统为研究对象,提出了一种基于改进的BAS 优化XGBoost 算法的地下空间空调系统负荷预测模型。首先利用相关性分析筛选出对负荷影响较大的变量,再利用典型最优解引导机制与基于当前迭代次数的线性递减策略对BAS 进行改进,然后利用改进后的BAS 算法对XGBoost 算法的超参数进行寻优以获得其最佳参数组合,提升模型的预测精度。通过与未优化的预测模型对比,表明改进后的BAS 算法可成功搜索到XGBoost 算法的最优超参数组合,且寻优之后的模型预测精度相比于寻优前有了明显提升。后续研究应着眼于如何利用本文所提出的空调系统负荷预测模型指导空调节能化运行,让其按需供冷,以最大程度节约能源,延长地下工程封闭运行时间。

猜你喜欢
天牛决策树预测值
加拿大农业部下调2021/22年度油菜籽和小麦产量预测值
±800kV直流输电工程合成电场夏季实测值与预测值比对分析
天牛到底有多牛
法电再次修订2020年核发电量预测值
一种针对不均衡数据集的SVM决策树算法
黑黄花天牛
巨型昆虫——天牛
决策树和随机森林方法在管理决策中的应用
基于决策树的出租车乘客出行目的识别
天牛