基于长短期记忆神经网络的燃气数据分析设计

2019-02-13 20:46上海大众燃气有限公司彭怡伟
上海煤气 2019年5期
关键词:温湿度燃气预测

上海大众燃气有限公司 彭怡伟

目前城市燃气基础设施已经基本完善,相应地为了服务于天然气行业,促进天然气健康合理的发展,也形成了许多系统应用。其中以SCADA 系统、燃气调压器预警系统和GIS系统在燃气行业的应用尤为突出。无论是SCADA 系统和燃气调压器预警系统还是GIS 系统都具有数据的初步分析功能,但是这些数据的分析都只是基础的统计学分析。利用当前人工智能的最新成果对数据进行分析,不仅可以解决以上设备之间的相关性问题,甚至还可以发掘设备之间潜在的信息,这些信息对燃气管理者、供应者和消费者而言都存在着十分大的潜在价值。

长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,适合于处理和预测时间序列中间隔和延迟非常长的重要事件。在燃气数据的分析中,利用LSTM 将历史数据和实时数据作为输入,将预测的未来数据作为输出,通过梯度下降算法对神经网络进行训练,可以完成由序列到序列的压力、流量和温度的未来数据。对于燃气管理者而言,如果知道了未来燃气的用量变化趋势,便可以对燃气的供应在源头上进行适当调整,以满足不同用户的消费需求,一方面方便了燃气公司的然气管理,另一方面推动了智慧燃气发展。

1 燃气数据预处理

燃气系统中采集的数据有许多不同种类,不同的设备采样频率不一定相同。严格来说,从模型建立的角度考虑只有同一时刻采集的数据才能参加同样的计算,也就是需要保持采样时间相同,但是由于对于多个设备而言,这是非常困难的。这时可以使用数据预处理的方式,使得数据满足模型的需求。

1.1 数据预处理的意义

任何算法,不可能完全消除噪声,只能在一定的理论基础上,一定程度地降低噪声,本文中使用的数据预处理,目的有两个:一是将小数据的噪声,尽可能使数据趋于可靠;二是减小数据的稠密程度,也就是将数据变稀疏,因为如果相邻的数据变化不大,这样的数据几乎提供不了多少有用的信息,只是徒劳增加模型的计算量,所以要使用数据预处理的方式达到以上目的。

1.2 数据预处理的常用方式

1.2.1 归一化、标准化

此处的归一化是将数据d 根据最大值和最小值归一化到0~1 之间。此归一化最重要的优点在于,可以统一各种不同的单位。同样的数据,在不一样的数据测量标准下的得到的数据在数值上差距非常大,如果将鱼龙混杂的标准下测得的数据放到同样的模型下进行数据计算显然是非常不科学的。我们选择在不改变原有数据所包含的数据信息的基础上将数据转换到第三者的机制上,0 和1 范围的规范化提供了最好的选择。

采用归一化可以提高网络对数据的敏感度,使得每一次的数据输入,网络都会有相应的参数调整,有效利用数据,节约魔性训练时间;但是这种归一化的处理不具备初步去除噪声的功能,为了弥补这一缺点的另外一种归一化方法是标准化。当神经网络的激活使用的是sigmoid 或者tanh 这样的函数时,数据均匀分布在0 附近,更有利于网络的学习,更有利于训练网络,挖掘数据中潜藏的信息。

1.2.2 取均值、去奇点

为了减少数据量,简化模型的计算成本,数据预处理时可将一个小时内采集的数据(无论是每一分钟一次,每三分钟一次或每五分钟一次),都取一个平均值作为这一个小时所对应的数据,于是就相当于每一台设备,每小时有一个数据。这些数据对应的时刻,当作是同一时刻,也就是对于模型的搭建而言,它们处于同一个时间步。

首先,在大多数情况下都假设噪声数据时服从正态分布的,那么在一个小时内的噪声数据也可以认为是服从正态分布的。如果对一个小时内的数据求平均值的话,噪声刚好可以叠加抵消,对于整个一小时的数据而言,相当于去除了噪声。其次,用户燃气的使用规律往往是一些时段使用量比较大,一些时段使用量比较小,这样在大小使用量的时段之间往往间隔着很多个小时。一般情况下,在傍晚四点半到八点之间用户使用燃气的用量是比较大的,在这时段数据会有较大的变动,使用一小时为单位,可以很好的反映出这种用量的变化,当然也许半小时会更好一些,但是在处理上就变得比较繁琐了。再者,数据采集终端采集到的数据不是同步的,而LSTM 神经网络在预测下一个时间点的数据时会依赖前几个时间点的压力数据,因此将数据统一到相同的时间步长上才好使用LSTM 建立数学模型,而将数据一个小时取一个平均值作为时间步,可以满足模型在相同的时间步下进行计算的需求。最后,对于一个片区,如果在城市燃气管网整体保持不变的情况下,燃气发展已经成熟的区域用户的变动相对较少。基于这样的情况,地区的天然气使用情况会呈现一定的时间周期性,这种周期性可能包含在日周期性,周周期性,月周期性,年周期性,考虑到设备的压力数据基本遵循日周期性规律,因此按照小时为最低的单位,处理为相同时间点的压力数据,为挖掘这些周期性奠定了数据基础。

去奇点就是去除小概率出现的数据或者异常数据,一般做法是看概率分布规律去除出现概率小的数据。去奇点是基本的数据处理方法,能够去除明显的数据噪声,多数时候需要配合其他数据预处理过程。

2 燃气数据格式

使用LSTM 模型进行数据拟合的目的是用一段历史时期的数据对未来的数据进行预测。燃气设备上的数据只有压力数据,且与时间相关,因此可将其表示为时间维度的序列数据,即与时间T1、T2、T3…Tn相对应的P1、P2、P3…Pn。

由于LSTM 处理的数据时间相关的,所以必要对时间相关的几个概念进行描述。模型是利用历史数据对未来数据进行预测,本文把预测数据时所使用的数据个数称为time_step,把预测的数据时刻与使用的最后一个数据的时刻之间的差值称为look_back,如利用T1、T2、T3预测T5,则time_step= 3,look_back = 5-3 = 2。

3 数据处理

3.1 单一设备数据

此部分实验只考虑一台设备的数据,使用一台数据的设备进行模型建立、训练、测试,不考虑多台设备之间数据的相关性。模型的训练过程中使用数据的三分之二进行训练,另外的三分之一进行测试,设备的采集频率是一分钟采集一次,因此在数据预处理的时候首先将数据每小时的数据去平均值,然后将数据归一化到0~1 范围。实验中的参数过多,为了探讨数据的事件相关性,主要考虑time_step 和look_back 两个参数对模型在压力数据上的影响。试验中使用了控制变量的方法,测评模型的标准是均方根误差。

3.2 多个设备数据

单一设备实验在建立模型的时候主要考虑一台设备的运行情况,实际上燃气管道网络是很复杂的相互连接的网状网络,门站之间,调压站之间往往相互影响,上级门站和下级门站之间数据具有一定程度的相关性,因此有必要考虑这种多个门站之间的相关性。

本实验是一个对比实验,控制实验的变量是模型的输入是一台设备的压力数据和多台设备的压力数据,其余的试验参数设置相同,具体的是网络的结构,训练的参数,数据的time_step=5,look_back=1。目的是研究只使用该设备的历史数据作为输入、对该设备未来设备进行预测的情况和使用与使用该设备的历史数据加上该设备相邻的设备作为输入、对该设备的未来数据进行预测的情况。

3.3 其他考虑因素

3.3.1 短期预测

燃气的使用往往具有周期性,由于周期性比较多,在做无模型分析的时候如果都考虑则是非常不明智的,而在研究长期预测的过程中往往使用到了几个小周期的数据。因此,本实验研究的是一个星期所表示出来的周期性,这样的时间间隔比一天长,比一个月更短。

实验的网络设置基于预测模型的复杂度和实际情况,LSTM 模型定义为3 层,第一层定义为4个LSTM 神经元,第二层定义为2 个LSTM 神经元,最后一层为输出层,选择的设备是编号为601 的设备,设置实验的look_back=1。

3.3.2 温度和湿度因素

燃气的使用表现出季节性因素的最主要原因是收到天气的影响,主要是气温。为了探寻天气对燃气使用的影响,本实验考虑使用模型中加入温湿度和未加入温湿度作为对比实验进行过验证。

实验设置两组实验,一组是实验模型加入温湿度作为输入,一组实验没有加温湿度,使用同一台设备同一段时间的数据作为实验数据,网络结构设置相同LSTM 模型定义为3 层,第一层定义为4 个LSTM 神经元,第二层定义为2 个LSTM 神经元,最后一层为输出层。为了确保实验结果的可靠,排除实验结果的偶然性,选取三个设备,使用LSTM模型分别对加入温湿度特征和未加入温湿度的数据进行建模,使用time_step = 5,look_back = 1 建立模型。

4 实验结果分析

本文所有实验所使用的模型都是LSTM 模型,四层神经网络,第一层输入层不参与神经元之间的计算,只负责数据的输入;第二层4 个LSTM 单元;第二层2 个神经元;第四层输出层神经元的数目视情况而定。

这样的网络结构是根据现已公开发表的关于神经网络选择和训练的经验分析得出:使用一台设备或者是多台设备的压力数据预测未来的压力数据,由于数据都整理为每小时的平均值,所以数据相对比较少,而且只是使用一两个月的数据,根据一般数据的数量大概是模型参数的5-15 倍来恒定。

随着网络的复杂化,模型训练所需的时间随着增加,权衡效率和时间的关系,确定网络结构为In-4-2-Out 的网络结构,不仅可以满足一台设备一个特征值作为输入的情况,还满足了多台设备或者多个特征数据作为输入的情况。

(1)单一设备实验

实验结果分析:LSTM 模型对压力数据的预测,使用越多的历史数据,预测距离越近的未来数据,模型的表现就越好。当然,对于不是太遥远的时刻,LSTM 对未来数据的预测也具有很好的表现,即使是预测五个小时之后的压力数据,模型也具有一定的预测能力,如果使用更深层次的网络,利用更多地历史数据,必定可以实现对更为长远的未来数据进行预测,只是这样伴随着的是更复杂的网络,更大的计算量,对于实时应用,预测未来的三到五个小时的数据,便可以满足系统的需求,使燃气管理者依据模型的预测对未来整体趋势变化有一个很好的把握,根据可能的变化情况进行及时地燃气调度。

(2)多个设备实验

实验结果分析:从模型建立的角度,每增加一台设备的压力数据值相当于增加了模型输入的一个属性,只要这个属性是和输出相关的,无论是何种程度的相关性,都可以在一定程度上改善模型对原始数据的表现,所以从结论反过来推导,也就是在燃气管网中,相邻的设备的运行状况是相关的,反映到燃气系统中就是附近调压站出口压力的变化是相关的,因此这样的数据之间具有相关性。因此使用多台设备作为输入,可以明显提高LSTM 模型对某台设备压力数据的预测。

(3)短期预测

实验结果分析:对于燃气的压力短期(一个星期)的数据预测比较长期(一个月)的数据预测效果更好。

(4)温度湿度因素

实验结果分析:加入温湿度特征值之后,模型无论是对训练集还是对测试集表现都有一定程度的降低,因此与假设不合,不能验证假设成立。

但是并不能说明温度对燃气的使用没有影响,温度对燃气用量的影响是一个长周期的影响因素,反应的应该是年周期性,短时期内的加入了温湿度后反而增加了数据的噪声,导致模型对数据的处理能力有所下降。所以,在考虑短期燃气压力预测的时候,不考虑温湿度特征值的模型效果反而更好。

5 结语

使用LSTM 对燃气数据进行分析,首先围绕着time_step 和look_back 的设置进行试验研究,发现使用较多的历史数据,预测较近的未来数据,LSTM的表现更好,预测的情况更接近真实情况,由此可见LSTM 对燃气压力数据的预测可以用在燃气系统中,使燃气管理者可以提前预知未来一段时间的压力变化,对即将可能出现的异常情况及时做好应对的措施。使用LSTM 研究温湿度对燃气的用量影响发现,在短期的燃气使用中,温湿度特征值会降低模型的表现,因此使用LSTM 对燃气数据在月为单位的时间周期上进行分析时,不必要考虑温湿度特征;使用LSTM 对一个周内的数据进行分析发现,由于一周的时间太短,模型很难从短暂的压力数据中发现其隐藏的规律,因此模型对一周的燃气压力数据表现不如对两个月的燃气压力数据。由此可以看出,当使用LSTM 模型对燃气压力进行分析时,适当增加周期的长度,有利于模型挖掘更深层次的数据信息,提高模型的表现。考虑到实际运行在燃气管道上的任何一台压力检测设备都不是单独存在的,相邻的设备之间的数据收到网管连通性的影响,必然存在着某种相关性,因此使用LSTM模型研究多台设备数据于一台设备数据的影响,发现在模型的输入中逐渐增加其他的设备数据作为输入的时候,模型的表现得到不小的改善,因此可以看出,在实际运行的设备之间,数据是存在关联的,这种关联其实表现的是设备运行背后的地理、气候等自然因素和人们生活习性,用气习惯等人为因素的总和。

本文中引入了LSTM 算法对燃气数据进行分析,这在很大程度上弥补了燃气数据分析的空白,同时也可以更加充分的挖掘隐藏在数据中的深层关系,促进了燃气行业数据分析的智能化。由于任何系统不是一蹴而就的,同时新兴技术的使用也需要一定的时间检验,因此该数据分析模型也必然存在一些现今理论下有待改进和提高的地方。

猜你喜欢
温湿度燃气预测
无可预测
对一起燃气泄漏爆炸引发火灾的调查
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
教材《燃气工程施工》于2022年1月出版
近期实施的燃气国家标准
选修2—2期中考试预测卷(A卷)
探讨燃气工程的造价控制及跟踪审计
基于AT89C51的数字型蚕用温湿度计的设计
基于DSP的多路温湿度监测系统