基于特征选择算法的建筑能耗预测集成模型

2020-11-02 11:52杨执钧
计算机工程与设计 2020年10期
关键词:特征选择子集能耗

白 雪,刘 刚+,黄 蕾,钟 韬,乔 丹,杨执钧

(1.上海电力大学 自动化工程学院,上海 200090; 2.上海电力大学 图书馆,上海 200090)

0 引 言

在世界能源消耗和相关二氧化碳排放量中,建筑能耗占据着相当的比例。相关研究结果表明[1],建筑能能耗约占我国整体能耗的1/3,因此建筑节能管理变得尤为重要。研究者们自20世纪90年代早期开始开发建筑能耗预测仿真工具,这些仿真工具可以进一步划分为工程方法、智能算法以及混合方法3类[2],其中智能算法具有计算速度快、模型简单、学习能力强等优势,逐渐成为研究重点。

智能算法预测建筑能耗可分为使用单一学习算法进行预测和集成多种基础预测方法以提高预测精度的集成模型预测方法,其中集成模型提供了一种克服假设空间中表征性不足的方法,成为更好的选择[3,4]。与单一预测模型相比,集成预测方法具有更高的预测精度,成为近年来的研究热点。Fan等初步开发了基于数据挖掘的集成模型来预测第二天的能耗和峰值功率需求[5];周峰等建立基于支持向量机的大型公共建筑能耗预测模型,分析并预测建筑的逐日能耗[6];何春华等分别用人工神经网络中的前馈神经网络和物理原理建立预测模型,对两种方法进行评估后发现两种模型均适用且内部负荷对预测的影响更大[7];姚丽丽等通过建立一种基于BP神经网络的模型配置方法,创建可配置化的预测模型[8]。

在建筑能耗预测中,高维度的数据会导致算法运行性能以及准确性的降低,选择有效的特征子集能够优化集成模型的效果。本文提出一种基于随机森林特征选择算法的集成回归模型(RF-GBDT)建筑能源预测方法,利用随机森林特征选择算法选取分类正确率最高的特征子集作为数据集,建立集成模型并进行测试,实验结果表明,提出的RF-GBDT模型比传统集成模型性能有大幅提升。

1 模型建立

1.1 随机森林特征选择算法

随机森林(random forest,RF)算法由Breiman开发用于分类和回归问题[9]。RF已被证明非常适合处理高维问题方面,有良好的泛化性能[10]。

本文采用随机森林算法的变量重要性度量对特征进行排序,然后使用序列后向选择方法(sequential backward selection,SBS)从特征的全集开始搜索,每次从特征子集中去掉一个特征,选出分类准确率最高的特征子集作为集成模型的输入数据集。为验证分类性能,本文采用10折交叉验证法将数据集分为训练集和验证集。算法过程如下:

(1)输入完整的数据集S

1) 设置最大分类正确率TGMaxAcc=0

2) For(ft in N-2)

3) 将S随机划分为10等份

4) 设置局部最大分类准确率TLMaxAcc=0

5) 设置局部平均分类准确率

TLMeanAcc=0

6) 初始化10折交叉验证中每次迭代的分类准确率

TLAcc[1:10]=0

(2)For(i in 1:10)

1) 在S训练集上使用随机森林算法创建分类器

2) 在测试集上进行分类并比较结果,计算准确率TLAcc

3) TLMeanAcc=TLMeanAcc+TLAcc[i]/10

4) If(TLMaxAcc<=TLAcc[i])

则TLMaxAcc=TLAcc[i]

对特征按变量重要性排序得到FSort

5) If(TGMaxAcc<=TLMeanAcc)

则TGMaxAcc=TLMeanAcc

FGSort=MAS

6) 从MAS中去掉特征重要性得分最低的特征成为新的S

(3)输出分类准确率最高的特征子集MAS

其中ft代表循环变量,N为数据集中所有特征的个数

1.2 梯度提升决策树集成算法

基于基础算法的选择,集成预测模型可以进一步分为两种类型,即同构集成模型和异质集成模型,同构集成模型由一种算法对不同数据子集进行学习后集成,异构集成模型是不同算法对同一训练集学习后集成[11]。本文使用异构集成模型,选取6个常用机器学习算法作为基础算法进行集成。由于每种预测算法都有各自的优缺点,因此集成模型能够使基本模型互相补充,从而有助于提高泛化性能。

梯度提升决策树(gradient boosting decision tree,GBDT)是由Friedman提出并改进的集成学习算法[12],主要思想是基于之前建立的基学习器的损失函数的梯度下降方向来建立下一个新的基学习器,不断缩小损失函数,使得模型的回归预测性能不断提高。算法如下

(1)初始化弱学习器

(1)

输入训练样本T={((xi,yi)(i=1,2,…N))}最大迭代次数M,γ为使损失函数L最小化的常数,损失函数L选取平方误差损失函数

(2)

其中,yi为实际值,g(xi)为预测值。

(2)对迭代轮数m=1,2,…M有:

1)对每个样本i=1,2,…,N,计算负梯度

(3)

2)将上一步计算的数据(xi,γim)(i=1,2,…N,m=1,2,…M)作为下棵树的训练数据,得到一颗新的回归树fm(x),其对应的叶子节点区域为Rm,j,j=1,2,…J。其中J为回归树m的叶子节点的个数。

3)对叶子区域j=1,2,…,J计算最佳拟合值

γmj=argmin∑xi∈RmjL(yi,fm-1(xi)+γ)

(4)

4)更新强学习器

(5)

(3)得到强学习器f(x)

(6)

1.3 模型建立

本文使用基于随机森林的特征选择算法生成最优特征子集,然后采用梯度提升决策树算法(GBDT)建立的RF-GBDT集成回归模型流程如图1所示。

图1 RF-GBDT模型

2 实验设置

2.1 数据描述

本文选取某校园建筑两年的小时耗电量数据集,包括温度、湿度比、气压等环境特性、居住比特性等14个特征属性。表1是14个特征属性描述。

表1 特征属性描述

其中coshour将每个小时相对于一天内的时间量化为一个-1到1之间的数值,即

(7)

2.2 实验设置

本文通过对比使用原始数据集和以Pearson数据相关性以及随机森林两种特征选择方法选出的特征子集训练的3种集成模型的性能来验证RF-GBDT,使用python语言编程实现。

Pearson相关性的计算公式如下

(8)

集成模型选择6个常用机器算法作为基础算法,分别是MLR(多元线性回归)、LASSO(套索回归)、EN(弹性网络回归)、SVM(支持向量机)、KNN(K近邻算法)、CART(分类与回归树)其中MLR、LASSO、EN为线性算法,CART、SVM、KNN为非线性算法。

进行多次调参实验后,建立的模型相关参数如下:基础算法中的KNN经近邻个数为7,集成算法GBDT主要参数:弱学习器最大迭代次数为7370,每个弱学习器的步长为0.1,决策树深度为3,内部节点再划分所需最小样本数5,特征子集分为70%训练集和30%测试集。

2.3 性能评价指标

本文的评价指标使用均方根误差(root mean square error,RMSE)和决定系数(R-square,R2),两个指标的定义如式(9)、式(10)所示

RMSE

(9)

R2

(10)

3 实验结果与分析

使用Pearson相关性分析和随机森林特征选择算法从原始数据集中筛选出的特征子集见表2,可以看出无论是从数据相关性还是从特征重要性来看,用电量与时间点(coshour)和居住者行为的关系都相当密切,这与实际的生活情况也是相吻合的;开始测量和结束测量的时间点与用电量的数据Pearson相关性较低,但在使用随机森林算法进行特征选择时在所有数据特征中位居前列,这是因为其与时间点(coshour)密切相关。而外部环境因素中,光照、温度、压强、湿度对预测结果有着较大的影响。

表2 Pearson特征子集与MAS特征子集

分别将两种特征子集作为输入数据集所建立的集成模型的预测结果见表3,使用数据相关性较高的特征作为数据集时,得到的预测结果相比于全部特征的预测精度要低,而使用随机森林特征选择算法选出的特征子集(MAS)作为数据集进行预测所得到的预测结果精度要略高于其它两组。图2表示两个特征子集建立的集成模型的预测结果与实际值的对比,使用随机森林特征选择算法筛选出的MAS子集的模型的预测精度要明显高于基于Pearson相关性分析筛选出的特征子集。观察Pearson相关性分析子集的预测曲线发现其在某些时间段的较低能耗值的预测结果呈规律性的预测偏差,其原因与子集中的某些特征有关。

表3 不同特征数据集预测精度对比

图2 两种输入数据集的预测效果对比

为了进一步验证RF-GBDT模型的性能,本文通过实验对比了使用不同集成算法进行集成的模型的性能以及RF-GBDT模型中的基础算法在集成前后的性能,实验结果见表4、表5。相比随机森林(random forest,RF)和Adaboost集成算法,RF-GBDT模型的性能表现要优秀得多。预测结果显示RF-GBDT集成回归模型的性能要明显优于单一预测算法,而单一模型中SVM、KNN的表现优于MLR、LASSO、EN,可见建筑能源预测这一问题更多表现为非线性。集成后各基础算法的表现不一,且并不是所有的算法性能都得到了提高,相反,有些算法的精度反而下降了。

表4 集成算法优化性能对比

表5 基础算法性能对比

由表4、表5数据分析可得,集成后的RF-GBDT模型相比单一算法的预测RMSE平均减小了64.9%,R2平均提高了42.5%,预测性能有了大幅度的提升。集成前后单一算法的预测性能有小幅波动,LASSO、MLR等线性回归算法的性能普遍有所提升,而KNN、SVM等非线性算法的性能变化不大甚至略有下降,可见集成模型性能的优化并不是靠简单的提升单一算法预测精度来实现的。

4 结束语

本文提出一种基于随机森林特征选择算法的集成回归模型(RF-GBDT)建筑能源预测方法,使用基于随机森林的特征选择算法生成最优特征子集,采用梯度提升决策树算法集成6种基本算法,并采用该模型对某校园建筑两年的小时耗电量数据进行预测分析。实验结果表明,该集成回归模型精度不仅明显优于基本模型,且优于使用随机森林(random forest,RF)和Adaboost集成算法建立的集成回归模型。

利用神经网络模型,依据各算法预测精度来确定每个基本算法的权重并进行优化后集成,从而进一步提高集成算法的性能是下一步的研究内容。

猜你喜欢
特征选择子集能耗
120t转炉降低工序能耗生产实践
能耗双控下,涨价潮再度来袭!
拓扑空间中紧致子集的性质研究
探讨如何设计零能耗住宅
关于奇数阶二元子集的分离序列
日本先进的“零能耗住宅”
完全二部图K6,n(6≤n≤38)的点可区别E-全染色
Kmeans 应用与特征选择
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统