王梓涵 于忠清
摘要:针对LSTM神经网络模型的计算量较大,不可控的自主选择过程以及容易过拟合等问题,提出了TCK-LSTM-ATT模型,利用卷积核对数据特征进行提取合并,采用注意力机制对重要数据进行加权的组合模型方法。为了验证该模型对于供水量预测的准确性,利用中国东北某市2019年到2020年的某供水管网系统供水数据进行验证。实验结果表明,与普通模型相比,组合模型的预测误差减少约20%,R2值约为9.5,取得了较好的预测效果。
关键词:供水量预测;长短时循环记忆网络;卷积核;注意力机制
中图分类号:TP183;TV241 文献标志码:A
随着信息技术不断发展,近年来水利信息化已经成为了重要课题,其中,城市用水量是一个城市进行水资源规划,实施供水调度决策、保障管网系统正常运行、同时降低供水成本的重要数据。因此,提供准确数据,并预测一个城市未来一段时间内的用水趋势是水利部门进行科学决策的前提。传统预测方法主要指通过对时间序列本身进行数学建模的预测方法,包括利用修匀技术的指数平滑法和移动平均法、将时间序列拆分成四种趋势的组合模型法、建立多元线性回归模型的自回归积分滑动平均模型(ARIMA)等时间序列预测模型方法。这些方法的特点是数学建模简单,易于使用,但是因为现实数据往往有较大的噪声混淆,模型不能很好的拟合数据,且精度低,泛化差[1-2]。近年来人工智能与大数据技术的兴起,使得利用机器学习算法特别是神经网络方法,直接从数据中学习规律进行预测越来越受到学术界的关注。目前,循环神经网络(RNN)的改进方案长短时记忆神经网络(LSTM)在预测时间序列相关的问题上具有较多的应用。针对日供水预测这一业务的需求特点,研究了在利用LSTM将用水量作为单一模型特征的输入时能够有效保证用水量预测的可靠性和稳定性[3];利用双向LSTM模型预测某供水管网15 min的需水量实验,表明预测模型的建立应当考虑水量这一特征的周期性与趋势性,并且在特征的精度方面做出提高可以获得更好的效果[4];对LSTM模型加入Encoder-Decoder编码,解决了利于多特征预测城市用水量问题,使在复杂因素影响下研究城市短期需水量成为了可能[5]。通过相关的前序研究,总结出使用LSTM模型进行用水量预测时需要考虑的影响因素:在多特征复杂条件下的预测需要抽取能够影响预测的重要特征并向量化表达,并且在输入特征时保证时间序列内特征能够反映出其趋势性与周期性。传统的LSTM模型有一些固有缺陷:由于模型拟合的参数变多,会导致计算量的变大; LSTM模型本身对数据准确性的依赖性较高;循环神经网络在特征量较少时容易过拟合[6]。基于此,提出了一种基于LSTM的组合改进模型,首先利用时间卷积核(Temporal convolution kernel)进行特征提取,增强数据的有效利用;再将特征数据输入LSTM模型,通过注意力机制(Attention)对数据分配权重并学习重要的数据,解决信息超载导致的计算资源分配不平衡等问题,以提升模型效率,这种结构被称为TCK-LSTM-ATT集成模型。TCK-LSTM-ATT集成模型能够很好地适应不同特征数下的预测情景。通过利用某市的实际数据,与普通的LSTM等模型形成对照试验,实验结果表明此种预测方法具有较高的预测精度和稳定性,是一种有效的预测方法。
1研究方法
1.1 LSTM神经网络模型
Hochreiter等[7]于1997年提出了模拟人脑记忆机制的长短时循环记忆网络(LSTM)模型来解决RNN模型中由于在串行模式下导致的训練时梯度消失的问题[8-9]。LSTM特点是在隐藏层节点中加入门控机制构成独特的神经元结构,典型LSTM神经元结构,如图1所示。
其中,Wf、Wi、Wc、Wo分别为遗忘门、输入门、细胞状态和输出门的权重矩阵。ht-1为上一层隐藏状态的信息,Ct-1为上一层细胞状态,Xt为本层输入信息。
(1)遗忘门:遗忘门体现了对过往历史信息的学习程度与能力。sigmod函数输出值介于0和1之间,越靠近0意味着信息的遗忘,越靠近1意味着信息会被神经元记忆
ft=sigmod(Wfht-1,Xt+bf)(1)
(2)输入门:输入门体现了记忆模块的选择性,通过利用非线性函数决定部分信息的存储。it的值会决定历史信息中被更新的部分,新的侯选值向量Ct决定保存哪些信息
it=sigmod(Wiht-1,Xt+bi)(2)
Ct=sigmodWcht-1,Xt+bc(3)
更新记忆模块状态,得到新的细胞状态Ct
Ct=ft*Ct-1+it*Ct (4)
(3)输出门:输出门的作用是对记忆模块本身的更新,即对隐藏层参数的更新,这种更新包含了对历史信息的选择性学习和选择性保存。
最后新的细胞状态与新的隐藏状态通过运算,将最终信息传递到下一个时间步长中
Ot=sigmodWcht-1,Xt+bo(5)
ht=Ot*tanhCt(6)
LSTM模型通过sigmod函数的特性提高了模型对信息的选择能力,并且有效缓解了RNN中反向传播梯度时的梯度消失问题,提供了解决问题的一种可靠的方法。
1.2 时间卷积核
卷积神经网络(CNN)是神经网络的代表模型之一[10-11],利用卷积核(convolution kernel)这种特殊算子提取数据的局部特征,卷积核可以应用于处理文本类型的一维数据问题。时间卷积核是时间卷积网络(TCN)中一维卷积的变体膨胀卷积[12]。膨胀卷积的结构如图2所示。
时间卷积核将膨胀卷积应用于供水量预测问题,在其基础上,进行了多通道以及变长滑动窗口的改进,使得膨胀卷积能够用于多变量的时间序列预测,实现利用卷积捕获可变信号的模式。
1.3 注意力机制
注意力机制最早应用于序列到序列(seq2seq)模型,用以解决该模型在应用于机器翻译时,由于句子太长而导致遗忘信息的问题[13]。在TCK-LSTM-ATT模型中,注意力机制被应用于LSTM模型学习用水量规律的过程中,通过权重赋予对输出时刻的水量与历史数据的特征进行关联,从而突出特征对输出数据的影响性,增大数据学习的有效性。
2 模型构造
2.1 组合模型原理
本文提出的TCK-LSTM-ATT组合模型是一种综合考虑了时间序列数据特点的预测模型,先由同大小但空窗数不同的一维卷积相互堆叠,形成时间卷积核,时间卷积核有如下特点:在单一特征中,越上层的卷积空洞越大,且输出层为全连接层,这使得上层每一个包含数据的神经元节点都必然包含下层大量的数据;在处理多特征的数据时,时间卷积核将不同的特征做类似于图像中RGB多通道处理,再将通道合并以此来节省计算资源。
在时间卷积处理完毕后,LSTM神经网络便可接收由大量数据重新编排之后的抽象数据,此时模型多次迭代后学习到的结果更为抽象化,因此加入了注意力机制,通过权重赋予将输出结果与输入的时间步进行关联,以此来保证LSTM模型确实的学习到了数据中存在的规律,并提高LSTM模型的学习效率。
2.2 组合模型详细构造过程
TCK-LSTM-ATT神经网络模型如图3所示。
(1)图3中①的灰色矩形表示为“卷积空窗”,时间卷积利用多层不同空窗大小的一维卷积相互堆叠进行特征提取。“卷积空窗”即是在数据的排列中用0作为数据进行填充。相比传统的深度学习网络中使用的降采样提取特征的方法,使用“卷积空窗”可以在降低计算成本的同时增加单元上的感受野,同时还不需要改变卷积核的大小。
(2)图3中②表示时间卷积的第二部分,即将多特征按照空间上下排列,形成可操作的图像通道,再利用卷积进行特征合并,其优点在于合并后的抽象特征数降低,能够减少LSTM神经元的运算资源。设卷积核F=(f1,f2,…,fk),k为卷积核的窗口大小,即代表了一组长度为k的序列与卷积核算子进行运算;序列H(i)=(hi1,hi2,…,hiT),i为多特征序列的第i维特征,T为时间步长度;
(3)基于此,TCK卷积核的使用步骤如下:使用多个可设置窗口大小的时间卷积分别对不同的特征维度进行特征提取并用填充方法使得提取后的特征序列尺寸相同,之后按照多通道的方式对多维特征进行合并
F*dHhit=∑Kk=1fkhit-K-kdi=1,…,p(7)
F1Hihi=∏pk=1,i=1fkhi(8)
其中,卷积核F=(f1,f2,…,fk)的膨胀因子d在不同的隐藏层按照2的倍数递进。F1为多通道的一维卷积,窗口大小即为特征数p,hi为第i维特征提取后的数值。
(4)图3中③表示LSTM神经网络模型的数据构造,LSTM有称为“时间步”(time_steps)的参数,表示在一次输入输出内,记忆单元的更新次数。因此设定LSTM的输出长度与时间步一致,均为T,表示LSTM输入向量为x=[d(t-T),…,d(t)],输出向量为y=d(T),此时代表了该模型会按照前T个时刻的数据进行非线性拟合,从而在拟合曲线中预测到第T个数据。在TCK-LSTM-ATT模型中,LSTM神经网络的输入并非是原始数据,而是经过图3中②的时间卷积核高度抽象之后的数据,原始数据通常伴有非常多的冗余且特征不明显,在经过卷积运算之后,能够将具有潜在规律性的数据提炼出来,以这样的抽象数据输入神经网络模型,不仅可以方便模型更好地学习到其中的规律,而且数据量比原始数据少也能够减少计算量。
(5)图3中④表示注意力機制(ATT),在TCK-LSTM-ATT模型中,假设有序列H=(h1,h2,…,hT)表示为卷积合并之后输入LSTM得到的隐藏层时间序列,该序列为第T个时间步的最终输出状态,则在Attention机制中有αi=aligh(hi,H)表示最终输出与之前每个时间步状态的相关性,即为权重。αi的求解
α1,…,αT=softmaxVTαtanhWαsi-1+Uαhji,j=1,…,T(9)
其中,Wα,Vα,Uα均为与权重αi相关的参数矩阵,softmax函数使得输出结果维持在0到1的区间范围内。在得到权重后,实际上体现了LSTM模型的隐藏层序列中不同结果的重要程度,通过张量运算点乘权重αi与输出序列H可以令输出的结果获得重要性权重,之后在下一轮LSTM的学习中便会令数据的规律性结果更进一步地体现。
(6)图3中⑤表示将最后一层LSTM神经网络的输出结果展平成一维张量的形式,并与个数为1的输出层神经元进行全连接,通过一层感知机运算输出最终结果。
3 案例分析
3.1 用水量相关因素分析及数据处理
城市用水量受到多种因素影响,除了温度、湿度、气压等自然影响因素外,还包括城市经济发展水平、人口规模、节假日等社会因素,以及随机性扰动等因素[14]。城市供水量往往与当地气象呈现出某种相关趋势,考虑同一个季节之内每天的气温波动变化大致相同,因而将每时刻的气温选为特征变量之一,使得数据呈现出周期性,对于突然温差变化较大导致的居民用水量影响则作为扰动性的噪声数据。
在与城市用水量相关的社会因素中,将节假日信息作为特征变量,在具体数据处理时将工作日标记为1,周末非工作日以及节日标记为0,以此来体现不同时间城市居民的人员流动对供水的影响。不同的特征因为量纲不同,因此为保证输出数据的一致性,实验前对数据集进行归一化操作。
从中国东北某市某自来水管网系统获取了从2018年9月—2020年9月按照每1 h采集的供水量数据。将无效采集数据清除后共得到16 920条数据作为作为数据集,在数据集中适当加入噪声因子,噪声服从标准正态分布,最终选取5 000条数据作为测试集。输入数据的长度应尽可能保留时间序列的周期趋势,选取输入数据长度为24,即保留居民用水量24 h,预测当前时刻开始的未来1 h的水量数据。部分实际数据如图4所示。
居民用水量在某一個范围区间内呈现规律性,而在区间之外有个别相差过大的数据,对此类数据判别为扰动性的突发事件导致,不作处理。
3.2 实验环境搭建
本实验使用Python作为开发语言,使用TensorFlow和Keras搭建神经网络模型框架,表1和表2列出TCK-LSTM-ATT组合模型以及对照实验组的超参数取值范围。
3.3 评估指标
对于回归模型通常使用以下评价指标作为模型预测结果的评估标准,分别是均方根误差(RMSE),平均绝对误差(MAE),平均绝对百分比误差(MAPE)以及R2(确定系数)值
RMSE= 1m∑mi=1yi-yi2(10)
MAE=1m∑mi=1yi-yi (11)
MAPE=1m∑mi=1yi-yiyi×100%(12)
R2=∑mi=1yi-y-2∑mi=1yi-y-2(13)
本实验以普通RNN,LSTM,双向LSTM(BiLSTM),带注意力机制的LSTM(LSTM-ATT)和时间卷积网络(TCN)为对照组,在相同的实验环境下,得到模型的预测评估指标。除此之外,模型的泛化能力也应在实验中得到检验。因此将测试集按照不同的数量分为100,2 000,5 000的实验,根据评价指标的变动体现模型的泛化能力。
3.4 消融实验验证特征影响
本实验共有四个特征,分别为某市居民的用水量,当地的气温,用电量与日期信息(包括工作日与节假日),首先利用消融实验验证每个特征与模型输出既用水量之间的相关性,通过评估指标的值进行相互比较,在建立对比实验时,需保证实验环境的一致性:模型的输入集一致,所用模型均为TCK-LSTM-ATT模型。由于特征一即用水量本身即是输入变量同时也是输出变量,因此假设实验结果中特征一的误差最小,表3为消融实验结果。
实验结果符合预测,用水量作为特征输入神经网络时即是输入变量又是输出变量,因此可以看作是单特征的时序预测,其结果符合用水量需求预测可靠性和稳定性的需求。根据实验结果,气温差异与用电需求对用水需求的影响较大,可反推出该市的地理特征与城市类型,与实际情况相符。日期信息与用水需求的相关性不明显,推测可能与该市居民的生活习惯相关。
根据以上实验可以判断选取特征与输出变量的相关性,同时证明了单特征时序预测的精确度仍不足以满足实际用水量需求预测的需要,因此进行多特征时序预测实验,并通过对比试验验证TCK-LSTM-ATT模型的精确度。
3.5 实验预测结果
图5为排除5 000条测试集后,剩余的数据作为训练集和验证集放入神经网络模型的训练结果,根据训练过程中的误差趋势可以看出在迭代40次时,损失函数已经有了较大程度收敛,且不存在过拟合的现象。图6为测试集数据在放入神经网络模型后所得出的预测值与真实值的比对,在此模型下预测值的拟合程度接近真实值,TCK-LSTM-ATT模型的预测误差在允许范围之内。表4为横向评估TCK-LSTM-ATT模型与其他模型的预测能力,根据评价指标的显示,TCK-LSTM-ATT模型在同类模型中拥有较好的预测精度与泛化能力。
4 结论
在预测案例中,TCK-LSTM-ATT模型利用卷积核的方式对数据特征进行选择提取与合并,相比传统的循环类神经网络具有更高的数据利用率,是预测城市供水量的有效方法,在后续工作中,应当继续考虑与预测变量有关的决定性特征,并且对特征进行更细致的处理,如实验中的日期信息可以精确到具体的星期数;并且在模型中可以选择添加扰动噪声而非将扰动因素看作错误数据剔除,以模拟在日常用水中出现的特殊情况,提高模型对于特殊数据的适应性。
参考文献
[1]张雅君, 刘全胜, 冯萃敏. 多元线性回归分析在北京城市生活需水量预测中的应用[J]. 给水排水, 2003(4): 26-29.
[2]练庭宏, 刘秋娟, 王景成. 基于ARIMA时序辨识的需水量预测[J]. 控制工程, 2008(S1): 162-164.
[3]苟非洲, 程玉婷. 基于长短期记忆网络的日供水量预测方法研究[J]. 中国给水排水, 2019, 35(17): 79-83.
[4]郭冠呈, 刘书明, 李俊禹, 等. 基于双向长短时神经网络的水量预测方法研究[J]. 给水排水, 2018, 54(3): 123-126.
[5]张薇薇, 赵平伟, 王景成. 基于长短时神经网络的城市需水量预测应用[J]. 净水技术, 2019, 38(S1): 257-260+286.
[6]彭湃, 刘敏. 基于Prophet-LSTM组合模型的短期负荷预测方法[J/OL]. 电力系统及其自动化学报: 1-9[2021-03-21]. https://doi.org/10.19635/j.cnki.csu-epsa.000705.
[7]HOCHREITER S,SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[8]HOCHREITER S. The vanishing gradient problem during learning recurrent neural nets and problem solutions[J]. International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, 1998, 6(2): 107-116.
[9]GRAVES A. Supervised sequence labelling with recurrent neural networks[M]. Berlin: Springer, Heidelberg, 2012.
[10]GOODFELLOW I, BENGIO Y, COURVILLE A. Deep learning[M]. Massachusetts: MIT Press, 2016.
[11]GU J X, WANG Z H, KUEN J, et al. Recent advances in convolutional neural networks[J]. Pattern Recognition, 2015, 77: 354-377.
[12]LAHA A, RAYKAR V. An empirical evaluation of various deep learning architectures for Bi-sequence classification tasks[J/OL].[2021-3-21]https://www.researchgate.net/publication/305401346, 2016.
[13]LUONG M T, PHAM H, MANNING C D. Effective approaches to attention-based neural machine translation[J/OL]. Computer Ence, 2015. [2021-3-21]https://arxiv.org/pdf/1508.04025.pdf
[14]徐瑾, 赵涛. 城市生活需水量预测中智能算法的应用研究[J]. 中国给水排水, 2012, 28(21): 66-68.
Prediction of Urban Water Consumption Based on TCK-LSTM-ATT Model
WANG Zi-han, YU Zhong-qing
(College of Computer Science and Technology Qingdao University, Qingdao 266071, China)
Abstract:
Aiming at the problems of large amount of calculation, uncontrollable independent selection process and easy over fitting of LSTM, a combined model method is proposed. The model uses convolution to extract features and merge features, uses attention mechanism to weight important data. The model is called TCK-LSTM-ATT model. In order to verify the accuracy of this model in water supply prediction, the water supply data of a urban water supply network system in Northeast China from 2019 to 2020 are used for verification. Compared with the ordinary model, the prediction error of this model is reduced by about 20%, and the R2 value is about 9.5. It is considered that a good prediction effect is achieved in the experiment.
Keywords:
water supply forecast; long short-term memory; convolution kernel; attention mechanism
收稿日期:2021-09-13
基金项目:
山东省重点研发计划(批准号:2019JZZY020101)资助。
通信作者:
于忠清,男,博士,研究員,主要研究方向为工业大数据,智能制造,工业节能与优化控制。E-mail:haiersoft@163.com
2825501186235