APP下载

基于AP- BP神经网络的建筑能耗分析与预测

2020-10-11黄晓一楚纪正

关键词:质心能耗聚类

黄晓一 赵 田 楚纪正*

(1.北京化工大学 信息科学与技术学院,北京 100029; 2.北京航天飞行控制中心,北京 100094)

引 言

随着世界经济的飞速发展,对能源的需求量也急速增长。然而传统能源的利用效率比较低下,新能源还不能作为主要能源使用,且随着工业生产体系的日益完善和工业生产水平的日益提高,其中的节能潜力也变得越来越低。随着城乡一体化建设中大面积住宅建筑规划的兴起,住宅建筑能耗节约已成为国民经济发展的主要目标之一。目前,很多国家的建筑能耗占总能源使用的比例已达到40%,其中欧盟国家建筑能耗的二氧化碳排放量达到了欧盟二氧化碳排放总量的36%[1]。欧洲在实行2020年欧洲战略时,在建筑能耗方面制定了一系列节能减排的目标[2],同时东欧也面临着大量多户型公寓建筑恶化从而需要翻新带来的一系列建筑节能的问题[3]。美国在1996—2006年间,用电量以每年1.7%的速度上升,预计到2030年总增长率甚至可以达到26%[4],而其中建筑能源消耗占到了70%以上[5]。据统计,在我国商业能源消耗总量中,建筑能耗占25.5%且逐年增长[6]。在2004年,我国提出了《建筑节能测试和标签技术指南》,但是该指南很难全面地评估建筑能效[7]。

针对建筑能耗高、能效利用率低的问题,学者们研究了一系列建筑节能降耗的方法。Wang等[8]提出相变储能建筑围护结构,可更好地利用可再生能源,增加了室内温度的稳定性,提高了居住者的舒适度,同时又降低了建筑物的运行能耗。Guo等[9]通过实验发现仅对外墙和窗户采用节能措施,即可达到降低能耗25%的节能目标,此外,在保持室内舒适度的前提下墙体保温性能对建筑节能有较大的影响。近年来随着神经网络的发展和其自学习能力优势的显现,Rivard等[10]将两种自适应人工神经网络(ANN)模型应用于建筑能耗预测,通过累计训练和滑动窗口训练,发现二者在合成数据中有几乎相同的性能,但在实际测量的情况下滑动窗口技术有着更好的预测结果。意大利政府曾用人工神经网络算法对建筑的热需求指标进行预测和分析[11],香港政府也曾用人工神经网络算法对建筑的日常能源消耗进行预测[12]。一些研究人员用人工神经网络预测了建筑的冷负荷[13-14]、年总耗能[15]和相关建筑设施的能耗[16-17]。但传统的人工神经网络算法收敛速度较慢,而且会出现局部过拟合现象[18]。

本文提出了一种基于affinity propagation(AP)聚类的back propagation (BP)神经网络算法(AP- BP)用于预测和分析建筑能耗,以期为建筑管理者提供相应的节能建议。首先,通过AP聚类算法对影响建筑能耗的多维因素进行聚类分析,得到影响建筑能耗的主要因素,并作为BP神经网络的输入;然后,将建筑能耗指标热负荷和冷负荷作为BP神经网络的输出,建立建筑能耗分析与预测模型。通过均方根误差(RMSE)和平均相对泛化误差(ARGE)来衡量预测模型的训练和预测精确度,实验结果表明本文所提方法对能耗值的预测优于经典的BP神经网络,且通过建筑能耗输入输出的合理调整分配可实现节约能耗和能效的提高。

1 算法模型及构建

AP聚类不需要提前指定聚类个数,且能准确地找到主要影响特征,进而减少BP神经网络的输入,提高训练和泛化的精确度。

1.1 AP聚类算法

AP聚类算法属于无监督聚类算法[19-20],不需要提前指定聚类质心的个数,能够直接得到合适的聚类质心个数及位置。假设x为输入矩阵,其大小为n×m。首先对n个输入矩阵x进行聚类,得到输出矩阵为Z,大小为k×m,则k就是得到的聚类质心个数。AP聚类算法的具体步骤如下。

(1)数据归一化处理 将输入数据归一化到一个较小范围可以减小异常值的影响,有更好的迭代效果。常用的归一化公式为

(1)

式中,y为归一化后的矩阵,ymax与ymin则是规定好的归一化后的最大值和最小值。当xmax与xmin相等时,采用公式

y=ymin

(2)

为了使AP聚类算法有更好的聚类效果,选用ymax为0.9,ymin为0.1。

(2)构建相似度矩阵ss矩阵初始化为n×n的零矩阵。在相似度矩阵中两个数据点的相似度通常用欧氏距离的负值表示。s(i,j)(i=1,…,n;j=1,…,n)的值越小,则可以理解为点i与j的距离越远;两个数据点的相似度值可以理解为数据点j作为数据点i的聚类中心的能力。具体公式为

(3)

(3)设置参考度 参考度指的是相似度矩阵s中对角线上的值,即s(i,i)。相似度表示数据点i可以成为聚类质心的适合度,因此其值不取0。在迭代开始前默认所有数据点都有相同的潜在可能性成为聚类质心。设相似度矩阵中所有节点的相似度为其中位数值,则相似度矩阵中的参考度越大,起始数据点成为最终迭代出的质心的适合程度越高,进而导致最终质心的个数越多。本文中s(i,i)为所有值的中位数。

(4)设置阻尼系数 由于AP聚类算法在吸引信息矩阵和归属信息矩阵迭代过程中会引起数据震荡,所以设定阻尼系数(lam)。在迭代过程中吸引度矩阵中的值和归属度矩阵中的值为上一次迭代求得的吸引信息值或归属信息值的λ倍与此次迭代得到值的1-λ倍之和,则λ的取值范围为0~1,本文中lam值记为L,L的值为0.4。

(5)吸引信息矩阵(Responsibility)r和归属信息矩阵(Availability)ar(i,j)为两个数据点的吸引信息,即j成为i的聚类质心的适合度;a(i,j)则为两个点之间的归属信息,即i有意向选j作为i的质心的认可程度。使用式(4)可得出吸引信息矩阵

r(i,j)=s(i,j)-max{a(i,j′)+s(i,j′)}

(4)

式中,j′表示除当前j以外的其他点(j′=1,…,j-1,j+1,…,n);a(i,j′)+s(i,j′)得到数据点j′作为数据点i的质心的适合度。此时,在其他节点j′中,找出最大的a(i,j′)+s(i,j′),即max{a(i,j′)+s(i,j′)},再用s(i,j)-max{a(i,j′)+s(i,j′)} 得到j对i的吸引度。然后用阻尼系数将前一次计算得到的值与此次计算得到的值进行加权求和,最后得到此次迭代中的矩阵r

r=(1-L)r+Lrold

(5)

式中,rold为前一次迭代得到的矩阵r,初始化为零矩阵。

(6)归属度a(i,j)由式(6)得到

(6)

a(j,j)=∑max{0,r(i′,j)}

(7)

a=(1-L)a+Laold

(8)

若数据点j成为其余数据点i′(i′=1,…,j-1,j+1,…,n)的质心具有较高的适合度,则数据点j成为数据点i的质心的适合度也将提高,所以应该首先计算数据点j对其他数据点i′的吸引度r(i′,j),接着累计求和得到数据点j对其他数据点i′的吸引度

∑max{0,r(i′,j)}

(9)

在r(i′,j)和0中取较大的值是因为相似度矩阵s会初始化成负值,所以通过计算得出的r(i′,k)有一定概率是小于0的,这样处理更容易在完成全部计算过程后得到位置较好的聚类质心。

吸引度r(j,j)表示数据点j有多大概率不被归属到其他聚类质心下,其中将k作为其余数据点的聚类质心的适合程度为∑max{0,r(i′,j)}。不适合被归属到除自身以外的质心下的值表示为r(j,j)。两者相加最终的取值范围小于等于零,因为这样可以减小数值太大对最终结果产生的误差。最后直至迭代结束。

(7)筛选出适合成为聚类质心的点 将吸引度信息矩阵r与归属度信息矩阵a相加,取对角线的值大于0的点为聚类质心,得到最终结果。

根据上述算法过程的描述得到的AP聚类算法有以下特点:①在算法执行前可不指定聚类质心个数,由算法自动计算得到;②得到的簇中心一定可以在输入的原始数据集中找到,并不会生成新的数据点;③AP聚类算法对初始值不敏感,因为开始时默认所有数据点都有同样的概率成为聚类质心,所以运行多次得出的结果一致。

1.2 基于AP聚类的BP神经网络算法(AP- BP)

由于三层神经网络可以实现任意非线性映射[21],四层网络的结果比三层网络更易陷入局部极小点,且过多的网络节点会使网络的泛化能力减弱,网络预测能力下降,所以一个隐层的神经网络只需足够多的节点,就可以以任意精度逼近一个非线性函数[22]。因此本文采用三层前向神经网络,其典型的BP神经网络结构如图1所示,它包含1个输入层、1个输出层和1个隐含层。输入信号从输入层节点依次传过各隐含层节点,然后传到输出节点,每一层节点的输出只影响下一层节点的输出。

在图1中,输入向量X=(x1,x2,…,xi,…,xn)T,输入层到隐层之间的权值矩阵V=(v1,v2,…,vj,…,vm)T,隐含层到输出层之间的权值矩阵W=(w1,w2,…,wk,…,wl)T。

隐含层隶属度函数f(x)为sigmoid函数

(10)

这种函数输入参数可以是正负区间的任意值,在BP网络中,其输出值限定在0~1之间。

隐含层输出向量Y=(y1,y2,…,yj,…,ym)T,其中

yj=f(netj),j=1,2,…,m

(11)

(12)

输出层输出向量O=(o1,o2,…,ok,…,ol)T,其中

ok=f(netk),k=1,2,…,l

(13)

(14)

期望输出向量d=(d1,d2,…,dk,…,dl)T;设定期望误差为ξ,训练次数为T。

由于BP神经网络容易陷入局部最优,所以这里采用一种应用较为广泛的改进的BP学习算法,通过引入动量因子来减小学习过程的振荡趋势,改善收敛性,进而使BP算法找到更优的解。同时动量因子降低了网络对于误差曲面局部细节的敏感性,有效地抑制了网络陷入局部极小。

通常在BP网络中隐含层m的初始值可先由式(15)确定[23]

(15)

然后利用逐步增长法进行隐含层的选取,进而缩短训练时间。

改进的BP算法实现步骤如下:

1)通过式(16)计算期望输出和网络输出的误差值

(16)

2)将误差值展开到隐含层得到式(17)

(17)

3)将yj值展开到输入层得到式(18)

(18)

4)调整权值,使误差不断减小

(19)

(20)

式中,η为学习速率,即步长,取值在0~1。

(21)

(22)

式中,α为动量因子,一般取0≤α<1[5]。

W(t+1)=W(t)+ΔW

(23)

V(t+1)=V(t)+ΔV

(24)

5)如果E<ξ或训练次数t=T或权值达到要求则停止,否则转入步骤2)。

基于AP聚类的BP神经网络算法流程图如图2所示。对训练数据的网络输出矩阵O进行反归一化处理,得到最终的网络输出矩阵P,并且计算与期望输出矩阵Q的误差。用式(25)和式(26)分别计算训练数据的均方根误差ERMS和平均相对泛化误差EARG。

(25)

(26)

式中,N为训练数据总输出个数。式(26)中若期望输出为0,由于分母为0无意义,则只计算求和公式中的分子,忽略分母即可。可根据RMSE和ARGE对算法模型的拟合程度作出判断。

最后计算泛化数据的预测结果输出及其误差,即用泛化数据重复上一步计算训练误差,得出泛化数据的预测结果及误差。

2 实例分析

2.1 数据来源

本文使用的模拟建筑物数据是由Ecotect生成的输入不同的建筑物及室内外信息[24],主要特征包括墙壁的组成材料、地板的材料及厚度、屋顶材料、窗户材料以及模拟有7人居住。尽管模拟结果无法保证能够完全反映真实世界的实际数据,但可以较好地展示实际数据的占比变化和潜在趋势,从而实现建筑物的能效分析。该数据集一共包括315条样本数据,其中每条数据有8个输入变量和2个输出变量。数据集中的8个输入变量包括相对紧密度、表面积、墙面积、屋顶面积、总高度、房屋朝向、玻璃窗面积及玻璃窗面积分布。两个输出变量为住宅建筑的热负荷(HL,kW·h/(m3·a))和住宅建筑的冷负荷(CL,kW·h/(m3·a))[25]。具体的输入数据和输出数据的说明见表1。

表1 输入及输出数据说明Table 1 Data description of input and output

2.2 仿真结果

基于数据模型进行研究和对比分析,本文采用RMSE和ARGE来计算算法模型的输出结果与期望输出结果之间的拟合效果,其中包括244条训练数据,71条泛化数据,并且将本文提出的基于AP聚类的BP神经网络算法模型与经典的BP神经网络算法模型进行比较。

首先通过AP聚类算法对建筑主要输入进行聚类得到聚类结果如表2所示。

表2 AP聚类结果Table 2 Results of AP clustering

由表2可知,8个变量在经过AP聚类算法处理后得到了3个聚类中心分别为x1、x2、x8。这3个聚类中心将作为BP算法的输入变量,并且与不将8个变量进行AP聚类算法处理的BP方法进行比较。分别计算隐含层节点数为6、8、10、12、14时最终的期望值和预测值的误差,并找出最佳隐含层节点数。表3为训练数据和泛化数据的预测输出和期望输出的最终误差值。

在没有出现训练误差和泛化误差相差过多的过拟合的情况下,泛化误差是评价算法模型优劣的更重要的标准。由表3可知基于AP聚类的BP神经网络算法模型的误差值总体上要小于经典的BP神经网络算法模型。当隐含层节点数为10时,两个算法模型的误差均达到最小,而随着隐含层节点数增多,误差反而变大,说明出现过拟合现象,所以最终选择隐含层节点数10。图3是当隐含层节点数为10时的误差对比图。

表3 不同隐含层节点数时AP- BP和经典BP的最终误差值Table 3 Final error values of AP- BP and classical BP for different numbers of hidden layer nodes

由图3可看出,本文提出的基于AP聚类的BP神经网络算法模型的训练数据和泛化数据的RMSE和ARGE均要小于经典BP神经网络算法模型。进而基于AP- BP算法得到建筑能耗泛化数据的热负荷和冷负荷的预测输出和期望输出,如图4和图5所示。

从图4和图5可以看出,泛化数据的期望输出和预测输出拟合度均较高。该建筑第35个样本X1~X8的值分别0.76、661.6、416.5、122.5、7、4、0.1、2;而热负荷和冷负荷分别为33.12 kW·h/(m3·a)和34.17 kW·h/(m3·a),基于AP的BP神经网络预测值为36.02 kW·h/(m3·a)和35.47 kW·h/(m3·a),说明该时刻建筑未达到要求的热/冷需求,即该建筑为低负荷生产,能效较低。在以后生产中应该调整投入产出,提高能效。又如第4个样本中X1~X8的值分别0.98、514.5、294、110.25、7、3、0.25、4;而热负荷和冷负荷分别为28.55 kW·h/(m3·a)和29.59 kW·h/(m3·a),基于AP的BP神经网络预测值为28.85 kW·h/(m3·a)和30.5 kW·h/(m3·a),表明本月该建筑满负荷运行,在后续生产中该建筑可维持该生产状况。通过对建筑多输入和多输出预测建模,能够得到不同投入下不同的能耗情况,进而指导投入配置,提高能效。

3 结论

本文提出了一种基于AP聚类的BP神经网络算法(AP- BP)用于建筑能耗的分析与预测建模,并通过ARGE和RMSE对算法模型的预测能力进行评价分析。案例结果表明,基于AP聚类的BP神经网络算法对热负荷和冷负荷的预测能力明显强于经典的BP神经网络算法模型,同时能够准确地对建筑的热负荷和冷负荷进行预测,进而为建筑管理者提供建议,合理配置影响热负荷和冷负荷的投入因素,实现建筑能耗的节约,从而提高能效。下一步将继续对BP算法的改进进行研究,同时考虑极限学习机(ELM)等方法的改进并应用在建筑节能降耗领域。

猜你喜欢

质心能耗聚类
一种傅里叶域海量数据高速谱聚类方法
重型半挂汽车质量与质心位置估计
120t转炉降低工序能耗生产实践
能耗双控下,涨价潮再度来袭!
基于GNSS测量的天宫二号质心确定
一种改进K-means聚类的近邻传播最大最小距离算法
探讨如何设计零能耗住宅
AR-Grams:一种应用于网络舆情热点发现的文本聚类方法
巧求匀质圆弧的质心
日本先进的“零能耗住宅”