1. 引言
在经济高速发展的大趋势下,人们对高质量生活水平的追求越来越高,空调用电负荷逐渐成为电网负荷中非常重要的组成部分,特别是非工楼宇空调。2017年江苏省的最高用电负荷达到10,219万千瓦,其中空调负荷占比超过40%。随着社会经济的发展以及人们生活水平的不断提高,空调负荷占比还将继续上升。对非工楼宇空调负荷进行准确负荷预测,可以进行更加合理的需求响应,提高区域用电质量 [1] [2]。
国内外学者对电力负荷预测方法及空调用电负荷预测方法做了大量的研究,也得了许多研究成果。当前,学者们对空调负荷预测通常采用的方法包括:多元分析法、时序分析法、灰色理论法以及人工神经网络法。在空调负荷预测方面,Forrester等在1984年采用多元线性回归预测方法,对某大型商业建筑的短期用电负荷进行预测,取得了不错的效果 [3]。李爱旗,2006年对重庆市城镇住宅建筑室内热环境进行分析和负荷预测,但把未考虑因素当成固定因素,有一点局限性 [4]。谢艳群,2007年采用问卷调查对长沙市住宅建筑的冬、夏季室内环境和家庭能耗进行统计分析,使用多元线性分析法建立影响能耗的回归模型,并提出了一些住宅建筑节能措施,但存在数据分析方面的不足 [5]。Macarthur等人于1989年提出在线回归估计负载剖面预测的方法,指出温度和辐射的预测算法是简单和有效的,但存在预测精度不够准确的问题 [6]。何大四、张旭在2004年采用季节性指数平滑预测模型,根据空调负荷和温度之间的关系,对上海市某医学中心周内的空调用电负荷进行预测,实证表明季节性指数平滑预测模型不仅结构简单,同时在空调用电负荷方面有一定的效果 [7]。孙靖、程大章,2004年采用时间序列法对上海市某医学中心2002年的空调负荷进行预测,结果表明季节性时间序列模型结构不仅简单,预测精度也比较理想 [8]。孙光伟等人,1999年采用BP网络对某办公楼的空调负荷预测的建模方法进行研究,并对神经网络的输入进行了比较研究,结果表明,将前几天的负荷数据、日气象参数和预测目的特性作为网络输入时,预测精度最高 [9]。石磊等人在2003年采用人工神经网络模型,对西安市楼宇用电负荷进行预测,结果表明神经网络预测模型对楼宇冷负荷预测具有较强的适应性 [10]。王蕾等在2014年构建了基于粒子群与控制误差回馈的BP神经网络预测技术,其预测精度较BP神经网络和粒子群BP神经网络分别提高5.94%和0.82% [11]。在电力负荷预测方面,Vermaak和Botha在2002年将RNN用于短期负荷预测,实证表明RNN模型可以较好地捕获输入数据的特性,同时保留历史信息的影响 [12]。Marino等在2016年采用标准长短期记忆网络(LSTM)和S2S-LSTM对个人住宅的负荷进行预测,实证结果表明,相对于标准LSTM模型,S2S-LSTM在长期和短期预测方面均表现良好 [13]。
综合以上,不同学者在负荷预测方法的研究都有其各自的优势,但是其模型的应用也具有一定局限性。在对空调系统进行负荷预测时,选择合适的预测方法,不仅需要考虑预测的精准性,同时也要照顾到对象所在的背景条件。不同空调负荷预测模型所纳入的影响因子不同,决定空调运行采集端的测量点的部署,过多的测量点造成前期工程成本过大,同时其后期的软硬件的维护成本也会较高,给用户造成一定负担,给模型的应用性造成比较大的困难。
据此,本文提出一种基于MM-LSTM (多路多层LSTM网络)的非工楼宇中央空调负荷预测模型。在模型的输入端,采用多路LSTM对不同类型的影响因子进行处理,对多路输入进行合并后采用多层LSTM进行非工楼宇中央空调负荷预测,解决了单序列LSTM网络存在模型过拟合严重、泛化能力差等问题。
2. 长短期记忆网络(LSTM)原理
长短期记忆网络(LSTM)是一种改进的时间循环神经网络(RNN),LSTM由Hochreiter & Schmidhuber (1997)提出 [14],并由Alex Graves进行了改良和推广 [15] [16] [17]。LSTM可以学习时间序列长短期依赖信息,由于LSTM网络中包含时间记忆单元,因此适用于处理和预测时间序列。
2.1. 循环神经网络
循环神经网络(RNN)是一种改进的多层感知器网络(见图1),包括输入层、隐藏层、输出层,在隐藏层中有输入到下一时间隐藏层的连接。按时间展开后,可以发现当前时刻隐藏层的输入包括两部分,即当前时刻的输入层输入和上一时刻的隐藏层输入。
x是输入层,h是隐藏层,o为输出层;V、W、U是权值,同一类型的权连接权值相同。在前向传播过程中,当前层按照网络连接及权值对输入数据进行计算并输出到下一层,计算过程为:
(1)
(2)
式中
是在时刻t的输入层输入,
是在时刻t的隐藏层输入,b为隐藏层偏置,
为激活函数,
为t时刻的隐藏层输出和输出层输入,c为输出层偏置,
为t时刻输出层输出。循环神经网络计算过程中虽然加入了上一时刻的输入,但是随着时间的推移,后面节点对前面时间节点的感知能力下降,即存在RNN的梯度消失问题。
2.2. 长短期记忆网络
鉴于RNN只能对较短的时间序列数据进行记忆,引起梯度消失而导致预测模型失效。LSTM可以提供一种有效的解决方案,该网络通过传递转移函数来处理输入的时间序列,LSTM在保持RNN网络结构的基础上重新设计了隐藏层,相比于RNN,LSTM增加了细胞状态C (Cell State),输入门,遗忘门和输出门,细胞状态包含了历史信息,输入门决定隐藏层信息是否进行更新,遗忘门决定更新后的信息是否包含上一时刻的信息,输出门决定输出更新后信息的哪个部分,LSTM的隐藏层如图2所示。
LSTM隐藏层“门”由神经网络层(图中灰色部分,如sigmoid层和tan层)和运算操作(图中圆形和椭圆部分,如加法、乘法和tanh函数)构成;细胞状态保存了历史信息,代表了长期记忆;通过控制各种“门”删除或增加信息来更新节点状态。
2.2.1. 遗忘门
LSTM中的第一步是决定我们从细胞状态中舍弃什么信息,这个决定通过一个称为遗忘门完成,遗忘门计算过程为:
(3)
公式中
是在时刻t时的隐藏层输入(下同),
是在时刻t的输入层输入(下同),
是遗忘门偏置,
是遗忘门激活函数,
是遗忘门输出;遗忘门通过乘法运算,决定网络记住细胞状态的历史信息比例,激活函数
使输出结果在0到1之间,1表示“完全保留”,0表示“完全舍弃”。
2.2.2. 输入门
LSTM中的第二步是确定新信息被存放在细胞状态中,通过一个输入门来完成,这里包含两个部分,一是sigmoid层决定什么值我们将要更新,二是tanh层创建一个新的细胞状态候选值加入到状态中。遗忘门计算过程为:
(4)
(5)
公式中
为输入门sigmoid层偏置,
是输入门sigmoid层输出,
输入门tanh层偏置,
是输入门tanh层激活函数,
是输入门tanh层输出;输入门通过乘法运算得到
,即为新的细胞状态候选值。通过遗忘门舍弃部分历史信息和输入门新增新的信息,我们可以更新细胞状态,计算过程为:
(6)
2.2.3. 输出门
LSTM中的最后一步是确定输出信息,通过一个输出门来完成,首先要确定输出哪些内容,通过一个sigmoid层来完成,接着用tanh函数处理状态信息并将它和sigmoid层的输出相乘来确定输出的内容,输出门计算过程为:
(7)
(8)
公式中
为输出门sigmoid层偏置,
为输出门sigmoid层输出,
为输出门输出,也是时刻t时的隐藏层输出。
2.3. 多路多层LSTM
本文提出的MM-LSTM (多路多层LSTM网络)结构如下图3:
在本模型中,不同的影响因子组构成的两路输入序列,通过两个LSTM被编码为特征向量两路特征向量被Merge层组合在一起,输入到下一层的LSTM模型;在该模型中,我们将两路三层LSTM堆叠在一起,是该模型能够学习更高层次的时域特征表示。开始的两层LSTM返回其全部输出序列,而第三层LSTM只返回其输出序列的最后一步结果,从而其时域维度降低(即将输入序列转换为单个向量)。
3. 多路多层LSTM模型的空调负荷预测
根据使用空调负荷单序列数据训练LSTM网络预测空调负荷时,存在模型过拟合严重、泛化能力差等问题。为了解决此类问题,本文提出了利用多类型外部因子序列与多层LSTM相结合的方案,基于MM-LSTM模型的空调负荷预测模型。
3.1. 数据特征工程
3.1.1. 数据标准化
各指标值在标准化后都处于同一个数量级别上,让神经网络模型不同维度之间的特征在数值上有比较性,可以提高神经网络预测的准确性;另外,标准化还可以提升模型的收敛速度以及防止模型梯度爆炸。
1) 线性标准化
常用的线性标准化方法有Min-max标准化(极差标准化)和Z-score标准化(标准分数)。
a) Min-max标准化
Min-max标准化是对原始数据的线性变换,使结果落到[0, 1]区间,转换函数为:
;其中
为样本数据的最大值,
为样本数据的最小值;如果想要将数据映射到[−1, 1],则通过
进行转换;或近似值
,其中
为样本均值。这种方法有一个缺陷就是当有新数据加入时,可能导致
和
的变化,需要重新定义,否则映射值会超出设定区间。
b) Z-score标准化
Z-score标准化也叫标准差标准化,这种方法通过原始数据的均值和标准差进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转换函数为
,其中
为样本均值,
为样本标准差;Z-score标准化方法适用于样本的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。该种归一化方式要求原始数据的分布可以近似为高斯分布,否则归一化的效果会变得很差。
2) 非线性标准化
在处理非均匀分布的样本时,尤其是样本头尾局部集中数据的处理存在一定局限性,无法提升数据辨识性。刘学之等2008年提出了利用Logistic曲线函数的特性构建S型曲线模型,对数据进行非线性标准化处理,在不改变数据序列及整体分布的前提下对各数据点的取值进行非线性放缩,在将数据稠密的区间进行扩大的同时将数据稀疏的区间进行压缩 [18]。转换函数为
,经过Logistic函数将数据映射到[0, 1],其中
和
为待定系数,由样本中实际数据确定,确定方法如下:
a)
,即样本的中位数;
b)
,其中
,即为90%分位点到中位点的距离和10%分位点到中位点的距离的最小值。
3.1.2. One-Hot编码
神经网络模型是基于向量空间中的度量来进行计算的,为了使非偏序关系的变量取值不具有偏序性,并且到圆点是等距的。使用one-hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。将离散型特征使用one-hot编码,会让特征之间的距离计算更加合理。如工作日、节假日、风向等变量。
3.2. 数据集构建
模型前,将特征工程后的样本数据划分为训练样本集、验证样本集和测试样本集3个部分。其中,验证样本集的作用对训练后的网络进行评估。为了避免验证样本集过小或偶然性影响参数的调节和对模型的可靠评估,采取了K折交叉验证法进行验证。具体做法为:将数据划分为K个分区;然后,实例化K个相同的模型,对于每个模型,将K-1个分区作为其训练集,余下的1个分区作为验证集;最终,将K次结果的均值作为对算法误差的验证结果,本文K取4。
4. 算例分析
本文通过基于tensorflow的Keras深度学习库搭建神经网络算法平台进行模型训练和预测。以南京市某楼宇2017年5月~9月的数据作为研究样本,采用多路序列LSTM建立空调负荷预测模型,并进行负荷预测。将2017年5月~2018年9月23日作为模型训练和验证样本,2017年9月24日~30日样本模拟模型预测,查看模型效果。
为了验证模型的效果,将模型的结果与普通LSTM进行对比,输入变量的选择如表1中所述:
Table 1. Input characteristics of air conditioning load forecasting
表1. 空调负荷预测模型输入特征
本模型预测未来7天的空调负荷,将上表中的因子根据步长分成两组,一组为历史数据步长为历史的31期,一组为预测同步数据,为所需预测的时间同期数据7期;神经网络模型中第一层LSTM隐藏节点数即输出数据维度设定为两路输入数据数据维度的孰大值,四三层LSTM隐藏节点设定为100。为了减少过拟合对预测模型的影响,添加dropout正则化,dropout取值为0.2,激活函数采用tanh函数,损失函数选择平均绝对误差(mean absolute deviation, MAE)。
模型预测精度比较如下表2:
Table 2. Results comparison of MM-LSTM and LSTM
表2. MM-LSTM与LSTM所得结果的比较
由表中可知双路三层LSTM方法预测结果的预测精度高于LSTM方法。
5. 结语
本文通过对LSTM模型的剖析,得出其改进模型MM-LSTM模型。并且,使用MM-LSTM预测模型对非工楼宇空调用电负荷进行短期预测,得到了精度较高的预测结果。实测数据实验表明,MM-LSTM模型在适当的特征工程后,预测效果普遍优于一般LSTM网络的空调负荷预测方法,具有良好的预测精度。该方法可有效满足非工楼宇空调需求响应的需要,具有良好的实用价值。