基于双向长短时神经网络的水量预测方法研究
短期需水量预测作为供水管网智能调度的基础, 通过需水量预测进而对水泵进行优化调度来降低能耗, 确保供水管网安全、稳定、优质、经济的运行, 同时, 也为城镇供水管网分区计量管理提供了依据, 例如基于流量的漏失在线预警、基于需水量预测的DMA爆管检测[1]等。所以, 需水量预测对于自来水公司具有巨大的现实意义与经济利益。
目前, 国内外大部分研究所采用的需水量预测方法可以分为两类, 一类是传统方法, 例如线性回归模型[2]和时间序列模型[3], 这类模型结构简单、计算负荷低, 便于在实际生产过程中应用。但这类方法也存在预测精度低、模型泛化能力差的问题, 尤其是对于一些需水量变化较大的地区;另外一类方法是数据挖掘, 采用先进的数据分析方法, 深入挖掘不同时间段需水量数据之间的隐含关系, 从而提高预测模型的稳定性与可靠性。例如支持向量回归模型[4]、人工神经网络模型[5]、随机森林模型等[6]。
深度学习是目前的研究热点, 但把深度学习应用在需水量预测方面的研究较少, 为了进一步提高需水量预测模型的效果, 本文尝试采用深度学习的方法预测需水量, 搭建了双向长短时记忆循环神经网络模型 (Bidirectional long short term memory network, Bi-LSTM) 预测常州市某DMA的15min需水量, 并和传统人工神经网络模型 (Artificial neural network, ANN) 作比较。
1 研究方法
1.1 需水量影响因素分析
对不同预测周期的需水量预测, 影响因素也不相同。长期或者中期需水量预测应该考虑城市经济发展水平、人口规模、工业生产能力、节水技术的应用以及水价等因素。短期需水量预测, 尤其是小时或者每天的需水量预测, 应该考虑预测时前一段时间的需水量、天气状况、节假日还是工作日等因素。
对于15min需水量预测而言, 温度、风速、降水量等天气因素的影响并不明显, 而且对于大部分供水企业来说, 并不具备采集相关气象数据的能力, 尤其是时间间隔较短的气象数据。从实际生产角度出发, 历史需水量数据是大部分供水企业能够收集到的最可靠的数据, 把需水量作为单一的模型输入无疑增加了模型的稳定性和可靠性[7]。考虑到需水量变化具有趋势性和周期性, 需要提取不同时段的需水量输入模型。
1.2 预测方法
深度学习的概念由Hinton等[8]2006年提出, 它是一种多层表示学习方法, 用简单的非线性模块构建而成, 这些模块将上一层表示 (由原始数据开始) 转化为更高层、更抽象的表示。深度神经网络有许多隐含层, 每层网络都有不同的功能, 可以进行非线性变换或卷积操作。而ANN一般只有3层结构, 输入层、隐含层和输出层。
1.2.1 长短时记忆单元
长短时记忆网络 (LSTM) 是在经典循环神经网络的基础上发展而来的, 由Hochreiter等[9]1997年提出。这种网络的特点在于利用记忆模块代替普通的隐含节点, 确保梯度在传递跨越很多时间步骤之后不会消失或爆炸, 从而克服传统循环神经网络训练中遇到的困难。图1a所示为长短时记忆单元的结构, 在时刻t的计算过程如式 (1) ~式 (6) 所示[10]:

式中ht表示记忆细胞的输出;gt、it、ft、ot分别表示输入挤压单元、输入门单元、遗忘门单元、输出门单元;Wxg、Whg、Wxi、Whi、Wxf、Whf、Wxo、Who是有关的权值矩阵;bg、bi、bf、bo分别表示记忆块、输入门单元、遗忘门单元和输出门单元的偏置;⊙表示阿达马积;σ表示sigmoid激活函数;tan表示tan激活函数。
1.2.2 双向长短时记忆循环神经网络模型
双向循环神经网络[11]是循环神经网络的一个变种。双向循环神经网络与标准循环神经网络的区别在于, 标准循环神经网络在t时刻的状态只与过去时刻 (t-1, t-2, …, 0) 的状态有关, 而双向循环神经网络在t时刻的状态不仅与过去时刻 (t-1, t-2, …, 0) 有关, 还与未来时刻 (t+1, t+2, …, T) 的状态有关。以长短时记忆单元为基础搭建Bi-LSTM模型, 把双向循环神经网络中的隐含层节点换为长短时记忆单元。如图1b所示, 按3个时间尺度把时间抽划为三部分, 分别提取不同时间段的需水量输入到对应的Bi-LSTM层中, 这些网络层对输入的需水量数据进行非线性变换, 产生对过去需水量的记忆状态, 并建立不同时间段需水量之间的依赖关系。然后按张量串联的方式连接一个合并层, 合并层把不同时间段的需水量信息整合起来, 获取需水量周期性变化规律。之后串联m个 (m≥2) 全连接层进一步对数据规模进行不同程度的缩放和变换 (线性变换、非线性变换均可) , 从而提高模型处理非线性数据的能力, 最后连接一个输出层, 输出需水量预测值。
1.2.3 模型评价指标
本文采用了4种不同的评价指标作为模型预测结果评估标准。它们分别是平均绝对误差 (Mean Absolute Error, MAE) , 平均绝对百分比误差 (Mean Absolute Percentage Error, MAPE) , 均方根误差 (Root Mean Square Error, RMSE) , 纳什模型效率指数 (Nash-Sutcliffe Model Efficiency, NSE) , 见式 (7) ~式 (10) 。纳什模型效率指数越接近1说明说明模型越稳定, 表现越好。

式中Yi———观测值;

2 案例研究
2.1 数据特征
从自来水公司获取常州市某供水管网DMA从2016年2月1日~2017年1月30日每15min (采集频率为4次/h) 的需水量数据。以2016年2月1日~12月31日的数据作为训练样本和验证样本, 2017年1月1~31日的数据作为测试样本。其中, 训练集有22 500个样本, 验证集有2 500个样本, 测试集有2 500个样本。
2.2 模型输入
考虑到需水量变化的趋势性, 我们提取t时刻前5个时刻的需水量, 即Qt-1~Qt-5;考虑到需水量变化的周期性, 我们分别提取前两天对应t时刻以及t时刻前后2个时刻的需水量, 即Qt-94~Qt-98和Qt-190~Qt-194, 见表1。
2.3 结果对比分析
表2为测试集在模型上的表现, 分析结果表明, Bi-LSTM模型的预测精度和预测结果的稳定性都要高于ANN模型, 采用深度学习的方法确实提高了模型的预测效果。
为了更加全面地评估模型预测效果, 绘制了相对误差分布直方图, 如图2所示。Bi-LSTM模型的相对误差分布更集中, 图形“窄”而“高”, 而ANN模型的误差分布较为“发散”, 说明ANN模型预测结果的稳定性较差。Bi-LSTM模型有76.1%的样本的相对误差在±0.03内;91.2%的样本的相对误差在±0.05内。而ANN模型有51.4%的样本的相对误差在±0.03内;74.0%的样本的相对误差在±0.05内。深度神经网络模型在预测需水量方面的表现明显优于普通人工神经网络模型。一方面是因为深度神经网络模型具有“深层”结构, 可以对数据进行复杂变换和映射, 有较强的处理非线性数据的能力, 能够发现数据之间的隐含关系;另外一方面是因为网络中具有特殊记忆模块LSTM, 它们能够确保梯度在传递跨越很多时间步骤之后不会消失或爆炸。同时, 它们还能够建立不同时间段需水量数据之间的相互依赖关系, 这种依赖关系对于预测需水量是十分重要的。
从数据集中随机选取3天, 分别预测这3天的需水量变化曲线, 如图3所示。从图中可以发现, Bi-LSTM模型的预测曲线和真实曲线非常接近, 而ANN模型的预测曲线和真实曲线有一定差距, 尤其在一些用水量波动比较大的时间段, 例如每天的12:00和18:00。在这些需水量变化的“拐点”处, ANN模型的预测精度和模型稳定性较差, 所以对于一些需水量波动较大的区域, 可以优先考虑使用Bi-LSTM模型进行需水量预测。
3 小结
本文搭建了双向长短时记忆循环神经网络模型预测常州市某供水管网DMA 15min的需水量。得出以下结论: (1) Bi-LSTM模型的预测精度高、稳定性好、收敛速度快, 预测效果优于ANN模型。 (2) 对于一些需水量波动较大的区域, 可以优先采用深度学习的方法预测需水量。
参考文献
[2] 张雅君, 刘全胜, 冯萃敏.多元线性回归分析在北京城市生活需水量预测中的应用.给水排水, 2003, 29 (4) :26~29
[3] 练庭宏, 刘秋娟, 王景成.基于ARIMA时序辨识的需水量预测.控制工程, 2008, (S1) :162~164
[4] Braun M, Bernard T, Piller O, et al.24-hours demand forecasting based on SARIMA and support vector machines.Procedia Engineering, 2014, 89:926~933
[5] 徐瑾, 赵涛.城市生活需水量预测中智能算法的应用研究.中国给水排水, 2012, (21) :66~68
[6] 王盼, 陆宝宏, 张瀚文, 等.基于随机森林模型的需水预测模型及其应用.水资源保护, 2014, (1) :34~37
[7] Bakker M, Vreeburg J, Schagen K, et al.A fully adaptive forecasting model for short-term drinking water demand.Environmental Modelling&Software, 2013, 48:141~151
[8] Hinton G E, Salakhutdinov R R.Reducing the dimensionality of data with neural networks.Science, 2006, 313:504~507
[9] Hochreiter S, Schmidhuber J.Long short-term memory.Neural Computation, 1997, 9 (8) :1735
[10] Lipton Z C, Berkowitz J, Elkan C.A critical review of recurrent neural networks for sequence learning.Computer Science, 2015
[11] Graves A, Jaitly N.Towards end-to-end speech recognition with recurrent neural networks.International Conference on Machine Learning.2014, (31) :1764~1772