通透!详解主数据历史数据的清洗方法和工具算法数据源

自从数字化转型大规模启动和推进以来,主数据管理和数据标准建设已经成为关键步骤。在常规的数字化转型的方法论中,主数据管理&数据标准建设要先于应用体系的建设。但是在实际建设过程中,应用系统的建设往往都先于专门的主数据管理&数据标准建设。

因此,在进行主数据治理、主数据治理平台建设过程中,不可避免要考虑历史数据的数据标准与新的数据标准的兼容的问题,同时也需要考虑历史数据清洗的问题。本文主要讨论主数据的历史数据清洗的策略和工具的应用。

什么是数据清洗

数据清洗是指发现并改正不完整、不正确、不准确和不一致的主数据,从而提高数据质量的过程,是发现并纠正数据文件中可识别错误的最后一道程序。由于数据一般从多个业务系统中抽取,包含不少历史数据,无法避免有的数据是错误数据、有的数据相互冲突,这些错误的、有冲突的数据显然是用户不想要的“脏数据”。数据清洗将按照一定的规则把这些零散、重复、不完整的数据清洗干净,得到准确、完整、一致、有效、唯一的新数据。

数据清洗主要检查数据一致性、处理无效值和缺失值等,数据清洗的目的是保证主数据的唯一性、准确性、完整性、一致性和有效性。

如果不能保证主数据的以上特征,会影响到各个应用系统的数据质量以及后续的分析和决策,对企业造成重大损失。例如:主数据的不一致会带来业务交易数据的不一致,在不同业务系统中的数据编码不一致使得系统之间的数据共享变得困难,阻碍企业整体运营情况的统一分析和规划等。

数据清洗的内容和方法

主数据清洗工作主要清洗两种类型的数据:缺失数据和噪声数据。

01缺失数据

数据缺失是数据库中经常出现的情况。缺失数据的处理方式,按照处理主体可分为人工处理法和自动处理法;按照处理方法可以分为直接忽略、填补缺省值和依据其他数据填补缺省值。

★根据处理主体分类-人工清洗

人工清洗方法,是指当一个记录的属性值有缺失时,查找原始的记录,或者请教专家手工填补所缺失的数值。这种方法的好处是当缺失数据比较少时,填补数值的准确度相对较高。但是,当缺失的数据比较多时,人工处理效率较低,且更容易出错,可行性差。

★根据处理主体分类-自动清洗

自动清洗方法,是指当一个记录的属性值有缺失时,通过已有的程序自动处理。这种方法的好处是当缺失数据的规模很大时,在效率上优于手工处理方法。但是自动清洗很大程度上依赖于处理缺失数据的程序,不太灵活,不如手工处理准确度高。

★根据处理方法分类-直接忽略

对于缺失数据,最直接的处理方法是忽略。直接忽略是指如果一个记录的属性值有缺失,则在数据分析中直接删除此记录,不予以考虑。具体删除的操作可以分为整例删除、变量删除和成对删除。

这种方法的好处是操作简单,但是当数据中遗漏的属性值比较多,而且分散在不同的记录中时,该方法的有效性就会大打折扣。一方面,它可能会造成现有数据的大量浪费;另一方面,补充数据中也会出现数据缺失,导致数据收集的规模缺乏控制。

★根据处理方法分类-填补缺省值

缺省值(DefaultValue)是指在计算机编程和数据处理领域中,当用户没有提供其他值时,系统或程序会自动使用的预先定义的值。

填补缺省值的方法是对直接忽略方法的改进,指针对影响不大的缺失数据统一填补一个确定的缺省值,以避免浪费大量数据。如,量化的属性可以采用一个极大的负值或正值作为缺省值,非量化的属性可以采用“无”作为缺省值。

这种方法的好处是避免了数据浪费而且操作简单。但是,当数据中缺失的属性值比较多时,容易使整个数据向缺省值的方向倾斜,为之后的数据处理增加麻烦。如,数据挖掘程序可能会将这些缺省值作为一个新的属性值进行计算,挖掘出大量无用的规律。

★根据处理方法分类-依据其他数据填补缺省值

进一步改进填补缺省值方法,根据已有数据科学合理地推算缺失的数据,就得到了依据其他数据填补缺省值的方法。这种方法通过对于缺失的数值进行纵向(缺失数值所在的属性)和横向(缺失数值所在记录的其他属性值)的数据分析,求出所缺失数值的可能值。

数据分析的方法有很多,如通过同属性的平均值填补缺失值,在信用评级的数据库中,对于工资的情况没有了解的客户,就可以采用有类别的平均值来填补此属性、类别所缺失的值。

当然,用平均值代替空缺值不一定是最好的办法,也可以利用回归分析、贝叶斯计算、决策树、人工神经网络等方法,用缺失的数据的纵向和横向信息技术计算出所缺失的数据最大可能值,并精心填补。

02噪声数据

噪声数据主要包括错误数据和重复数据。

错误数据一般是业务系统不够健全,在接收输入后没有进行判断便直接进入数据库造成的,如数值数据输成全角数字字符、字符串数据后面有一个回车标记、日期格式不正确、日期越界等。

这类数据也要分类,对于类似全角字符、数据前后有不可见字符的问题,只能通过写SQL语句的方式找出来,然后要求客户在业务系统修正之后再次抽取;日期格式不正确或者日期越界这类错误会导致ETL运行失败,需要去业务系统数据库中通过SQL挑出来,交给业务主管部门在要求的期限内修正,然后再进行抽取;对于重复数据,要将重复数据记录的所有数据导出来,让客户确认并整理。

与数据缺失一样,错误数据也是真实数据中经常出现的问题。错误数据分为内错误数据和外错误数据。其中,内错误数据是指在整体数据的统计分析分布内,但是数据值错误的数据;外数据错误是指在整体的统计分布之外的错误数据。如,数据中有两个属性,一个是姓名,一个是年龄。一个人的实际年龄是20岁,而数据库中错误记录是25岁,25岁属于人的正常年龄范围,这样的错误就是内数据错误;而如果一个实际年龄20岁,但数据库存储的记录为200岁,200岁已经超出了人的正常年龄范围,这样的错误就是外数据错误。

一般来讲,内数据错误很难辨识,更不容易改正;对于外数据错误,一般情况下只能根据整体数据分布来辨识,并进行适当的处理。外数据错误最主要的是噪声数据,指被测量变量的随机错误和偏差。

噪声数据处理方法主要有两种:一种方法称为分箱方法,直接平滑噪声。这种方法假设数据中有噪声,但是不去专门识别噪声,只是通过将含有平滑噪声的数据整体平滑,减小数据方差;另一种方法将人工智能和人机结合,先辨别噪声,然后再根据具体情况处理。这种方法根据噪声和正常数据在数据分布上不同特点,找出可能的噪声数据,再进一步的处理。

★分箱方法

分箱方法利用噪声周围的数值来平滑噪声,达到减少噪声干扰的目的。第一步,对已有的数值进行排序后,通过等深或等宽的规则分配到若干容器中;第二步,对每一个容器中的数据通过均值法、边界法等方法进行平滑处理。经过处理后的数据与原数据相比更加平滑,波动小,达到了减弱或消除噪声的目的。

★人工智能法

人工智能的方法,是指利用聚类、回归分析、贝叶斯计算、决策树、人工网络等人工智能的方法,对数据进行自动平滑处理。如,通过多变量线性回归法获得多个变量之间相互关系,达到变量之间相互预测修正的目的,从而平滑数据,去除其中的噪声。

★人机结合法

人机结合法是对人工智能方法的改进,它通过计算机检查和人工检查结合的方法来帮助发现异常数据。如,利用人工智能的各种方法帮助识别销售记录中的异常情况。由人工检查各个异常情况,并最终确定是否为噪声。这种检查方式与单纯的计算机检查相比准确率更高,与单纯的人工方式相比效率更高。

数据清洗的过程

数据清洗工作,需要认真组织和管理,并且应用专业的方法和工具,按一定的步骤完成,下面就是数据清洗的一般步骤。在实际执行中,可以根据实际情况进行调整。

步骤1定义和确定错误类型

数据分析是数据清洗的前提和基础。在进行数据清洗前,首先需要确定错误的类型,通过详尽的数据分析来检测出数据集中的错误或不一致的情况。除了手动检测数据或数据样本之外,还可以使用分析程序来获得关于数据属性的元数据,从而发现数据治理问题。

步骤2搜寻并识别错误示例

其次需要检测重复记录的算法。消除重复记录针对两个数据集或者一个合并后的数据集,检测出标识同一个现实实体的重复记录。检测重复记录的算法主要有:基本的字段匹配算法、递归的字段匹配算法等。

步骤3纠正所发现错误信息

在数据源上执行预先定义好的并且已经得到验证的清洗转换规则和工作流。当直接在源数据上进行清洗时,需要备份源数据,以防需要撤销上一次的清洗操作。清洗时根据“脏数据”存在形式不同,执行一系列的转换步骤,解决模式层和实力层的数据质量问题,为处理单数据源问题及其他数据源的合并做好准备。

一般在各个数据源上应该分别进行几种类型的转换,主要包括:

步骤4干净数据回流系统

当数据被清洗后,干净的数据应该替换数据源中的原料的“脏数据”,以提高原系统数据质量,避免将来再次抽取数据后进行重复的清洗工作。

专业高效的数据清洗过程是主数据管理的关键一步,得帆在主数据的清洗与治理方面拥有丰富的经验和专业能力,能助力客户快速解决主数据历史数据的“卡脖子”问题,为主数据管理奠定基础。

THE END
1.大数据进行数据清洗的基本流程数据清洗的基本流程一共分为5个步骤,分别是数据分析、定义数据清洗的策略和规则、搜寻并确定错误实例、纠正发现的错误以及干净数据回流。下面通过一张图描述数据清洗的基本流程,具体如图所示。 接下来针对图中数据清洗的基本流程进行详细讲解。 1.数据分析 https://www.jianshu.com/p/1bc63211e025
2.数据分析基本流程有哪些数据分析主要有八个流程:1、目标的确定;2、数据获取;3、数据清洗;4、数据整理;5、描述分析;6、将数据展现和输出;7、洞察结论;8、报告撰写。 1、目标的确定 只有弄清分析的目的是什么?才能准确定位分析因子,提出有价值的问题,提供清晰的思路。 这一步在工作中通常是由你的客户/上级/其他部门同事/合作方提出来https://www.linkflowtech.com/news/614
3.数据清洗的基本流程包括()步骤。A数据分析B定义数据清洗的数据清洗的基本流程包括()步骤。A、数据分析B、定义数据清洗的策略和规则C、搜寻并确定错误实例D、纠正发现的错误搜索 题目 数据清洗的基本流程包括()步骤。 A、数据分析 B、定义数据清洗的策略和规则 C、搜寻并确定错误实例 D、纠正发现的错误 答案 解析https://easylearn.baidu.com/edu-page/tiangong/bgkdetail?id=aa83547addccda38376bafbe&fr=search
4.机器学习的基本过程流程图好的,以下是机器学习的基本过程流程图: 数据预处理:收集并清洗数据,包括去除异常值和缺失值等。 特征工程:对数据进行特征提取和转换,以便于机器学习算法的处理。 模型选择:选择适当的机器学习算法,根据数据类型和问题类型进行选择。 模型训练:使用训练数据对所选模型进行训练,调整模型的超参数。 https://wenku.csdn.net/answer/5ac401b46e804515af9fa3a25c881f30
5.大数据处理流程中数据清洗工作是在()阶段完成。确保数据换装质量和作业安全的前提下,由变化的线路所属铁路局决定在施工地点两端临近车站进行固定径路列车担当机车的 。 查看完整题目与答案 IC卡数据文件编制软件维护、管理由 负责,有关参数由电务段、机务段共同确定。 查看完整题目与答案 计算机结构化程序设计用( )种基本结构。 查看完整题目与答案 IC卡数据文件https://www.shuashuati.com/ti/2188e57ea66f4b41b60079e6f0873d76.html?fm=bd3b7f0d25f4f0ca340ecbbca695862350
6.大数据毕设基于Hadoop的音乐推荐系统的设计和实现(六)可以基于不同的用户数据,来分析并且产生最优的推荐结果,这样可以在系统对外扩展的时候能够减少投入的、并且能够快速取得预期结果。在设计该系统时,要设计一个完整的数据处理流程:数据清洗,数据上传,数据分析,数据存储,数据可视化。这个系统主要是针对于数据,对于数据进行处理,然后分析,能够得到推荐的结果,主要是基于协同https://developer.aliyun.com/article/1404874
7.数据清洗流程包括哪些步骤?数据清洗流程包括哪些步骤? 数据清洗是指对采集的数据进行初步处理,使其符合分析要求和标准,从而提高数据质量和可信度的过程。数据清洗流程包括以下六个步骤: 数据收集 数据收集是数据清洗的第一步,这个步骤是获取数据的初始状态,可以是从数据库、API、爬虫等多种途径获得数据。在这一步骤中需要注意的是,要根据需求https://www.cda.cn/bigdata/202779.html
8.科学网—系统:R语言贝叶斯网络模型R语言贝叶斯模型进阶R语言3.掌握利用R实现贝叶斯静态和动态网络学习的步骤和流程 4.掌握利用R进行贝叶斯网络推理的要点 5.通过理论知识学习与上机实践操作,具备构建贝叶斯网络模型的能力,实现科研和生产实践目的 专题一:R语言实现Bayesian Network分析的基本流程 R语言的数据类型与基本操作 https://wap.sciencenet.cn/blog-3539141-1414917.html
9.无锡政府采购网·无锡市城市信息模型(CIM)基础平台(一期工程)项目充分调研相关业务现状、数据资源现状、系统建设现状,明确无锡市城市信息模型(CIM)基础平台的发展定位和总体目标、实施计划及步骤,对平台定位、总体设计、技术路线、平台构成及数据资源体系等进行合理、可行、先进的设计,为无锡市城市信息模型(CIM)基础平台建设提供纲领性、框架性、指导性目标,推动CIM平台在城市规划、设计、https://cz.wuxi.gov.cn/doc/2024/04/17/4290410.shtml
10.数据处理全流程解析(如何进行数据处理)当完成这几步操作后,此时数据就已经脱离APP了,开始往数仓的方向流动,数仓承担着接收数据并最终将数据落地到应用的职责。 02 数据是如何被接收的 数据在到达接入层后会经历解包、解析转换、数据清洗、数据存储四个技术流程。只有经过了这一系列的步骤,数据才能够以规整的形式呈现出来,以供下一个环节的消费。 https://www.niaogebiji.com/article-114218-1.html
11.数据清洗标准与规范(31页)数据清洗流程和基本原则 数据清洗工具和技术介绍 数据清洗实例展示与分析 数据清洗常见问题及解决方案 数据清洗管理与质量保证 数据清洗未来发展趋势ContentsPage目录页 数据清洗定义与重要性数据清洗标准与规范 数据清洗定义与重要性数据清洗定义1.数据清洗是指对原始数据进行审核、纠正、转换和整理,以提高数据质量、准确性https://m.book118.com/html/2023/1228/8035074044006021.shtm
12.面向公众版“天地图”的地名地址数据库动态更新方法*收集民政局的门牌及地名数据、工商局的企事业单位登记信息、公安局的地址信息以及其他来源的地名地址信息。以上一期“天地图”地名地址数据库为本底数据并继承其数据结构、要素分类与编码。提取基础地理信息数据库的注记、居民地、道路等图层。按照一定的清洗规则和相关流程把相似重复、不一致、属性缺失的信息进行数据清洗,https://www.fx361.com/page/2022/0424/15802407.shtml
13.hadoop清洗数据流程mob649e815bbe69的技术博客在大数据处理中,数据清洗是一个重要的步骤。Hadoop作为一个分布式计算框架,可以帮助我们进行高效的数据清洗。本文将介绍使用Hadoop进行数据清洗的步骤和所需的代码。 流程图 开始文本文件导入HDFSMap阶段Reduce阶段结果输出结束 步骤说明 下面将分步骤介绍如何使用Hadoop清洗数据。 https://blog.51cto.com/u_16175464/7074610
14.数据分析的八个流程8、报告撰写。 1、目标的确定 这一步在工作中通常是由你的客户/上级/其他部门同事/合作方提出来的,但第一次的数据报告中,需要你自己来提出并确定目标。 数据分析的八个流程 企服解答 数据分析的八个流程包括:1、目标的确定;2、数据获取;3、数据清洗;4、数据整理;5、描述分析;6、展现和输出;7、洞察结论;8https://36kr.com/p/1491281074089859