APP下载

多源异构水环境大数据清洗与交换技术研究

2021-02-26

科学与信息化 2021年4期
关键词:字段

江苏省生态环境监控中心(江苏省环境信息中心) 江苏 南京 210000

1 绪论

1.1 研究的背景、目的及意义

长久以来,由于政府机构内管理机制的客观原因,一直存在多部门、多行业在流域开展水环境监测或相关调查、监测的事实,以行业需求为目的监测的水环境数据分散在各个行业部门,数据没有集约化共同分析利用。而且涉水的水利、环保、气象等部门之间存在信息壁垒,造成数据共享障碍、综合决策能力低下等问题。此类现象长期以来阻碍了水环境监测数据的综合分析利用,难以让政府部门及时了解流域、区域的水环境质量从而及时制定或调整整治措施,影响了各地流域水污染环境治理工作的推进。

因此,实现各涉水部门(横向)和各级环保部门(纵向)之间的数据传输与交换,需要建立相应的数据传输交换平台,各行业各业务流程的异构数据在该交换平台上进行数据转换后,统一传输到中心数据库中进行管理,然后根据具体业务需求交换到对应的业务部门数据库中,最终实现水环境监测信息的交换、集成和共享,数据资源有效合并,最大限度地发挥各路水环境监测信息资源的潜在价值。

水环境数据的清洗和交换技术是建立数据交换平台实现数据传输与交换的一项重要技术手段。对数据进行数据清洗,一方面可以减少数据收集、存储中存在的错误数据和空缺数据,提高数据质量;另一方面通过对数据多维度清洗方法进行研究,全面地对数据进行清洗,便于后面对数据进行决策性分析和数据挖掘等。

1.2 研究现状及存在问题

近十年,国外数据清洗技术发展很快,但国内专业进行数据清洗的软件几乎没有。

水环境相关的信息系统涉及断面水质监测、水质自动站监测、重点污染源自动监控、蓝藻水华监测预警、污染源普查、排污权交易、气象监测等多个系统,种类繁杂。这些系统从技术路线、网络结构、部署方式、数据格式、编码体系等各个方面均有很大的差别,数据分散在不同的业务部门,在物理上和逻辑上都是相对独立的,数据结构差异很大,难以直接交换,形成了“信息孤岛”或“应用孤岛”。

这种环境信息的多方面管理局面导致政府和公众获取到的信息较为混乱,给上层决策带来干扰,不利于政府管理和服务以及政务公开服务成效,也影响了对环境信息综合集成分析和决策支持功能深化应用[1]。

在数据清洗中,数据挖掘算法一般无法直接处理不完整的数据集,因此,处理此问题通常的最简单方法是删除,即直接删除有缺失值的数据。但是,这种方法仅适用于非常小的丢失率,如5%。丢失率非常大的时候,比如20%,仅仅使用原始数据集的剩余80%(包含其余的完整数据)可能无法完全反映收集的数据集所涵盖的现实问题,最大程度上会影响到挖掘结果。因此衍生了一个更好的解决方案,即缺失值插补法。缺失值估算可大致分为统计学和机器学习技术,统计学通常基于均值/模式和回归,而近十年已经采用了机器学习技术。因为有时,更复杂的算法虽然可以产生更好的插补结果,但通常需要更高的计算成本,这是混合机器学习技术与单机学习技术相关的考虑因素。大多数的机器学习技术通常比许多统计技术在计算上更昂贵,成本更高,因为它们需要模型训练和构造的过程。

2 水环境数据清洗与交换

2.1 数据清洗

(1)数据清洗的概念

数据清洗是对数据进行重新审査和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。通俗来说就是把“脏”的数据“洗掉”,指发现并纠正数据文件中可识别错误的最后一道程序,包括检査数据一致性、处理异常值和缺失值等。由于数据库内的数据是面向某一主题的数据的集合,而这些数据来自于多个业务系统且包含有历史信息,有的数据是错误数据,有的数据相互之间有冲突,这样的情况很难避免,这些错误的或有冲突的数据显然是不需要的,称之为“脏数据”。我们要按照一定的规则把“脏数据”“洗掉”,这就是数据清洗。数据清洗的任务就是过滤掉不符合要求的数据,将过滤后的数据交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要是有不完整的数据、错误的数据、重复的数据三类[2]。

(2) 数据清洗的模型、流程

由于数据中出现了数值的错误,例如由于人工录入出错、传感器失灵等产生了不合法值、空值等问题的脏数据,釆用数据清洗策略/规则如数据统计、数据挖掘等方法对脏数据进行异常检验和空缺值填补,使数据达到满足数据质量要求的数据,为后面进行数据挖掘和决策性分析提供干净的数据。一般情况下,数据清洗的流程包含:①数据分析:数据清洗的基础是首先要进行数据分析,通过分析可以检测并归纳出数据集中存在的错误问题种类。②数据清洗转换规则:根据数据分析结果以及“脏数据”的产生和特点,制定清洗“脏数据”的清洗算法规则。③验证:主要是验证数据清洗转换规则是否正确,假如不符合数据清洗的质量要求,就要改进清洗规则或调整模型参数,直到形成满足数据清洗任务要求的清洗规则和模型。④清洗工作流:对数据源中的数据样本执行数据清洗转换规则。⑤干净数据回流:数据清洗完成以后,将清洗干净的数据替换掉原始数据源中的“脏数据”。

(3)数据清洗的规则

1)缺失值清洗。缺失值清洗处理有很多方法,一般按照以下四个步骤进行:①确定缺失值范围:对每个字段都计算其缺失值比例,然后按照缺失比例和字段重要性,分别制定策略。②去除不需要的字段:清洗每一步均备份,或者在小规模数据上试验成功再处理全量数据,可以避免删除错误。③填充缺失内容:某些缺失值可以进行填充,方法有以下三种:a.以行业经验或相关知识推测并填充缺失值;b.以同一指标的计算结果(均值、中位数、众数等)填充缺失值;c.以不同指标的计算结果填充缺失值。④重新取数:假如某些指标非常重要而缺失率又很高,那就需要和取数人员或相关业务人员了解,是否有其他渠道可以取到相关数据。

2)格式内容清洗。假如数据来源于系统日志,通常格式和内容方面会与元数据的描述一致。而如果数据是来自于人工收集或用户填写,则很可能在格式和内容上存在一些问题。大多数情况,格式内容问题有以下几种类型:①时间、日期、数值、全半角等显示格式不一致。此类问题一般与输入端有关,在整合多来源数据时常常会遇到,将其处理成一致的格式即可。②内容中有不该存在的字符。某些内容可能只包括一部分字符,比如身份证号是数字+字母,中国人姓名是汉字(赵C这种情况还是少数)。最典型的情况就是头、尾、中间的空格,有时也会出现姓名中存在数字符号、身份证号码中出现汉字等等问题。以上这类情况,需要以半自动校验半人工校验的方式找出问题,去除不需要的字符。③内容与该字段类型不符。例如监测日期写了水质因子监测值,断面名称写成了上报单位名称等,都属于这种问题。可是此类问题的特殊在于:不能以简单的删除来解决,因为造成该类问题的原因可能是人工填写有误,也可能是前端缺乏校验,还可能是导入数据时部分或全部列没有对齐,因此要针对性地详细识别问题类型。

3)逻辑错误清洗。这部分工作是去除根据简单逻辑推理即可直接发现问题的数据,防止分析结果走偏。主要包含以下几个步骤:①去重。建议把去重放在格式内容清洗之后,如果数据不加以清洗,多个空格可能会导致工具认为“陈丹奕”和“陈 丹奕”不是一个人,导致去重失败。②去除不合理值。即去除逻辑上不符合常理的数据,如河流断面位于浙江省内,上报方却为江苏某市,这种明显不符合正常情况的数据就要么删掉,要么按缺失值处理。③前后矛盾内容修正。有些字段是可以互相验证的,例如:目标河流是III类水质,监测结果达标标准却是IV类水质标准,这时候,要根据字段的数据来源判定哪个字段提供的信息更为可靠,去除或重构不可靠的字段。

4)非需求数据清洗。删除字段的方法看起来简单,实际操作起来可能会产生很多问题,例如:①把看上去不需要但实际上对业务很重要的字段删了;②某个字段觉得有用,但暂时还不知道怎么用,不确定是否该删;③一时失误删错字段。

针对前两种情况,如果数据量没有大到不删字段就没办法处理的程度,那么能不删的字段尽量不删。第③个情况,要做好数据的备份工作。

5)关联性验证。如果数据有多个来源,那么有必要进行关联性验证。例如,有河流的名称信息,也有该河流上断面的名称信息,两者具有相关性,那么要看一下,断面是不是属于该河流的,如果不是,那么需要调整或去除数据。

2.2 数据交换

(1)数据交换的概念。数据交换指在多个数据终端设备(DTE)之间,为任意两个终端设备建立数据通信临时互连通路的过程。

(2) 数据交换的流程。应用系统通过数据共享与交换平台提供的接口接入应用系统所在中心的数据共享与交换平台,实现和其他应用系统的数据交换。一个完整的数据收发流程如图所示:

图2-1 数据收发流程图

(3) 数据交换的节点与方式

1)交换节点。水环境管理系统数据共享与交换涉及省市各级水利、水文部门等,每个节点均配备1台数据共享与交换服务器,实现与其他数据节点的数据交换与服务。

数据共享与交换平台为各个应用系统提供标准的API调用,不同节点上的数据共享与交换平台间通过消息中间件实现数据交换。

数据共享与交换平台需要交换的数据包括水位、流量、水质、工情、气象和预警等信息。

2) 交换的方式。交换的方式有文件到数据库、数据库到文件、文件到文件、数据库到数据库等多种方式,对于各类数据的交换,数据共享与交换平台应为相应的数据采集或应用系统提供统一的调用接口,保证所有数据都能交换到数据中心。

为保证数据交换的安全,数据共享与交换平台需要支持多层次的安全及权限管理,如基于数字证书的安全连接认证;支持DES、3DES、RC4等加密算法;提供应用程序认证机制等。通过管理工具进行简单的配置,无须编码可以实现对关键业务数据的多层次的安全保护及用户权限管理[3]。

3 结束语

本文重点解决了多源异构水环境数据共享交换中的数据清洗和交换的方式问题,根据数据特点分析了数据交换的节点和方式,设计了数据清洗和交换的流程。通过数据交换共享,有助于各级主管部门及时完整获取水环境数据,提高监管效率。

猜你喜欢

字段
带钩或不带钩选择方框批量自动换
中文期刊更名引发的著录问题探析
Arduino编程
浅谈台湾原版中文图书的编目经验
基于PHP的成绩快速输入系统的设计
一种数据库动态字段实现方案
探讨CNMARC格式中200字段题名的规范著录
无正题名文献著录方法评述
无正题名文献著录方法评述
中文电子资源著录特点分析