统计过程中要如何处理缺失数据?

Christina 2018-02-02 17:10:28.0
1

最近做楼市走势的研究,在网上到处找数据,数据质量不咋地,一打开看就眼痛头痛,数据非常杂乱,而且不少属性有空值或者是无意义的值,感觉无从下手,这个对于数据分析和挖掘影响挺大的,那么应该如何处理这些缺失值呢?

评论(25
请先登录后再发表评论
蜡笔小曦 2018-02-02 17:13:50.0 回复
0

数据缺失在统计分析里经常会遇到的,为了数据完整性,通常会采用插补调整的方法,避免直接排除缺失值带来的统计检验效能减少和偏性。

Christina 2018-02-02 17:14:23.0 回复
0
回复蜡笔小曦:

怎么用插补法?

蜡笔小曦 2018-02-02 17:14:49.0 回复
0

首先要对数据的缺失机制进行统计检验,针对是否存在显著分布偏性,再采取相应的插补算法

Christina 2018-02-02 17:15:28.0 回复
0

有点抽象,怎么分析缺失机制?

蜡笔小曦 2018-02-02 17:16:25.0 回复
0
回复Christina:

"缺失数据有很多种缺失机制,在不了解原因和机制的时候瞎做基本就是耍流氓。统计上通常讨论的有如下(不限于)三种:

 MCAR: Missing completely at random 完全随机缺失数据 

MAR: Missing at randomN 随机缺失数据 

MAR: Misiing not at random 不可忽略的漏填数据"

大诗兄 2018-02-02 17:17:23.0 回复
0

首先看你的数据量有多少,其次看你的缺失比例有多少,再就是看一下缺失数据的分布吧

大诗兄 2018-02-02 17:17:46.0 回复
0

如果数据总量大,缺失数据占比少的话,删除就是最简单最直接的方法,很多时候也是最有效的方法,这种做法的缺点是可能会导致信息丢失,不适用缺失数据占比大的情况

小迷糊熊 2018-02-02 17:18:20.0 回复
0
回复大诗兄:

对,首要看缺失量占比,是10%还是90%还是更多,如果缺失少的话,用传统的处理方法就可以,方法有很多。缺失很多的话几乎相当于废,那就可以删去了,或者用规则或模型将缺失数据补全

Kathryn 2018-02-02 17:22:36.0 回复
0

"在处理缺失数据的时候,最常用的方法是: 

1.不处理 

2.删除 

3.填补 

每种方法在某种特殊的情境下都可能是最优的。 

例如:当数据的规模为10000*15时存在一个单元格的缺失,而且不涉及到时间序列等等前后单元格关联较强的方法,可以直接删除缺失值所在的记录。 

例如:当你使用的数据挖掘算法或者数据分析算法允许缺失值存在,并且在设计算法的时候就考虑到了存在缺失值的情况下如何挖掘更多的信息,你也可以选择不做处理直接分析含有缺失值的数据。

 然而,上述的例子有着较大局限性,实际上,我们处理的数据基本是存在比较大的数据缺失问题,不像上述例子那么小儿科。所以我们只能考虑填补缺失值这条路。

小迷糊熊 2018-02-02 17:24:24.0 回复
0
回复Kathryn:

对于不处理缺失值的挖掘,有一些模型,如随机森林、贝叶斯网络、人工神经网络等,自身能够处理数据缺失的情况,在这种情况下不需要对缺失数据做任何的处理,缺点就是在模型的选择上有局限。

纯洁的半烟 2018-02-02 17:26:23.0 回复
0

比较常用的插补方法就是下面的这些: 

1. 用平均值、中值、分位数、众数、随机值等替代。效果一般,因为等于人为增加了噪声。

 2. 用其他变量做预测模型来算出缺失变量,常用的有回归插补法、演绎插补法等。效果比方法1略好。有一个根本缺陷,如果其他变量和缺失变量无关,则预测的结果无意义。如果预测结果相当准确,则又说明这个变量是没必要加入建模的。一般情况下,介于两者之间。 

上面的方法是用已有数据来估计/填补缺失值,没有反映出缺失数据本身的不确定性,也会扭曲变量关系,模型的方差结果通常也是有偏向的

小迷糊熊 2018-02-02 17:28:01.0 回复
0
回复纯洁的半烟:

你说到的不确定性问题,可以用多重插补来解决,它是一种基于重复模拟的处理缺失值的方法,可以准确地反映出由于缺失值和多重插补而产生的不确定性。这里简单说一下处理步骤: 对缺失数据填补M次,得到m个完整的数据集 使用标准程序去分析这m个完整的数据集 综合这个完整数据集的分析结果,去推断

雾里看自己 2018-02-02 17:29:29.0 回复
0

如果缺失数据占比大,通常会用多变量多重插补来估算缺失值,它将从一个包含缺失值的数据集中生成一组完整的数据集(M>1),可以避免直接排除缺失值带来的统计检验效能减少和偏性,保持变量之间的相关性。

Lillian 2018-02-03 12:18:01.0 回复
0

像百度、Google等大厂做CTR预估模型,通常采用把变量映射到高维空间的做法,预处理时会把所有变量都这样处理,达到几亿维。比如性别,有男、女、缺失三种情况,则映射成3个变量:是否男、是否女、是否缺失。连续型变量也可以这样处理。 这样做的好处是完整保留了原始数据的全部信息、不用考虑缺失值、不用考虑线性不可分之类的问题。缺点是计算量大大提升。 当然,上面的做法只适合样本量非常大的情况,否则会因为数据过于稀疏,效果很差。

赛佛儿 2018-02-03 14:06:14.0 回复
0

多重插补算是很复杂的了,优势也很明显,就是能避免数据偏性,缺点就是工作量太大,要多次创建插补集合和结果分析

Christina 2018-02-03 14:12:49.0 回复
0
回复赛佛儿:

用多重插补,一个缺失值会有多个插补值,但是只要填充一个进去,请问我要怎么选择插补哪个数值呢?

赛佛儿 2018-02-03 14:13:19.0 回复
0
回复Christina:

多重插补是根据候补的数据集来计算推断出缺失值,结果是唯一的,你只能选择用什么方法来推断缺失值,不用选择“插补”哪个

Christina 2018-02-03 14:14:29.0 回复
0
回复赛佛儿:

那怎么判断我推断出来的插补值是不是合适呢?

赛佛儿 2018-02-03 14:14:54.0 回复
0
回复Christina:

判断插补的效果如何,通常是看替补值和缺失值的近似程度,详细计算可以去看看统计学里对于多重插补的学术文章,里面都有案例介绍的,说得比较清楚

Christina 2018-02-03 14:15:26.0 回复
0
回复赛佛儿:

谢谢,我这就去找找看