一、基本概念
数据清洗指发现并纠正数据文件中可识别的错误,包括检查数据一致性、处理无效值和缺失值等。数据仓库中的数据从多个业务系统抽取而来并包含历史数据,难免存在错误或冲突数据,即"脏数据"。数据清洗的任务是过滤不符合要求的数据,将结果交给业务主管部门确认。不符合要求的数据主要分为不完整数据、错误数据和重复数据三类。
二、一致性检查
一致性检查根据变量的合理取值范围和相互关系,检查数据是否合乎要求,发现超出正常范围、逻辑上不合理或相互矛盾的数据。发现不一致时,要列出问卷序号、记录序号、变量名称、错误类别等,便于核对和纠正。
三、无效值和缺失值的处理
常用处理方法有:估算,用样本均值、中位数或众数代替,或根据其他问题答案通过相关分析估计;整例删除,剔除含有缺失值的样本;变量删除,若某变量无效值和缺失值很多且不重要,可删除该变量;成对删除,用特殊码代表无效值和缺失值,保留全部变量和样本,计算时只采用有完整答案的样本。不同处理方法可能影响分析结果,调查中应尽量避免出现无效值和缺失值。
四、数据清洗原理与实现方式
数据清洗利用数理统计、数据挖掘或预定义清理规则,将脏数据转化为满足数据质量要求的数据。按实现方式与范围可分为:手工实现,效率低下;专门编写的应用程序,不够灵活;解决某类特定应用域的问题;与特定应用领域无关的数据清理。后两种具有通用性和实用性。数据清洗大致分三个阶段:数据分析、定义错误类型;搜索、识别错误记录;修正错误。
五、数据清洗方法
数据清洗从准确性、完整性、一致性、唯一性、适时性、有效性等方面处理丢失值、越界值、不一致代码、重复数据等问题。针对不完整数据,可手工填入,或从本数据源或其他数据源推导,用平均值、最大值、最小值或概率估计代替。错误值可用统计分析方法识别,或用规则库、属性间约束、外部数据检测和清理。重复记录通过判断属性值是否相等来检测,相等记录合并为一条。不一致性可定义完整性约束检测,或分析数据发现联系,使数据保持一致。