电力调度数据清洗转换方法研究

2019-10-21 05:23闵侯
中国电气工程学报 2019年27期
关键词:数据质量

摘要:随着电力调度信息化系统建设,积累了大量电力调度管理类及实时类数据,这些数据中蕴含着电网运行和安全生产的宝贵信息,充分利用好这部分数据并进行数据挖掘,将有效支持电网运行调度的分析与决策,但由于电力调度源系统数据存储各异,数据质量不高等特点,将这些海量数据归集在一起,需进行有效的数据清洗转换解决数据中的不一致及错误,保证数据的正确性,才能在巨大体量数据中提炼出高质量且有用的部分。数据清洗转换作为电力调度数据质量提升的重要手段,是数据分析的关键环节,因此,对电力调度数据清洗转换方法研究具有重要意义。本文简要对电力调度数据清洗转换数据逻辑架构及数据清洗转换过程及方法进行阐述,且讨论其具体流程。

关键词:电力调度数据;数据质量;数据清洗转换

0引言

随着企业信息化建设发展,电网企业已陆续推出大数据平台、公司资产运营监控平台、全业务数据中心等信息化项目,通过这些信息化项目建设,落实对数据资产分析、挖掘和利用。电力调度系统作为电网安全运行的核心保障,已建设的OCS/EMS系统、电能量系统以及一体化电网运行管理系统(OMS)等,积累了海量结构化数据、非结构化数据、历史数据及实时运行数据,这些数据中蕴含着电网运行和安全生产的宝贵信息,将这部分数据归集到一起,充分挖掘电力调度数据价值,对于提升电网安全、稳定、高质量运行,降低系统运营成本具有重要意义。

由于调度源头系统数据存储环境不同,且管理类数据录入和实时数据采集具有内在的出错倾向,导致数据结构、标准各异,数据质量不高,无法进行高效管理、有效统计、分析及评估;另一方面,各调度机构间调度自动化系统存在信息共享不足,数据多头输入,存在数据准确性不高、数据反复抽取、冗余存储等问题,难以达到数据共享交换及业务深度融合。数据挖掘分析应用需要干净、透明的业务数据,这就需要对电力调度系统中的数据进行ETL作业,完成数据清洗转换,去除无效数据、脏数据、并补全缺失数据并进行集中存储,确保分析的数据真实、可靠、标准、规范,提供准确、唯一的企业数据视图[1],也为将来的数据挖掘分析应用提供坚实的数据基础。

数据清洗转换是一个消除数据中的错误与不一致、解决对象识别问题的过程,传统的手工方法只适合少量数据,且处理不够及时,费时费力,同时对专业水平要求高,本身还会出错,不能满足海量调度管理类及实时类数据清洗要求。因此,研究一种高效、适用的数据清洗转换方法并借助工具来自动或辅助完成数据清洗转换非常必要,也是将数据质量控制在合理水平和有效的途径。

1 数据清洗转换概述

数据本身是一种资源,它必须经过清洗转换、分析、建模、可视化等过程加工处理之后,才真正产生价值。数据清洗转换伴随数据仓库而出现的较新的研究,是发现并纠正数据中可识别错误的一道程序,该步骤针对数据审查过程中发现的明显错误值、缺失值、异常值、重复数据,选用适当方法进行“清理”,使“脏”数据变为“干净”数据,为后续数据挖掘分析、建模、可视化分析展示提供完整可靠的数据基础,是整个数据处理利用的起始阶段。数据清洗转换的基本原理是利用数据挖掘技术,按照设计好的数据清洗转换规则及算法,将脏数据转换为满足数据挖掘要求的数据,具体流程一般包括:数据预处理分析、清洗转换规则定义、数据清洗转换任务执行、数据质量校验。随着数据清洗技术的发展,专门的数据清洗软件工具已经开始利用专业的算法分析,标准化、纠正、匹配和合并业务系统的数据,功能包括从简单的清洗和单一数据集的增强,到把来自不同数据库和文件系统的数据项进行匹配、纠正和合并。

2 电力调度数据清洗转换数据逻辑架构

电力调度数据清洗转换数据逻辑架构可分为数据源层、数据贴源层及目标数据存储层三层结构,数据源层为电力调度各自独立的异构业务系统数据,贴源层在获取业务源系统的数据后,经过数据清洗转换缓冲区的数据清洗、转换、加工、聚合、挖掘和校验,形成目标数据存储层(数据仓库或数据集市)数据[2],为各类综合性的查詢统计辅助分析决策应用系统提供业务数据。如图1所示。

图1 电力调度数据清洗转换数据逻辑架构

数据源层:存储电力调度各业务系统,如OCS/EMS系统、电能量系统以及一体化电网运行管理系统(OMS)等结构化数据、非结构化数据、历史数据及实时运行数据,为数据清洗转换提供数据源,是电力调度数据清洗转换的源头。

数据贴源层:存储从电力调度源系统接入的原始数据,与生产系统数据源保持一致,完成对业务系统数据进行备份,为数据清洗转换提供最原始的,也是最粗糙的数据。在对业务系统数据进行清洗、转换并形成目标数据存储层数据之前,将数据抽取到数据贴源层,可有效避免或减少数据清洗转换对业务源系统的影响;同时,保障数据贴源层数据与生产系统数据同步,在对原始数据清洗转换及分析使用起到可追查的作用。

数据清洗转换缓冲区:位于数据贴源层及目标数据存储层之间,是数据清洗转换的核心区,是数据清洗转换规则定义及执行的主要环节,包括外部支持模块、规则模型库模块、清洗转换模块三部分,其中外部支持模块主要包括系统日志、监控系统和访问接口;规则模型库模块主要包括在数据清洗过程中需要调用的数据字典库、算法库、数据模型和规则库等;数据清洗转换模块是根据制定的算法和规则进行搜索和调用,执行数据处理及质量校验,最终将满足条件的数据加载到目标数据存储层,同时,接受外部支持模块的访问和监控。

目标数据存储层:长期(或永久)存储规范的、全局逻辑关联一致的业务明细数据,以及各类口径各种层级的汇总数据。目标数据存储层的数据首先来源于数据贴源层的业务数据,经过规范化整合处理、宽表加工或数据加工聚合,形成对象化的业务明细数据或者是各种层级各种口径的统计汇总数据,目标数据存储层中的数据集市可根据业务分析需求将数据仓库中的数据经数据挖掘、数据分析、复杂计算等加工处理后存储。目标数据存储层可直接向分析型应用系统提供数据。

本文提出的电力调度数据清洗转换过程及方法研究,主要针对调度源业务系统数据接入到数据贴源层存储后,在数据清洗转换缓冲区对其中不符合编码规则,内容不符合标准的调度管理类及实时类数据,借助规则库中相应的数据清洗转换算法及模型,按照指定的规则进行清洗,最终实现干净透明的电力调度数据有序、合规、合理的进入目标数据存储层。确保调度数据业务逻辑与信息逻辑的统一、数据编码规范标准化,数据统一存储管理,为电力调度数据的价值挖掘分析应用提供规范的基础数据,促进电力调度数据资产价值变现及精益化管理水平。

3 电力调度数据清洗转换方法及流程

如图1数据清洗转换模块主要包括了数据预处理、异常值/缺失值处理、重复值处理及数据质量校验4个子模块,其中,电力调度源系统将数据持续增量接入到数据贴源层后,首先在数据预处理阶段对原始数据进行数值化、标准化、降维等操作,随后执行对缺失数据补录、异常数据统计建模处理、重复数据合并/删除等清洗转换作业操作,最终将经过数据质量检查通过的数据进行装载到目标数据存储层储存,在数据清洗转换过程中,通过统计、聚类、模式识别以及关联规则集成的数据清洗转换规则库同时被每个环节调用。数据清洗转换各子模块数据处理流程及方法如下:

3.1数据预处理

数据预处理部分是获得对数据一个初步的认识以及对先验知识的一个探索分析过程,主要是利用相关的科学计算方法进行数据初步的探索,例如数据类型,缺失值,数据集规模,各特征下的数据分布情况等,并利用第三方绘图库进行直观的观察,以获取数据的基本属性与分布情况,另外,通过数值化、标准化、降维等过程对数据集中各特征进行预处理,为后续针对不同的数据特征采用不同的清洗转换方法提供依据。具体处理流程如图2所示:

图2 数据预处理流程

1)、探索性分析:这里包含两个部分:一是看元数据,包括字段解释、数据来源、代码表等一切描述电力调度业务的数据信息;二是抽取一部分数据,使用人工查看方式,对数据本身表达的业务含义进行直观的了解,并且初步发现问题,为之后的数据处理做准备。

2)、数值化:针对对电力调度数据中不同格式的数据形式,进行类型统一。 如要处理的数据类型是数值型,但有字符型或者其他数据类型,则对其进行ASCLL码转换或取一个适当的质数求模标准化操作,映射到一个数值区间得到数值型数据。

3)、标准化:将数据标准化,根据数据字典消除同一指标不一致的度量标准等。如发电负荷,在一个维度空间单位是万千万/时,另一个维度空间是千万/时,在数据分析计算相关性或者进行方差计算时,因单位不统一,数值相差过大将导致后者掩盖了前者的作用。因此对整体数据进行归一化工作,这样将减小后续的数据分析处理产生的影响。

4)、降维:电力调度原始数据中往往含有多维度指标,这些维度之间存在关联,使用数据的相关性、主分分析法来降低数据维度[3],减少数据结构复杂度,减少后续数据处理难度。

5)、所有数据在预处理完成后,输出结果数据。

3.2异常/缺失值处理

电力调度实时类数据主要来源于OCS/EMS系统、电能量系统等,数据特征是以时间为主键、自动产生,因此,该类数据不容易产生重复性数据,但由于数据采集系统厂家不同以及数据采集通道中断等问题,该类数据易产生数据异常、缺点及空数据等。数据异常/缺失主要包括属性值错误和空值两个方面,属性错误值检测主要包括括统计法、聚类方法以及关联规则方法[4],这些方法都是以统计和总结规律的方式计算并查找错误值,进而修正错误数据;而空值检测主要采用人工填写空缺值法手工检测并填写属性值,也可以采用属性的平均值、中间值、最大值、最小值或更为复杂的概率统计函数值填充空缺值法。数据缺失/异常处理于模块流程如图3所示:

图3 数据异常/缺失数据处理流程

1)、确定数据异常/缺失范围:通过数据预处理阶段,利用统计分析或人工智能方法检测数据缺失值所在属性的重要程度以及缺失值异常的范围,如图4所示,对不同的数据异常/缺失范围,采用不同的数据清洗方式。

图4 数据异常/缺失率范围处理方式

2)、数据删除:主要针对数据属性重要性低、异常/缺失率高的的数据进行直接删除处理,一般在小规模数据上试验成功后再处理全量数据。

3)、填充缺失内容:相对去除不需要字段而言,针对某些数据缺失/异常范围的指标可以通过一定的方法将缺失的数据进行填充操作,从而形成完整的数据记录。常用的数据缺失值填充方法有:

统计法:对于数值型的数据,使用均值、加权均值、中位数等方法补足;对于分类型数据,使用类别众数最多的值补足。

模型法:基于已有的其他字段,将缺失字段作为目标变量进行预测,得到最为可能的补全值。如果带有缺失值的列是数值变量,采用回归模型补全;如果是分类变量,则采用分类模型补全。

其他方法:例如随机法、特殊值法、多重填补等。

4)、修正异常内容:针对某些数据异常/缺失范围的指标可以进行修正操作,方法有:使用简单规则库(常规性规则和业务特定规则等)检测和修正数据错误;使用不同属性的约束检测和以关联指标的计算结果修正异常数据;使用外部数据源檢测和修正数据错误;视为缺失值按照处理缺失值的方法来处理。

5)、重新取数:如果数据属性非常重要但异常/缺失率高,数据填充/修正不能满足业务需求或数据处理成本过高时,则需要从系统重新获取、补录相关数据并进行数据清洗转换作业处理。

6)、完成数据异常/缺失处理,输出最后结果。

3.3重复数据处理

在电力调度多个系统数据集成过程中,由于各系统实际数据可能存在数据输入错误,格式、拼写上存在差异等各种问题,使得逻辑上指向同一个的实体,在数据集成后可能会有多个不同的表示,从而在数据挖掘分析时不能正确识别。对于重复数据的判断,基本思想是“排序与合并”,先将数据按一定规则排序,然后通过比较邻近排序算法来检测记录是否重复[5],最后通过冲突处理机制,根据一定的规则合并或删除检测出的重复数据,只保留其中正确的记录。重复数据处理包含了三个操作层次,一是排序,二是计算相似度,三是冲突处理(合并/删除)。主要处理过程如图5所示:

图5 重复数据处理方式

1)、通过对数据属性的分析,选取用于记录匹配的属性,并给属性分配权值,根据选取的匹配属性及权值对需处理的数据进行排序。

2)、按排序顺序扫描数据集中的每一条记录,采用基本近邻排序算法来检测数据相似重复度。

3)、如果通过第2步检测出的数据相似重复度大于阈值,说明该记录或连续的几条记录为相似重复记录,则进行数据的合并或删除操作;否则,扫描下一条数据记录,重复以上第2)和3)的步骤。

4)、完成数据重复记录检测,输出最后结果。

3.4数据质量校验

当数据清洗转换完成后,需在电力调度源系统到数据贴源层、贴源层到数据存储层各环节,对数据是否丢失、是否执行清洗转换、数据清洗转换后是否符合规则定义等问题进行检查,检查目的是为了验证数据清洗转换的准确性、完整性、业务合理性[6]。数据质量校验关键是构建数据质量检查规则,在数据清洗转换过程中根据数据质量检查规则执行数据质量探查任务,生成数据清洗报告并判定数据是否满足要求。数据质量校验基本流程如图6所示:

图6 数据质量校验

1)、开始数据清洗转换任务时执行数据质量探查任务,根据源系统的数据结构、数据字典、数据标准、规则模型等,利用挖掘算法(语义分析、聚类算法等)及规则模块定义,对清洗转换结果进行属性值完整性及合规性检测、重复记录检测等。

2)、生成数据清洗转换报告,记录数据清洗转换规则的满足情况。

3)、根据数据清洗转换报告的满足情况判断,对不满足数据质量校验规则的数据进行记录,改造数据清洗转换作业流程并重新执行,直到满足数据质量校验规则。

4)、根据数据清洗转换报告的满足情况判断,对满足数据校验规则的数据参照图1电力调度数据清洗转换数据逻辑架构将数据流转到数据存储层对聚合、加载、存储、分析。

4 结论

根据电力调度数据处理逻辑架构进行电力调度数据清洗转换作业,需要打通电力调度源系统到数据贴源层、贴源层到数据存储层之间的数据处理流程,实现三层两级ETL的联动。贴源层数据完成一次数据清洗转换作业同步到数据存储层后,电力调度源系统数据同时需要增量接入到贴源层。因此,需要相应建立一套全流程、持续性的数据增量同步机制,保证后期源系统数据能持续的进行清洗转换作业并将干净、合规的数据顺利接入到数据存储层进行存储。

通过对电力调度数据清洗转换过程各子模块描述可以看出,数据清洗转换的过程是借助规则模块定义,使用一系列算法及逻判断完成数据规范性处理,同时检测数据是否符合数据集中存储的要求,从而选择做进一步填充、删除、转换等操作。数据清洗转换的过程是数据集成的一个重要步骤,也是其中一个复杂的过程。数据清洗转换属于一个较新的研究领域,如何将数清洗有效地运用到ETL中以提高数据质量及如何提高数清洗转换精度等有待于进一步研究。由于电力调度数据质量控制的重要性,数据清洗技术在电力调度业务系统中应用前景是巨大的。

参考文献:

[1] 付立辰. 电力企业中数据仓库模型的研究与应用[D]. 华北电力大学(北京) 华北电力大学, 2012.

[2] 张军鹏. 数据仓库与数据挖掘中数据清洗的研究[D]. 华北电力大学(保定), 2006.

[3] 吴晓婷, 闫德勤. 数据降维方法分析与研究[J]. 计算机应用研究(8):38-41.

[4]  Maletic J, Marcus A. Data cleansing: beyond integritysis[J]. Division of Computer Science, 2000

[5] 朱寶成. ETL框架及数据清洗的研究[D]. 2007.

[6]  秦璇. 电力统计数据的质量评估及其异常检测方法研究[D]. 长沙理工大学, 2013.

作者简介:

闵侯(1986.02–),男,云南红河人,开发工程师,从事电网调度信息化建设工作

猜你喜欢
数据质量
电子商务平台数据质量控制系统及仿真模型分析
基于大数据背景下提高供电局数据质量对策分析
强化统计执法提高数据质量
浅析统计数据质量
金融统计数据质量管理的国际借鉴与中国实践
浅谈统计数据质量控制
企业统计工作之我见
统计信用与统计数据质量研究