数据探索之数据质量分析——缺失值分析

数据的缺失主要包含记录的缺失和记录中某个字段的缺失,两者都会造成分析结果的不准确。以下将从缺失值产生的原因、缺失值产生的影响、缺失值的类型以及缺失值处理三个方面展开分析。

1. 缺失值产生的原因

  • 信息暂时无法获取。
    如商品售后评价、双十一的退货商品数量和价格等具有滞后效应;
  • 信息被遗漏。
    可能是因为输入时认为不重要、忘记填写了或对数据理解错误而遗漏,也可能是由于数据采集设备的故障、存储介质的故障、传输媒体的故障、一些人为因素等原因而丢失。
  • 属性值不存在。
    在某些情况下,缺失值并不意味着数据有错误。对一些对象来说某些属性值是不存在的,如一个未婚者的配偶姓名,一个儿童的固定收入。
  • 获取这些信息的代价太大。
    如统计某市所有学生每个月的生活费或者所有家庭实际收入等等。

2. 缺失值产生的影响

  • 数据挖掘建模中将丢失大量的有用信息;
  • 数据挖掘建模中所表现的不确定性更加显著,模型中蕴含的规律难以把握;
  • 包含空值的数据会使建模过程陷入混乱,导致不可靠的输出;

3. 缺失值的类型

在对缺失数据进行处理前,了解数据缺失的机制和形式是十分必要的。将数据集中不含缺失值的变量称为完全变量,数据集中含有缺失值的变量称为不完全变量。从缺失的分布来将缺失可以分为完全随机缺失,随机缺失和完全非随机缺失。

  • 完全随机缺失(missing completely at random,MCAR):指的是数据的缺失是完全随机的,不依赖于任何不完全变量或完全变量,不影响样本的无偏性。如家庭地址缺失;

  • 随机缺失(missing at random,MAR):指的是数据的缺失不是完全随机的,即该类数据的缺失依赖于其他完全变量。例如财务数据缺失情况与企业的大小有关;

  • 非随机缺失(missing not at random,MNAR):指的是数据的缺失与不完全变量自身的取值有关。如高收入人群的不原意提供家庭收入。
    分析缺失的类型必须与实际业务结合,不可随意笃定。

对缺失值的处理,我们要具体问题具体分析,为什么要具体问题具体分析呢?因为属性缺失有时并不意味着数据缺失,缺失本身是包含信息的,所以需要根据不同应用场景下缺失值可能包含的信息进行合理填充。下面通过一些例子来说明如何具体问题具体分析,仁者见仁智者见智,仅供参考:

在银行贷款违约预测中有几列特征是用户的房屋信息情况,发现有部分用户的这几列房屋信息全都是空的,缺失情况完全一致,一旦缺失就是全缺。对于这种缺失情况,可以在做出的假设是这些用户没有房子所以才没有填写房子信息,那么这些没有房子的用户会不会更容易违约(财务状况可能差)?基于这个假设,就可以新建一列代表用户有没有缺失房屋信息的特征,这个特征加进模型后发现模型预测有提高,缺失值为我们提供了信息。

如果特征缺失的比例不大,常见的做法是可以对缺失值进行填充。对于连续型变量可以用均值、中位数等填充,对离散型变量可以对缺失值单独赋值,或者使用最多的那个值填充。举个例子来说,现在有10个用户,7个来自北京、2个来自上海、1个缺失。对于这个缺失的用户,我们可以给它的值为“未知”、或者用最多的“北京”填充。

3. 缺失值处理

处理缺失值的方法可以分为三类:删除记录、数据插补和不处理。

  • 删除记录
    比如某些情况,缺失值可能就是纯粹的随机缺失,没有特别的规律。如果某一个特征缺失值过多,达到80%以上,那么这一列特征可以考虑直接删除。
  • 数据插补
插补方法 方法描述
均值/中位数/众数插补 根据属性的类型,用该属性取值得平均值/中位数/众数插补举个例子来说,现在有10个用户,7个来自北京、2个来自上海、1个缺失。对于这个缺失的用户,我们可以给它的值为“未知”、或者用最多的“北京”填充。
使用固定值 将缺失的属性值用一个常量替换。比如广州一个工厂的普通外来务工人员的基本工资属性的空缺值可以用该年广东普通外来务工人员工资标准1895元/月替换
最近邻插补 在记录中找到与缺失样本最接近的样本的该属性值插补
回归方法 对带有缺失值的变量,根据已有的数据和与其有关的其他变量(因变量)的数据建立拟合模型来预测确实值的属性值
插值法 插值法是利用已知点建立合适的插值函数f(x),未知值由对应点xi求出函数值f(xi)近似代替。比如拉格朗日插值法
  • 不处理:
    不处理缺失值,直接在包含空值的数据上进行数据挖掘的方法包括贝叶斯网络和人工神经网络等。

补齐处理只是将未知值补以我们的主观估计值,不一定完全符合客观事实,在对不完备信息进行补齐处理的同时,我们或多或少地改变了原始的信息系统。而且,对空值不正确的填充往往将新的噪声引入数据中,使挖掘任务产生错误的结果。因此,在许多情况下,我们还是希望在保持原始信息不发生变化的前提下对信息系统进行处理。

贝叶斯网络提供了一种自然的表示变量间因果信息的方法,用来发现数据间的潜在关系。在这个网络中,用节点表示变量,有向边表示变量间的依赖关系。贝叶斯网络仅适合于对领域知识具有一定了解的情况,至少对变量间的依赖关系较清楚的情况。否则直接从数据中学习贝叶斯网的结构不但复杂性较高(随着变量的增加,指数级增加),网络维护代价昂贵,而且它的估计参数较多,为系统带来了高方差,影响了它的预测精度。

人工神经网络可以有效的对付缺失值,但人工神经网络在这方面的研究还有待进一步深入展开。

参考文献

参考链接1
[参考文献2]张良均. Python数据分析与挖掘实战[M]. 机械工业出版社, 2016.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容