基于二进制位运算的不完整数据分类与检测

时间:2023-09-18 18:40:07 来源:网友投稿

郭强 魏建宇 马文彬

陆军军事交通学院/基础部 天津 300161

数据是否完整,数据是否明确,数据是否有意义,数据是否正确是真实世界系统状态映射到信息系统的四个问题[1]。其中,作为数据质量重要维度之一的数据完整性在大多数情况下会直接影响其他3个维度的状态。

周金陵等人指出用含有缺失值的数据做信息共享、统计分析和决策支持可能会产生严重问题[2]。其原因:含缺失值的样本数据只能提供不完整信息,数据表现出显著的不确定性,数据蕴含的确定性成分难以把握,降低了数据的有效性;
数据分析常采用删除含缺失值记录的方法来处理样本数据,当缺失数据占比较高时,会造成数据资源浪费,导致数据分析任务不精准,产生错误的分析结果。

缺失值的检测、分类和估计填充是数据清洗的3个步骤。在对缺失数据进行估计填充之前,首先要完成缺失值的检测与分类,从而针对不同的缺失值类型选择恰当的估计填充算法。本文采用一种基于二进制位运算的不完整数据分类与检测方法,通过对不完整数据分类检测,提高不完整数据处理的准确性和效率。

1.1 研究对象的界定

关系数据集不完整分为表缺失、空表和表不完整3种情况,其中表不完整又可分为记录缺失、空记录和记录不完整3种情况。记录缺失是关系数据表没有记录;
空记录是创建关系数据表时产生的记录只含有主键等生成字段值,其余字段为空字段;
记录不完整既包括字段值为空值的空字段情况,又包括字段值内容不完整的字段不完整情况,如姓名字段只填写姓氏没填写名字,本论文只讨论空字段情况。

关系数据集由数据表组成,每张数据表又包含一条或多条记录,而记录是由若干字段组成,字段是关系数据表操作的基本单位,也是数据对象完整性描述的基本单位。因此,关系数据集的不完整主要探讨的是因字段缺失造成的记录不完整。

不完整记录是含缺失字段的记录,分为空记录和字段缺失的记录。不完整记录以及空字段都称为缺失数据,缺失数据中未填写的字段值称为缺失值。

1.2 研究对象的分类

不完整记录检测首要应区分完整记录和不完整记录,然后将不完整记录进一步区分为不完整合格记录、不完整修正记录以及不完整删除记录三类。

完整记录是记录中没有空字段的记录;
不完整合格记录区分为两种情况,第一种情况是记录准完整即记录中虽然存在空字段但对于对象描述的完整性没有影响,第二种情况是记录中除不影响当前应用的关键字段无空字段外存在缺失值;
不完整修正记录是记录中某些空字段需进行估计填充后才不影响对象描述的完整性或不影响当前应用的不完整记录;
不完整删除记录包括空记录、有价值字段为空无实际意义的无效记录以及不可修正字段过多无修正价值的记录3种情况。

文献综述针对不完整记录做如下处理:不完整合格记录的空字段填充Null值[3];
不完整修正记录依据缺失字段类型选择合适的缺失值估计填充算法进行修正[4-7];
不完整删除记录采用级联删除,实现逻辑删除本条记录。为保证数据操作的可追溯性和数据的可恢复性,数据清洗的所有操作都必须有良好的数据溯源和数据世系设计。

2.1 研究对象的二进制位表示

不完整记录检测、分类和修正需要对记录的不完整信息进行描述,本文采用记录二进制位表示方法对记录的不完整信息进行描述。

设某关系数据表有m个字段,n条记录,记录ri,i=1,2,…,n的字段记为aij,j=1,2,…,m,记录ri的二进制位表示为Bi=bi1bi2…bim。若aij非空时,bij=1;
aij为空时,bij=0。

2.2 研究对象的二进制位运算分类检测方法

不完整记录的二进制位运算分类检测方法,首先生成各类标准记录的二进制位表示集,然后将待检记录的二进制位表示与各类标准记录的二进制位表示进行按位异或运算。

2.2.1 标准记录的二进制位表示集生成。直接生成法和样本生成法是生成各类标准记录二进制位表示集的两种方法。直接生成法即根据关系数据表2m个或所有可能出现记录生成各类标准记录的二进制位表示。由于数据表的不完整记录的缺失字段具有一定分布规律,因此直接生成法在分类检测初期会产生大量的冗余表示和冗余运算。样本生成法即根据关系表的记录样本生成各类标准记录二进制位表示集,并根据记录二进制位表示出现次数的多少确定该位表示在相应类的检测优先级。样本生成法在分类检测初期可能会出现不能识别记录二进制位表示的情况,对新出现的记录二进制位表示需添加到相应类标准记录二进制位表示集,该方法具有实现简单、效率高的特点,本文采用样本生成法生成各类标准记录的二进制位表示集,步骤(1)~(5)如下:

步骤(2)Bik记为第k类一条不完整记录样本二进制位表示,通过Bik和Gk的元素gkl异或运算,检测Gk中是否已经存在Bik二进制位表示,若存在Bik则出现次数加1,否则将Bik添加到相应Gk类并记出现次数为1,算法描述如下:

?

步骤(3)G4中因某几个有价值字段(如第s、t位字段)缺失,影响当前应用而需删除该记录的规则为Bi&Bj=0,其中,Bj为除第s、t位为1外其余位均为0的m位二进制数。实际应用中可以有多个如Bj形式的二进制数。

步骤(5)除G4将步骤(4)设为最高优先级,步骤(3)设为次优先级外,Gk按标准记录二进制位表示出现次数多少确定优先级。

2.2.2 不完整记录的位运算分类检测。设待检记录ri,首先求取其二进制位表示Bi,然后按类进行决策判定,在每一类决策节点,按照标准记录二进制位表示的优先级顺序逐一进行异或操作,若运算结果为零,判定该记录属于此类别,输出检测结果,算法停止;
若未检出记录二进制位表示,需人工判定记录类别,并将其作为标准记录二进制位表示添加到相应类的二进制位表示集,如图1所示。

图1 不完整记录分类检测流程

实例验证所采用的数据是我国北方某城市交通监控系统的驾驶员数据表,该表有16个字段,首先从数据表的记录样本中选取不完整合格记录、不完整修正记录和不完整删除记录各50条按样本生成法生成标准记录二进制位表示集,并用步骤(3)、步骤(4)对不完整删除记录标准二进制位表示集进行代替,然后从表任一位置开始连续取5000条样本按照图1所示的流程进行不完整记录分类检测。生成的标准记录二进制位表示集、分类检测过程中未检出的二进制位表示数以及检测结果如表1所示。

表1 标准记录二进制位表示集与检测结果

由上表可知,不完整记录占总记录的63.52%,说明由于空字段导致数据表存在不完整记录是普遍存在的。但只需对占总记录56.94%的不完整合格记录的空字段做相应标识,不需要修正,便可正常使用;
总记录中6.02%的不完整修正记录需要依据缺失字段类型选择合适的缺失值估计填充算法进行修正;
做删除处理的不完整删除记录占总记录的0.56%。

在5000条样本记录分类检测过程中,未检出二进制位表示总共出现28个,将他们分别添加到相应类标准记录二进制位表示集,再从数据表中另连续选取5000条记录样本进行分类检测,未检出二进制位表示没有再出现。

基于二进制位运算的不完整数据分类检测方法,以二进制位运算为基础,首先按照不完整记录层次分类方法实现待检记录二进制位表示层次分类,避免了各类之间的相互冲突,同时不破坏待检记录的二进制位表示,然后根据记录样本生成标准记录二进制位表示集并依据记录二进制位表示的检测优先级进行异或检测,减少了表示冗余和运算冗余,提高运算效率。

猜你喜欢数据表字段运算图书馆中文图书编目外包数据质量控制分析江苏科技信息(2022年16期)2022-07-17重视运算与推理,解决数列求和题中学生数理化(高中版.高考数学)(2022年1期)2022-04-26有趣的运算数学小灵通(1-2年级)(2020年6期)2020-06-24湖北省新冠肺炎疫情数据表(2.26-3.25)党员生活·下(2020年3期)2020-04-20湖北省新冠肺炎疫情数据表党员生活(2020年2期)2020-04-17基于列控工程数据表建立线路拓扑关系的研究铁道通信信号(2018年10期)2018-12-06“整式的乘法与因式分解”知识归纳中学生数理化·八年级数学人教版(2017年2期)2017-03-25CNMARC304字段和314字段责任附注方式解析图书馆建设(2015年10期)2015-02-13图表中国石油企业(2014年4期)2014-11-30无正题名文献著录方法评述新世纪图书馆(2014年7期)2014-09-19

推荐访问:运算 不完整 检测

版权所有:天海范文网 2010-2024 未经授权禁止复制或建立镜像[天海范文网]所有资源完全免费共享

Powered by 天海范文网 © All Rights Reserved.。鲁ICP备10209932号