一种基于自动监测仪器的异常数据检测方法及系统与流程

文档序号:13760296阅读:286来源:国知局
一种基于自动监测仪器的异常数据检测方法及系统与流程

本发明涉及大气环境监测领域,更具体地涉及一种基于自动监测仪器的异常数据检测方法及系统。



背景技术:

我国各省为了监控大气环境质量状况,更好地为公众和政府提供空气质量信息服务,规划建设了大气环境自动监测系统。新标准实施以来,各地自动监测的空气质量对外发布,人民群众可以在手机、网络、电视等媒体查看实时空气质量信息,空气质量信息发布及健康提示方便了群众生活也保障了群众的身体健康。但是在空气质量发布过程中,难免发布的实时数据中会出现异常数据。在监测设备连续监测的过程中,不可避免由于仪器部件故障或监测点突发事件,出现不能真实反映空气质量状况的监测数据,即异常数据。为了保证数据的真实性和科学性,原始数据在后续的计算、处理、发布等过程中,异常数据应当被剔除。随着监测站数量的不断增加,靠人工发现异常数据的方式已不再可行,因此有必要研究一种异常数据的检测方法,采用自动化的手段实现异常数据的自动检测,且进一步可以在剔除异常数据后自动恢复数据的发布。



技术实现要素:

有鉴于此,本发明的主要目的在于提供一种基于自动监测仪器的异常数据检测方法,以实现自动剔除监测数据中的异常数据的目的。

为了实现上述目的,作为本发明的一个方面,本发明提供了一种基于自动监测仪器的异常数据检测方法,包括以下步骤:

采集各自动监测仪器的监测数据;

对所述监测数据进行如下判断,如果符合其中之一则将所述监测数据视为异常数据或疑似异常数据:

条件一,判断所述监测数据是否大于预设的阈值或小于仪器检出限,如果是,则所述监测数据为异常数据;

条件二,对预设的一段时间内采集到的同一监测数据做方差,判断所述方差是否为0,如果是,则所述监测数据为异常数据;

条件三,按照距离和气象条件将所述自动检测仪器按区域划分,对每一个区域中的所述自动监测仪器的监测数据进行统计处理,检测同一时间点中所述监测数据中的异常高值和异常低值,将其作为疑似异常数据。

其中,当所述异常数据检测方法在判断所述监测数据为异常数据或疑似异常数据时,将所述监测数据录入异常数据表中,停止所述监测数据的自动发布。

其中,在条件三中,对每一个区域中的所述自动监测仪器的监测数据进行统计处理,检测同一时间点中所述监测数据中的异常高值和异常低值的步骤中采用的方法为箱线图法。

其中,在条件三中,当所述异常数据检测方法判断所述监测数据为疑似异常数据时,该方法还包括如下步骤:

基于时间维度,研究所述监测数据的相对变化率分布特征,如果所述监测数据的相对变化率大于0,则

基于所述监测数据的历史数据拟合的相对变化率曲线,作为所述监测数据是否异常的判定依据,如果当前监测数据的相对变化率超出所述相对变化率曲线的对应值,则将其作为异常数据,否则,数据正常;

否则

如果当前监测数据的相对变化率小于-0.8,则将其作为异常数据,否则,数据正常。

其中,所述异常数据检测方法还包括:

当根据条件三,某一监测数据被录入异常数据表中后,检测相关联的监测站点的“实时监测数据”是否落在所述监测数据中的异常高值和异常低值之内,如果是,则所述被录入异常数据表中的监测数据被从所述异常数据表中删除,并自动恢复所述监测数据的发布。

作为本发明的另一个方面,本发明还提供了一种基于自动监测仪器的异常数据检测系统,包括:

采集各自动监测仪器的监测数据的装置;

对所述监测数据进行如下判断的装置,如果判断结果符合其中之一则将所述监测数据视为异常数据或疑似异常数据:

条件一,判断所述监测数据是否大于预设的阈值或小于仪器检出限,如果是,则所述监测数据为异常数据;

条件二,对预设的一段时间内采集到的同一监测数据做方差,判断所述方差是否为0,如果是,则所述监测数据为异常数据;

条件三,按照距离和气象条件将所述自动检测仪器按区域划分,对每一个区域中的所述自动监测仪器的监测数据进行统计处理,检测同一时间点中所述监测数据中的异常高值和异常低值,将其作为疑似异常数据。

其中,当判断所述监测数据为异常数据或疑似异常数据时,将所述监测数据录入异常数据表中,停止所述监测数据的自动发布。

其中,在条件三中,对每一个区域中的所述自动监测仪器的监测数据进行统计处理,检测同一时间点中所述监测数据中的异常高值和异常低值时采用的方法为箱线图法。

其中,在条件三中,当判断所述监测数据为疑似异常数据时,还包括:

基于时间维度,研究所述监测数据的相对变化率分布特征的装置,如果该装置计算得到所述监测数据的相对变化率大于0,则

基于所述监测数据的历史数据拟合的相对变化率曲线,作为所述监测数据是否异常的判定依据,如果当前监测数据的相对变化率超出所述相对变化率曲线的对应值,则将其作为异常数据,否则,数据正常;

否则

如果当前监测数据的相对变化率小于-0.8,则将其作为异常数据,否则,数据正常。

其中,所述异常数据检测系统还包括:

当根据条件三,某一监测数据被录入异常数据表中后,检测相关联的监测站点的“实时监测数据”是否落在所述监测数据中的异常高值和异常低值之内的装置,如果该装置检测到落入所述监测数据中的异常高值和异常低值之内,则所述被录入异常数据表中的监测数据被从所述异常数据表中删除,并自动恢复所述监测数据的发布。

基于上述技术方案可知,本发明的方法具有如下有益效果:(1)创新性的采用箱式图和计算相对变化率的方法,进行数据的自动剔除,该方法分区域进行自动筛查异常数据,也可以适用到全国的其他地区,计算变量较少,方法易于维护,费用较低,可在全国推广使用;(2)采用自动化的手段实现异常数据分区域自动检测,提高了数据发布的质量,为值班人员进行数据处理和数据发布控制提供决策支持,提高工作效率,有效支持了空气质量数据发布工作的及时性和准确性。

附图说明

图1为恒值处理算法设计的流程图;

图2为箱线图统计学含义的示意图;

图3为北京市一个完整年PM2.5浓度相对变化率;

图4为PM2.5浓度相对变化率拟合曲线;

图5为箱线图和相对变化率数据检测算法设计的流程图;

图6为本发明的数据报警及发布算法设计的方框流程图;

图7为异常数据表测试信息列表示意图;

图8为站点3#的验证数据表格示意图;

图9为站点46#的验证数据表格示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。

本发明的创新点在于,可以采用自动化的手段实现异常数据分区域自动检测,提高了数据发布的质量,为值班人员进行数据处理和数据发布控制提供决策支持,提高工作效率,有效支持了空气质量数据发布工作的及时性和准确性。

更具体地,本发明的方法通过如下算法实现。

以北京市PM2.5为例,近1年35个自动监测站,共计约29.9万条PM2.5小时监测数据为研究对象,在深入分析数据特征的基础上,制订大气监测异常数据检测方法,进行系统设计、开发、测试、验证。主要从数据合理性(异常大值处理、恒值处理)和数据时空分布特征两个方面进行异常数据检测方法研究:

1.1异常大值处理

监测数据大于某个值或小于仪器检出限时,该数据必然异常。

因此,为发布的数据提供阈值设置功能,大于或小于某一阈值的数据停止发布,否则数据恢复发布。

1.2恒值处理

正常的仪器监测数据必然有一定的波动性,利用此特征,检测近三小时数据是否恒定不变来识别异常数据。因为数据方差可以表征数据的波动性,所以,可以通过计算近三小时监测数据的方差来识别数据是否恒定不变。

设计算法如下:

“异常数据恒值检测方法”检测数据是否恢复正常并恢复数据发布的方法是:读取当前“异常数据表”中的异常数据信息,以及相关联监测站点的“最新监测数据”,计算方差,如果方差接近0,认为数据恢复正常,删除“异常数据表”中对应异常数据,恢复数据发布。

1.3数据空间分布

在一个范围相对较小的区域,因为区域内污染水平大致相同,所以,属于该区域的多个监测点的监测数据差异性应当不会太大。

利用以上特征,在空间上将北京市全市划分为五个区域,每个区域利用箱线图法可以检测同一时间点数据异常高值和异常低值。目前对于北京市,划分的区域分别是城六区、西南部、东南部、东北部、西北部。

箱线图的统计含义如图2所示,可以明确,落在上边缘和下边缘之间的监测数据一定是正常数据。至于落在上边缘和下边缘之外的数据,尽管在统计学上是异常值,但是,考虑到区域划分的合理性和科学性,以及上风向监测点最先反映空气质量状况等因素,应当允许区域内个别监测点短时间内与其他监测点存在相对较大差异。因此,本发明中将上边缘和下边缘之外的数据列为疑似异常数据(可能异常的数据),确定是否异常需要进一步判断。

1.4数据时间分布

如果划分区域较大,则区域中某监测点与其他监测点的空气质量可能仍然存在较大的差异性,导致箱线图检测时,该监测点常被标识为异常。因此,箱线图法检测出来的异常值可能较多,严重影响异常数据检测准确率,需要进一步进行检测。

例如,区域中某个监测点处空气质量相对较差,经过箱线图检测后,该监测点数据被标识为异常数据。但是,因为该监测点当前小时数据相对前一小时数据的变化率不大或在一个合理范围内,明显为正常数据。因此,经箱线图检测后的异常数据,应当做进一步的判定。本发明基于时间维度,研究数据相对变化率分布特征,拟合数据相对变化率曲线,作为数据是否异常的判定依据,如果当前数据相对变化率超出曲线值,则数据异常,否则,数据正常。

数据相对变化率分布特征图如图3所示(数据共计299500条):

对该图进行数据拟合,结果如图4。

上图中,红色线条为拟合曲线,曲线公式及拟合指标如下:

General model Rat02:

f(x)=38620/(x2+99.73x+8100)

Coefficients(with 95%confidence bounds):

共计299500条样本数据中,有766条数据在曲线上面。其中,拟合系数R值和调整R值均大于0.9,拟合度较好。

因此,当小时浓度比上1小时浓度增加时,可以通过比较相对变化率和拟合曲线的大小,进行异常数据检测,当相对变化率在曲线上边时,数据异常,否则,数据正常。当小时浓度比上1小时降低时,由图4可知,随着浓度的增加,大部分散点逐步接近于0,但是,仍然有较多散点没有接近于0,这些点可能是由于短时发生非常有利于污染物扩散的气象条件,例如大风、骤雨等,导致污染物浓度急速下降,因此,不能根据相对变化率随浓度的变化规律判定异常数据。因为大部分点大于-0.8,所以,将-0.8作为判定数据异常的依据,当浓度变化率小于-0.8时,数据异常。

1.5分布特征异常数据检测算法设计

根据上述的数据空间分布和时间分布特征,设计以下异常数据检测算法:

“异常数据箱线图检测及相对变化率检测方法”检测数据是否恢复正常并恢复数据发布的方法是:根据“异常数据表”,检测相关联监测站点的“实时监测数据”是否落在对应区域箱体之内,如果是,则数据恢复正常,删除“异常数据表”中的对应异常数据,恢复数据发布。

1.6算法实现

基于Matlab开发,通过执行deploytool命令,Matlab程序可发布为供java程序调用的jar包。最后,开发java程序,部署于tomcat,实现异常检测功能的自动定时执行。

1.6.1恒值异常检测源代码

1.6.2判定是否取消恒值异常源代码

1.6.3时空分布异常检测源代码

functionautoalertinput()

clear

if(str2num(datestr(now,′MM′))>8)&(str2num(datestr(now,′MM′))<45)

conn=database(′oraclel′,′x5user′,′x5user′,′oracle.jdbc.driver.OracleDriver′,′jdbc:oracle:thin:@10.18.47.203∶1521:′);

sqlstr=[′merge into ab_bjk t1′,′using pm25autoalert t2′,′on(t1.fzdh=t2.siteid and t1.fwrw=t2.wrw and t1.fbjlb=t2.bjlb)′,′when not matched then′,′insert(fid,version,fzdh,fkssj,fbjlb,fwrw)values(sys-guid(),0,t2.siteid,t2.date_time,t2.bjlb,t2.wrw)′];

exec(conn,sqlstr);

close(conn)

end

clear

end

1.6.4判定是否取消时空分布异常源代码

functionautoalertout()

clear

if(str2num(datestr(now,′MM′))>8)&(str2num(datestr(now,′MM′))<45)

conn=database(′oraclel′,′x5user′,′x5user′,′oracle.jdbc.driver.OracleDriver′,′jdbc:oracle:thin:@10.18.47.203:1521:′);

sqlstr=[′select t1.fzdh,t2.siteid from ab_bjk t1 left join box-data2 t2 on t1.fzdh=t2.siteid and t1.fwrw=′,″″,′pm2.5′,″″,′and t2.wrw=′,″″,′value15′,″″];

bjdata=fetch(conn,sqlstr);

[row col]=size(bjdata);

fori=1:row

ifbjdata{i,1}~=bjdata{i,2}

delstr=[′delete from ab_bjk where fwrw=′,″″,′pm2.5′,″″,′and fbjlb=2and fzdh=′,num2str(bjdata{i,1})];

exec(conn,delstr);

end

end

close(conn)

end

clear

end

案例分析

基于大气环境自动监测数据,部署异常数据自动检测系统,进行历时1个月的系统测试和验证。检测出的异常数据如图7所示。

下面,取图7中部分异常数据进行验证。站点3从2015-07-02 13:00开始,SO2、CO、O3、NO2数据异常,查询其对应的验证数据,如图8所不。

经验证,图8中站点3的监测数据恒定为0,确认为异常数据。

站点46从2015-06-29 12:00开始,PM2.5数据异常,查询其对应的验证数据,如图9所示。

经验证,图9中站点46的监测数据在2015-06-29 12:00时为0,确认为异常数据。

本发明在异常数据检测方法研究的基础上,实现了大气监测异常数据检测系统。经检验,该系统具备异常数据检测功能。在分析大气数据特征的基础上,初步探索异常数据检测方法,开发异常数据展示功能,为值班人员进行数据处理和数据发布控制提供决策支持,提高工作效率。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1