时间卷积网络在热负荷预测中的应用
2023-02-27孟祥然张腾达
孟祥然, 李 琦, 张腾达
(内蒙古科技大学 信息工程学院, 内蒙古 包头 014000)
0 引 言
集中供热一直是中国北方地区主要供暖方式,具有节能、环保、经济等优点。但随着社会的进步,人们对于供暖的需求变得越来越严苛,在大多数情况下热量都不能按需供给,甚至会出现“热上加热”的情况,不仅会导致供热不均衡,还会造成资源浪费。
因此,对热力站进行优化控制显得尤为重要。针对如何获取、预测热负荷的问题,国内外学者们已进行了大量研究工作。如:文献[1]中通过MATLAB软件,分别建立小波神经网络与支持向量机热负荷预测模型来预测热负荷。文献[2]提出了基于NARX RNN的数据驱动长期热量预测模型,对建筑物进行长期的热负荷预测。文献[3]提出使用LSTM建立热力站系统控制模型。文献[4]使用浅层学习和深度学习预测建筑物冷负荷。文献[5]提出了使用BP神经网络预测热负荷值,使用LSTM建立热力站模型,通过DDPD网络最终优化热力站供水流量。文献[6]提出基于小波变换的长短期记忆神经网络(WTLSTM),解决短期负荷预测精度不高的问题。文献[7]提出了一种基于注意力LSTM的“换热站-热用户”的热负荷预测算法,得到非线性预测模型。
综上所述可以发现,数据在整个预测过程中起着至关重要的作用,因为建模训练时需要大量数据并且还要保证数据的真实可靠。为解决此问题,可采用拟合方法求得真实情况下的热负荷值;通过公式推导与室外温度建立关系来确定热负荷曲线趋势,再通过瞬时热量曲线得到供热面积来确定热负荷曲线的尺度,得到符合实际的热负荷数据。将得到的热负荷数据送入TCN网络,最终得到预测后的热负荷数据。
1 TCN算法原理
一直以来,循环神经网络[8](Recurrent Neural Networks,RNN)都是解决时间序列建模的首选方案,特别是当长短期记忆[9](Long Short-Term Memory,LSTM)的出现。但循环神经网络也存在不足之处,当输入的序列长度过大时,将会产生严重的梯度消失或爆炸问题。2018年,Bai等[10]使用时域卷积神经网络结构证明其在序列建模任务中也能表现出优异的性能。时间卷积网络(TCN)主要由相同输入和输出长度的残差块组成。与传统RNN相比,TCN的优势是:
(1)实现并行处理。给定输入时不必像RNN那样做顺序处理。
(2)感受野的灵活调整。TCN可以很轻易地改变感受野的大小,以此获得更多的输入。
(3)拥有较为稳定的梯度。RNN存在梯度消失和爆炸问题,但TCN基本不会出现。
TCN结构如图1所示,其主要由1×1的普通卷积、因果卷积、膨胀卷积和残差网络构成。膨胀卷积是在因果卷积的基础上改良得到,目的是为了减少因增减卷积感受野而不断扩大的卷积层数所带来的梯度消失、训练复杂等问题。在因果卷积中,上一卷积层t时刻的值,只能依赖于下一卷积层t时刻和t时刻之前的值。因此,因果卷积不能看到未来的数据,是单向的结构,所以其是一种严格的时间约束模型。但其存在一个致命的问题是:如果需要更长时间的输入特征,那么卷积层的层数将会变得异常庞大,导致训练复杂、拟合效果不好等问题。
针对这些问题,Bai等人提出了使用大小排列的扩张卷积增加感受野,通过改变扩张系数获得时间更长的输入特征。如图2所示。
图2 膨胀卷积结构
当扩张系数的输入大于原始输入时,对原始部分进行补0操作,如式(1)所示:
(1)
其中,d为展开系数;k为卷积核的大小;(s-d·i)用来确定采用的单位上层。
在膨胀卷积后,引入ReLU函数使其变为非线性;设置强制规范化规范隐含层输入,以此抵消梯度爆发的问题。为了防止过拟合,通过dropout引入正则化。由于输入与输出通道宽度不同,因此使用卷积调整张量的宽度,最终得到完整的TCN网络。
2 热负荷预测
2.1 数据来源
对热力站热负荷预测的前提条件就是要拥有充足、准确的数据。数据包括热负荷数据、室外风速数据和室外温度数据等。其中,室外温度和室外风速数据可通过中国气象局网站直接获取。热负荷数据因为具有干扰因素多、难以直接采集和计算公式复杂等特点,成为影响预测结果准确程度的一个重要因素。因此,能否得到接近于热负荷的序列数据对于热负荷预测结果的准确程度起着决定性的作用。针对上述问题,使用在热力站收集到的瞬时热量与热负荷之间建立联系,通过室外温度拟合热负荷曲线,用面积相等的方式计算出总供热量,使拟合的热负荷曲线面积与总供热量相等,最终得到较为准确的热负荷拟合曲线。
热力站瞬时热量数据采用某市2020年12月1~30日热力站瞬时热量数据,以小时为间隔采集数据。室外温度和风速也同样选择2020年12月份的数据。获取到的12月热力站瞬时热量曲线如图3所示。
图3 12月份热力站瞬时热量
2.2 数据预处理
由图3发现,瞬时热量曲线存在异常点,在12月3日上午九点处,瞬时热量为0,出现这种情况的原因多数是由于传感器采集时出现数据遗漏的情况,因此需要对数据中出现的异常点做删除、填补工作。利用程序将区间内的异常数据点去掉,使用nan代替后,应用Sklearn库中的SimpleImputer对缺失的数据进行填补处理,处理后的数据曲线如图4所示。处理完成后的瞬时热量数据,将对热负荷值的最终确定起至关重要的作用。
2.3 热负荷曲线拟合
经研究发现,影响热负荷变化因素较多,其中室外温度为最主要因素。找出室外温度与供暖热负荷、供暖设计热负荷之间的关系,即可得到室外温度与热负荷之间的关系,如式(2)所示:
Qn=α(tn-tw)
(2)
式中:tn为供暖室内计算温度,tw为变化室外温度,α为变化系数。
图4 预处理后热力站瞬时热量曲线
得到热负荷与室外温度的关系后,通过收集到的某市2020年12月1~30日的室外温度和供暖室内计算温度,可以得到一个如图5所示的拟合热负荷曲线图。
图5 初步拟合后的热力站热负荷数据
初步拟合后的热负荷数据虽然已经在趋势上达到真正热负荷的趋势,但在数据的尺度上并没有与真正的热负荷尺度达到一致。因此使用面积相等的方式,将预处理后的瞬时热量数据与初步拟合后的热负荷数据做积分,使两个面积相等,求出接近于真实热负荷尺度的曲线。由于瞬时热量曲线和热负荷曲线均由一个个单独的点组成,所以求曲线面积可以采用积分的方法求得。
首先,为每个曲线中两两相邻的数据构建函数f(x)=kx+b。初步拟合后的累计热负荷面积计算如式(3)所示,累计热量面积的计算如式(4)所示:
(3)
(4)
将公式做进一步整理如下:
(5)
(6)
对两式积分,使其相等,得到计算c值的公式如下:
(7)
通过计算,最终确定c=-38.55。因此,将初步拟合后的热负荷整体向下移动38.55后,得到最终的热负荷曲线如图6所示。
图6 最终拟合热负荷曲线
将热负荷数据与瞬时热量对比(如图7所示)发现,在12月7日下午15点,热负荷达到了最低值,此时温度达到最高,热力站向各个热用户所供应的热量应为最低值。但真实瞬时热量值并不是最低值,这是因为热力站的特性以及未有合理的优化指导所导致的。基于此,使用TCN对热负荷进行精准预测,则可以提前对影响热力站供热量的参数进行调整,实现按需供热并减少资源的浪费。
图7 拟合热负荷与瞬时热量对比曲线
2.4 数据归一化
神经网络的输入数据包括热负荷数据、室外风速数据和室外温度数据。针对不同数据之间的尺度可能存在不同的问题,需要对数据做归一化操作。使用“线性归一化”方法对数据缩放后,不同数量级的数据将会满足N(0,1)的分布。
将处理后的数据集以9∶1的比例划分为训练集和测试集。其中,训练集用来训练神经网络,达到更高的精度,测试集则用来判断神经网络预测的精确程度。
2.5 评价指标
评价指标是用来评估机器学习算法模型的性能。对于回归问题来说,评价指标通常采用平均绝对误差(MAE)、均方误差(MSE)、根均方误差(RMSE)、决定系数(R2)等。本文使用平均绝对误差(MAE)、根均方误差(RMSE)、平均绝对百分比(MAPE)作为评价指标。
2.6 预测模型
热力站模型设置为多输入单输出系统,如图8所示。
图8 热力站网络模型
其中,输入到模型中的参量包括当前时刻的热力站热负荷值、当前时刻的室外温度、当前时刻的风速和下一时刻的室外温度,输出为下一时刻的热负荷值。
基于TCN的热负荷预测模型如图9所示。使用tensorflow搭建模型,在原有TCN结构的基础上增加了6个残差块,并且将每个残差块中膨胀卷积的膨胀系数做调整,每一个残差块中的膨胀系数按2的次幂数不断累加。上一个残差块的输出数据作为下一时刻残差块的输入数据,直到输入到最终的残差块,将输出预测值。
图9 TCN模型
模型数据以24小时为一个时间周期,因此Time_step的数据为24,输入数据的格式为[28,24,4]。通过实验得到,当超参数设置为表1中的数值时,TCN模型可以得到最佳的输出结果。
表1 TCN模型超参数设置
2.7 实验及对比
将处理好的数据输入TCN模型中,最终得到的测试集24小时的结果如图10所示。该模型的预测值与真实值的变化趋势一致。
图10 TCN测试集预测结果
分别使用BP和LSTM神经网络模型对该时间段预测,最终得到的3种网络模型预测图和误差图如图11、图12所示。
图11 测试集算法对比
图12 算法误差对比图
由图11、图12可知,在相同输入数据的条件下,TCN算法相对误差在1%以内,比BP、LSTM预测更准确。
评价指标对比结果见表2。通过表2可以发现,TCN在MAE、RMSE和MAPE这3个评价指标中,相比LSTM和BP神经网络要小很多,证明TCN在热负荷预测中更准确,所得到的热负荷预测数据能更好的指导热力站供热量的供给大小。
表2 算法评价指标对比
3 结束语
针对区域集中供热中经常出现的供热不均衡所导致的资源浪费的问题,对热力站的热负荷进行短期预测。由于热负荷具有难收集、干扰多等特点,通过拟合的方式,使热负荷值与室外温度建立数学联系,使用面积相等的方法确定热负荷的尺度大小,最终获得较为准确的热负荷数据。将拟合后的热负荷、室外温度以及风速值输入到tensorflow创建的TCN神经网络模型中预测热力站短期热负荷。通过对比试验证明,相较于其它神经网络模型,TCN模型在短期热负荷预测中更准确。后续将继续对热负荷数据优化,加入其它影响因素拟合数据,使热负荷数据更加接近真实值。为热力站供热量按需分配提供可靠的数据来源。