基于支持向量机的建筑能耗预测研究
2019-06-20侯博文谭泽汉陈焕新孙劭波龚麒鉴
侯博文,谭泽汉,陈焕新*,孙劭波,龚麒鉴
(1-华中科技大学能源与动力工程学院,湖北武汉 430074;2-空调设备及系统运行节能国家重点实验室,广东珠海 517907)
0 引言
随着人们对建筑室内环境与舒适度要求的逐步提高,在未来一段时间,我国公共建筑的能源消耗将呈现出进一步上升的趋势[1],虽然我国公共建筑能耗水平低于欧美发达国家,但是大型公共建筑的高能耗水平已经与欧美发达国家接近,因而对我国公共建筑进行能耗预测并试图降低建筑能耗是一个重要的任务[2]。目前部分现有的商业建筑的错误控制策略可能造成设备故障,或者降低设备15%~ 30%的效率[3]。美国能源技术实验室指出,只通过先进的建筑能源控制策略,便可降低美国2010年能源需求量的 1/4以上[4]。研究表明,建筑能耗是世界能源消耗总量很大的一部分,发达国家的建筑能耗占比达到总能耗的 30%~40%,例如,美国和欧洲的建筑能耗分别占能源消费量的 39%和40%[5],而我国建筑能耗的占比也达到了 29%,这个比例也会随着我国高层建筑数量的增加而提高。
近年来,基于数据驱动的建筑能耗预测研究越来越广泛[6]。KADIR等[7]使用机器学习算法(包括支持向量机、人工神经网络、决策树和其他统计算法)的数据驱动型建筑能耗预测研究进行了回顾。ZHAO等[8]将建筑能耗预测方法分为复杂的工程方法、简化的工程方法、统计方法、基于人工神经网络的方法、基于SVM的方法和灰色模型;并从模型的复杂性、易用性、运行速度、所需投入和准确性等方面进行了比较分析。CHENG等[9]提出了一种基于数据驱动方法的通用的数据挖掘框架,阐述了在建筑空调系统内故障诊断的研究步骤。LI等[10]分别采用BP神经网络、RBF神经网络、GRNN神经网络以及支持向量机对同一住宅的年总能耗量进行预测,结果表明,支持向量机预测模型相对于其他3个模型来说,预测精度最高。FUMO等[11]总结了各种研究提出的建筑能耗预测方法,并强调了对建模所用的模型校准和验证以及对天气数据的审查。
本文采用支持向量机算法建立能耗预测模型,并通过向量间的相关性分析,重要性排序选取最优特征向量,并采用交叉验证、网格搜索等方法进行参数寻优来优化预测模型,采用平均绝对误差(MAE)、平均根误差(RMSE)和平均绝对百分比误差(MAPE)作为模型评价的指标。
1 建筑数据来源
本文采用的建筑能耗数据来自河南省新乡市某一政府办公建筑,建筑总面积达25,000 m2。水源热泵系统是冬季供暖的主要设施,可以给室内提供良好舒适的工作环境。水源热泵系统主要由潜水泵、旋流除砂器、冷水机组、空调末端设备和循环泵 5个部分组成,供暖时的水源热泵系统结构如图1所示[12]。潜水泵一般安装在水源内,用于提取浅层的地下水,旋流除砂器主要过滤地下水中的泥沙。冷水机组是水源热泵系统中的重要一环,由蒸发器、压缩机、冷凝器和膨胀阀4部分组成。冷却水经冷凝器通过供水管道分配给建筑内的各个末端设备,整个过程由循环泵来提供动力。
图1 水源热泵系统图
数据采集系统是获取数据的来源,本次课题在选取建筑物的水源热泵系统上安装了许多传感器,这些传感器汇集了关键参数数据,并将所有数据存储在建筑物实时监测系统中,数据以5 min的间隔同时记录。课题选用的数据为建筑物2016年11月23日至12月22日一整个月的供暖气象数据,并对数据进行了异常值的检测和剔除,选取其中的7个特征向量和输出用电量作为本次分析数据,7个特征向量分别为天气温度、天气湿度、室外风速、室外风向、光照强度、辐射强度和室外综合温度。数据特征如表1所示。
2 支持向量机原理与优化理论
2.1 支持向量机
支持向量机是一种基于内核的机器学习算法,可以用于回归和分类,该算法即使在相对较少的训练数据下也能很好地解决非线性问题。支持向量机对于解决非线性、高维度以及局部极小点等问题上有着突出的优势,能在很大程度上提高模型预测的准确性,具有良好的应用价值。对于训练样本[13]:
式中:
T——训练样本;
x——训练样本的输入;
y——训练样本的输出。
假设输入x与y之间的函数关系为f(x)=WTx+b,其中W为权重系数向量,b为偏置项。拟合函数得到的回归预测值与实际输出值之间存在一定的误差,当误差较小时,这个误差可以被接受。理想的状态是,所有的训练数据都能够落在以ε为半径的区域内,ε为允许误差,当误差小于ε时,误差忽略不计;误差超过ε时,超出的部分就要受到惩罚。对该问题进行优化,为保证优化问题有解,引入拉格朗日函数并求解,得到支持向量机的回归函数为:
2.2 模型优化理论
2.2.1 相关性分析
Pearson相关系数、Speraman相关系数是最常用的两种相关性系数的算法,本文目的是进行建筑的能耗预测,在此选用Pearson相关系数来说明变量之间的关系,具体公式如下所示:
式中,r为两个变量之间的相关性系数,N为数据中样本的个数,Xi和Yi为两个不同属性列的第i个样本值,SX和SY为X和Y列的标准差。
如果两列间的相关性系数较大,就意味着两个变量之间有着较大的线性关系,根据具体情况将其中的一个变量剔除。
2.2.2 重要性排序
通过特征选择将高维空间的样本用映射或者是变换的方式转换到低维空间,达到降维的目的;然后通过特征选取删除冗余和不相关的特征来进一步降维[14],以获得尽可能小的特征子集,不显著降低预测精度,获得较好的预测结果。
通过重要性分析进行特征选择有两个目标[15]:一是找到对输出变量影响程度较大的变量,二是选出数目较少的特征变量并能较好地预测输出变量。
2.2.3 参数寻优
非惩罚因子C和核函数参数g对基于支持向量机的能耗预测模型的预测结果有着很大的影响。本文采用交叉验证和网格搜索的方法来进行参数寻优过程,以获得最佳的模型参数。
交叉验证是指在给定的建模样本中,拿出大部分样本进行模型的构建,留小部分样本用刚建立的模型进行预测,能够防止模型过拟合,本文采用十折交叉验证的方法。
网格搜索法的基本原理[16]是让C和g在一定的范围内划分网格并遍历网格内所有点进行取值,在每一组C和g的取值下训练模型,计算每组模型的均方根误差,选取最终使得测试集预测效果最好的那组C和g的值作为最佳的参数。
2.3 模型评价指标
平均绝对误差(MAE)、平均根误差(RMSE)和平均绝对百分比误差(MAPE)3个指标作为能耗预测模型的评价指标,具体公式如下所示:
式中,n为样本数据的个数,Yi为第i个样本的实际值,为第i个样本的预测值。
2.4 基于支持向量机的能耗预测模型
图2为基于支持向量机的能耗预测模型的流程图[17],主要由3部分组成。
1)数据预处理:将原始数据中的异常值剔除,并对数据进行归一化处理;
2)模型的建立:将剔除异常值后的数据按照3:1的比例分为训练集和测试集,将训练集中的数据输入到支持向量机模型中;
3)模型的优化:通过相关性分析,重要性排序选取最优特征向量,并采用交叉验证、网格搜索等方法进行参数寻优来优化预测模型。
3 结果分析
3.1 相关性分析
本文计算了两两变量之间的相关性系数,为了更好地展示效果,将其放入表格中进行分析,如表2所示。表中的数字大小代表着两变量之间的相关性系数,数字越大就表示两个变量之间的相关性越大。值得注意的是,对角线上的数字均为 1,这表明变量与自身之间的相关性系数为1。以表2中天气温度与第7列对应变量,即天气温度与室外综合温度之间的相关性系数为0.59,呈正相关;天气湿度与第3列对应变量,即天气湿度与室外风速之间的相关性系数为-0.41,称负相关。
从表2中可以看出部分向量之间存在高度的线性相关,本文将相关性系数大于0.80的认为是高线性相关,并将其在表格中将数字加粗,由表2可以看出辐射强度与光照强度、辐射强度与室外综合温度、光照强度与室外综合温度之间存在较高的线性相关,在此将辐射强度与室外综合温度这两个特征变量剔除掉,选取室外风速、天气温度、光照强度、室外风向、天气湿度这5个变量作为模型的特征向量,此时变量之间就不存在两两之间相关性系数过高的结果。
3.2 重要性排序
图3为能耗预测模型中向量的重要性排序,从图3可以看出室外风速、天气温度、光照强度这3个特征向量对输出向量的影响程度较大,3个变量加起来的相关性系数达到0.80,而室外风向和天气湿度这两个向量对输出向量的影响程度较小。所有变量的重要度比例是按照总和为1来进行分配的。
图2 基于SVM的能耗预测模型流程图
图3 特征向量重要性排序图
3.3 参数寻优
根据前期探索与尝试,将惩罚因子C的范围定为(2-2,29),核函数参数 g的范围定为(2-5,26),使C和g都在2的指数范围内进行交叉验证,这样一共产生144种C和g的组合。
在基于支持向量机的能耗预测模型[18]中进行网格搜索时,可能会得到多组的C和g的值都能使训练的模型具有较高的预测精度,遇到这种选取参数的问题,原则是选取参数较小的一组。因为过大的C的取值会使模型在进行预测时出现过拟合的状态,造成数据在训练集内的预测精度很高,而在测试集中的数据进行测试时会出现预测精度很低的现象,即预测模型出现泛化性较低的现象。在参数寻优的实际过程中,为了使预测模型达到准确度最优的结果,往往选取成对的较小的C和g的值[19-20]。最终得到最优的参数是惩罚因子C为32,核函数参数g为0.5。
3.4 模型预测结果
得到优化后的能耗预测模型,命名为 SVR-B,得到预测值与实际值的散点图如图4所示。图中实线代表预测值与实际值完全拟合,上下两条虚线代表与实际值误差为10%,即为实际值的90%和实际值的110%。同时计算SVR-B模型的误差,平均绝对误差MAE为3.97,均方根误差RMSE为6.09,平均绝对百分比误差MAPE为0.40。
将优化前后的模型预测结果进行对比,优化前的能耗预测模型命名为 SVR-A,SVR-A模型的预测结果如图5所示。
通过图4和图5的对比,可以看出优化后的能耗模型预测结果精度更高。本文计算了 SVR-A模型和 SVR-B模型的误差评价指标:平均绝对误差(MAE)、平均根误差(RMSE)和平均绝对百分比误差(MAPE),如表 3所示,SVR-B模型的 3个指标相比于SVR-A模型的3个指标都有了大幅度的降低,模型的预测效果有较大程度的提升。MAE由之前的8.01降为最后的3.97,降低幅度为50.44%;RMSE由原来的12.61降为最后的6.09,降低幅度为51.70%;MAPE由原来的4.88%降为最终的0.40%,降低幅度为91.80%。
图5 基于SVR-A模型的能耗预测结果
表3 模型评价指标对比表
4 结论
本文通过构建基于支持向量机的能耗预测模型来对建筑进行能耗预测,对比了实际测量值与模型预测值,并对能耗模型进行了优化,计算了相应的模型评价指标,得到结论如下:
1)经过优化后的支持向量机模型预测性能得到改善,平均绝对误差由之前的 8.01降为最后的3.97,均方根误差由原来的12.61降为最后的6.09,平均绝对百分比误差由原来的 4.88%降为最终的0.40%;
2)本文将预测结果与测量值进行了对比,发现用电量低于15 kWh的数据预测能力不理想,分析原因认为未对开停机时的数据给予足够重视。