一种基于压力监测时序数据的输油管线泄漏监测方法
技术领域
本发明涉及输油管线异常泄漏监测领域,具体涉及一种基于压力监测时序数据的输油管线泄漏监测方法。
背景技术
在油气管道的运行管理中,及时发现管道泄漏并确定漏点位置,保证管道的安全运行、减少因泄漏造成的经济损失和环境污染、防止***和火灾事故的发生具有十分重要的意义。传统输油管线泄漏检测(人工巡查、沿线铺设设备检测法、体积或质量平衡法、基于状态估计的方法等)存在人力物力成本较高,监测时效性较低。目前,机器学习被逐步引入输油管线的异常泄漏监测。但因输油管线数据的时序性和正负样本的不均衡性,使得传统机器学习方法在输油管线泄漏检测时仍存在一些不足:(1)输油管线监测数据是海量的时序数据,传统机器学习模型难以直接使用现场作业数据快速地进行泄漏检测;(2)由于输油管线监测数据量巨大,但是异常样本稀少,使得普通的二分类模型不能很好对正常异常进行区分,监测精度较低;(3)输油管线异常包含多种模式,主要包含人工作业造成的异常、事故造成的异常两类,目前的油管泄漏监测方法难以区分异常模式,误报率较高。
发明内容
本发明针对现有方法中人力物力成本较高,监测时效性较低的问题,提供基于一种基于压力监测时序数据的输油管线泄漏发现方法。该方法使用时间滑动窗口对时序数据进行分段,在此基础上构建最大值、最小值、均值、中值、方差、一阶自相关等统计指标。实现了时序数据的预处理并满足了耦合模型的输入需求。并结合一类支持向量机对样本数据进行了建模,可以在短时间内有效识别出输油管线的压力异常,提升了监测精度。并引入层次聚类算法,对所有异常时间序列进行聚类,并根据真实生产环境下的异常泄漏标记得到泄漏事故异常的簇类,提取了泄漏异常的模式。其他簇类则为人工作业异常,从而有效地对人工作业异常与泄漏异常进行了区分,降低了异常探测误报率,实现了海量时序压力数据的输油管线异常泄漏监测。
为了解决上述技术问题,本发明一种基于压力监测时序数据的输油管线泄漏监测方法,包括以下步骤:
(1)基于滑动时间窗口对历史输油管线时序压力数据依次进行分段和统计指标特征提取,然后进行归一化,得到历史时序压力特征数据集,历史时序压力特征数据集中每个历史时序压力特征数据包含对应分段归一化后的统计指标特征和是否发生波动突变的标签;
(2)基于历史时序压力特征数据集,训练一分类支持向量机,得到初步异常探测模型;
(3)将探测的输油管线实时压力数据采用与步骤(1)相同的分段和统计指标特征提取,然后进行归一化,得到探测时序压力特征数据;
(4)将所述探测时序压力特征数据输入到初步异常探测模型中进行异常探测,将判断为波动突变的预处理后的输油管线实时压力数据标记,形成异常时序压力数据;
(5)对于所述异常时序压力数据,识别出其中波动突变的异常压力片段,当两个异常压力片段的间隔小于一个时长阈值时,则将这两个异常压力片段以及之间的输油管线压力时序数据标记为真正异常,将与其他异常压力片段的时间间隔均不小所述时长阈值的异常压力片段删除;
(6)对于所述异常时序压力数据中标记为真正异常的数据,采用与步骤(1)中相同的滑动时间窗口再次进行分段,分段时,对该滑动时间窗口的数据进行截取,不足滑动时间窗口长度的,用正常压力数据进行填充,超过滑动时间窗口长度的,进行截断,并对截断后不足滑动时间窗口长度的数据,再用正常压力数据进行填充;然后分段进行统计指标特征提取,然后进行归一化,得到探测异常压力时序特征数据集;所述探测异常压力时序特征数据集中每个数据包含对应分段归一化后的统计指标特征;
(7)将所述探测异常压力时序特征数据集和历史时序压力特征数据集中标签为输油管线泄漏的标签的归一化后的统计指标特征一起输入到层次聚类模型,得到不同层次的异常簇类,将选择历史真实泄漏异常所在的簇类作为泄漏异常簇,根据所述探测异常压力时序特征数据集中是否存在被分类到泄漏异常簇中的归一化后的统计指标特征,来判断是否存在输油管线泄漏。
进一步地,在本发明的基于压力监测时序数据的输油管线泄漏监测方法中,步骤(1)中所述依次进行分段和统计指标特征提取具体包括如下步骤:
首先对预处理后的数据分割处理为固定滑动时间窗口的分段数据,然后计算各个固定时间窗口内输油管线压力的最大值、最小值、均值、中值、方差以及一阶自相关值作为所述统计指标特征。
进一步地,在本发明的基于压力监测时序数据的输油管线泄漏监测方法中,步骤(2)具体包括:将所述历史时序压力特征数据集分为训练集和验证集,采用训练集分别训练多个一分类支持向量机,这些一分类支持向量机的模型参数互相之间不完全相同,训练完成之后,然后利用验证集进行验证,选择最优的一分类支持向量机作为所述初步异常探测模型。
进一步地,在本发明的基于压力监测时序数据的输油管线泄漏监测方法中,在进行分段和统计指标特征时,所述历史输油管线时序压力数据与所述待探测的输油管线实时压力数据均被分为多组,采用多线程分别进行处理,对于每个线程处理的数据,对数据进行清洗,以把数据中的空值、负值、字符串及异常值给去掉,若是去掉的数据小于预设比例,则对于去掉的数据部分采用线型插值进行填充。
实施本发明的基于压力监测时序数据的输油管线泄漏监测方法,具有以下有益效果:本发明有效地解决了现有输油管线异常泄漏监测方法所存在的人力物力成本较高,监测时效性较低的问题。根据输油管线实时数据的特点,将数据进行了分段、特征值等数据预处理,实现了时序数据的离散化并满足了耦合模型的输入需求。耦合一类支持向量机和层次聚类方法对样本数据进行了分析与建模,结合一分类支持向量机和层次聚类两种算法的优势,解决了现有基于机器学***衡导致误报率较高且难以区分事故、人工异常的问题。使得能够基于输油管线压力数据快速有效地实现海量实时的输油管线异常泄漏监测,为输油管线安全运输提供支持。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的方法流程图;
图2是本发明的数据特征提取过程图;
图3是本发明的层次聚类异常分类流程图;
图4是本发明的一分类支持向量机训练流程图;
图5是采用本发明方法监测得到的输油管线压力异常对比结果图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
参考图1,图1是本发明的方法流程图,图1中示意除了步骤(2)-(7)的具体流程。本实施例的基于压力监测时序数据的输油管线泄漏监测方法,包括以下步骤:
(1)基于滑动时间窗口对历史输油管线时序压力数据依次进行分段和统计指标特征提取,然后进行归一化,得到历史时序压力特征数据集,历史时序压力特征数据集中每个历史时序压力特征数据包含对应分段归一化后的统计指标特征和是否发生波动突变的标签。在进行分段和统计指标特征时,对历史输油管线时序压力数据进行清洗,以把数据中的空值、负值、字符串及异常值给去掉,对于去掉的数据部分采用线型插值进行填充。
在本发明的另一实施例中,在进行分段和统计指标特征时,所述历史输油管线时序压力数据与所述待探测的输油管线实时压力数据均被分为多组,采用多线程分别进行处理,对于每个线程处理的数据,对数据进行清洗,以把数据中的空值、负值、字符串及异常值给去掉,若是去掉的数据小于预设比例,则对于去掉的数据部分采用线型插值进行填充,若是不小预设比例,则直接删除。
所述分段和统计指标特征提取具体包括如下步骤:
首先对预处理后的数据分割处理为固定滑动时间窗口的分段数据,然后计算各个固定时间窗口内输油管线压力的最大值、最小值、均值、中值、方差以及一阶自相关值作为所述统计指标特征,实现了时序数据的离散化并满足了模型输入和实时检测的实际需求。统计指标特征提取可参考图2。
(2)基于历史时序压力特征数据集,训练一分类支持向量机,得到初步异常探测模型。初步异常探测模型用于判断探测的输油管线实时压力数据是否发生波动突变。
在本发明的一实施例中,可以直接对一个一分类支持向量机进行训练,训练得到的模型即为所述初步探测模型。
在本发明的另一实施例中,步骤(2)具体包括:将所述历史时序压力特征数据集分为训练集和验证集,采用训练集分别训练多个一分类支持向量机,这些一分类支持向量机的模型参数互相之间不完全相同,训练完成之后,然后利用验证集进行验证,选择最优的一分类支持向量机作为所述初步异常探测模型。模型参数包括核函数Kernel、内核系数Gamma以及惩罚系数C。最优的一分类支持向量机可采用一分类支持向量机选取精度指标(F1-score)最高的。
对于一分类支持向量机的训练,本实施例仅需要使用压力波动平稳(没有波动异常即为波动平稳)正常数据即可进行模型训练;有效的避免了实际生产环境中因泄漏样本过少所造成的正负样本不均衡问题,提高了数据的可用性和模型的性能。一分类支持向量机训练流程可参考图4。
(3)将探测的输油管线实时压力数据采用与步骤(1)相同的分段和统计指标特征提取,然后进行归一化,得到探测时序压力特征数据。
(4)将所述探测时序压力特征数据输入到初步异常探测模型中进行异常探测,将判断为波动突变的预处理后的输油管线实时压力数据标记,并对应形成异常时序压力数据;
(5)对于所述异常时序压力特征数据,识别出其中波动突变的异常压力片段,当两个异常压力片段的间隔小于一个时长阈值时,则将这两个异常压力片段以及之间的输油管线压力时序数据标记为真正异常,将与其他异常压力片段的时间间隔均不小所述时长阈值的异常压力片段删除;
(6)对于所述异常时序压力特征数据中标记为真正异常的数据,采用与步骤(1)中相同的滑动时间窗口再次进行分段,分段时,对该滑动时间窗口的数据进行截取,不足滑动时间窗口长度的,用正常压力数据进行填充,超过滑动时间窗口长度的,进行截断,并对截断后不足滑动时间窗口长度的数据,再用正常压力数据进行填充;然后分段进行统计指标特征提取,然后进行归一化,得到探测异常压力时序特征数据集;所述探测异常压力时序特征数据集中每个数据包含对应分段归一化后的统计指标特征;
(7)参考图3,图3是本发明的层次聚类异常分类流程图。将所述探测异常压力时序特征数据集和历史时序压力特征数据集中标签为输油管线泄漏的标签的归一化后的统计指标特征一起输入到层次聚类模型,得到不同层次的异常簇类,将选择历史真实泄漏异常所在的簇类作为泄漏异常簇,根据所述探测异常压力时序特征数据集中是否存在被分类到泄漏异常簇中的归一化后的统计指标特征,来判断是否存在输油管线泄漏,若存在,在发生输油管线泄漏,否则未发生,它异常簇则被判定为人工操作异常。采用本发明方法监测得到的输油管线压力异常对比结果如图5所示。
如此,实现了人工作业异常和事故异常的区分,在提高模型性能的同时,大大减少了误报的频率,进一步提高了模型在生产环境下的监测准确度和实用性。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。