如题所述
一,原题解释:
插补值具有伪随机性质的方法( )。
A.比率插补
B.最近距离插补
C.回归插补
D.均值插补
正确答案:B
二,估计方法:
1. 均值法(Mean-substitution)
①根据缺失值的属性相关系数最大的那个属性把数据分成几个组,然后分别计算每个组的均值,把这些均值放入到缺失的数值里面就可以了。
②缺点:改变了数据的分布,还有就是有的优化问题会对方差优化,这样会让对方差优化问题变得不准确。
2. 随机填补
①一直感觉这个方法不好,就是随机在那一列属性中找个数填补到缺失值里。
②缺点:不靠谱。
3.热卡填补法(Hot-Deck)
①对于一个包含缺失值的变量,热卡填充法的做法是:在数据库中找到一个与它最相似的对象,然后用这个相似对象的值来进行填充。不同的问题可能会选用不同的标准来对相似进行判定。
②最常见的是使用相关系数矩阵来确定哪个变量(如变量Y)与缺失值所在变量(如变量X)最相关。
③然后把所有变量按Y的取值大小进行排序。那么变量X的缺失值就可以用排在缺失值前的那个个案的数据来代替了。
④缺点:太麻烦。与均值替换法相比,利用热卡填充法插补数据后,其变量的标准差与插补前比较接近。但在回归方程中,使用热卡填充法容易使得回归方程的误差增大,参数估计变得不稳定,而且这种方法用不便,比较耗时。
⑤补充,对应的还有冷卡法(Cold-Deck)。
4.最近距离决定填补法
①假设现在为时间y,前一段时间为时间x,然后根据x的值去把y的值填补好。
②缺点:一般就是在时间因素决定不显著的时候,比如一天的气温,一般不会突然降到很低,然后第二天就升的很高。
③但是对时间影响比较大的,可能就不可以了。
5.回归填补法(Regression)
①假设我y属相缺失,然后我知道x属性,然后我用回归方法对没有确实的数据进行训练模型,再把这个值得x属性带进去,对这个y属性进行预测,然后填补到缺失处。
②缺点:由于是根绝x属性预测y属性,这样会让属性之间的相关性变大。这可能会影响最终模型的训练。
6.多重填补方法(M-试探法)
①它是基于贝叶斯理论的基础上,然后用EM算法来实现对缺失值进行处理的算法。
②对每一个缺失值都给M个缺失值,这样数据集就会变成M个,然后用相同的方法对这M个样本集进行处理,得到M个处理结果,总和这M个结果,最终得到对目标变量的估计。
这里先说一下,我总结了自己在竞赛中的操作,以及一些大佬的处理方法,建议处理缺失值的方法是:
先尝试删除有缺失项的数据,然后训练模型,先把baseline做出来;
然后会依次尝试:特殊值填充,(特殊)平均值填充和最近邻法。
1. 不处理
补齐处理只是将未知值补以我们的主观估计值,不一定完全符合客观事实,在对不完备信息进行补齐处理的同时,我们或多或少地改变了原始的信息系统。
对空值不正确的填充往往将新的噪声引入数据中,使挖掘任务产生错误的结果。因此,在许多情况下,我们还是希望在保持原始信息不发生变化的前提下对信息系统进行处理。
但是训练模型的时候,可能不处理并不能进行。所以一般不会选择不处理。
2. 特殊值填充
这个是认为数据的空值也是具有一定的信息的,它之所以为空,是因为它不同于其他的任何数据。所以将空值作为一种特殊的属性值来处理,它不同于其他的任何属性值。如所有的空值都用“unknown”填充。
3. 平均值填充
如果空值是数值型的,就根据该属性在其他所有对象的取值的平均值来填充该缺失的属性值
如果空值是非数值型的,就根据统计学中的众数原理,用该属性在其他所有对象的取值次数最多的值(即出现频率最高的值)来补齐该缺失的属性值。
「比方说,一个样本的特征a缺失了,那么a就填充上所有样本的特征a的平均值」。
此外有一种叫做「条件平均值填充」的方法,是只考虑和缺失样本具有相同特征的样本的平均值。比方说某一个样本的特征a缺失了,用和这个样本的特征b相同的所有样本的特征a的平均值来填充这个缺失值。(因为这些样本和缺失数据的样本具有相同的特征,所有认为他们会更为相似)。
4. 热卡填充
对于一个包含空值的对象,热卡填充法在完整数据中找到一个与它最相似的对象,然后用这个相似对象的值来进行填充。
「【优缺点】」
优点:该方法概念上很简单,且利用了数据间的关系来进行空值估计
缺点:在于难以定义相似标准,主观因素较多。
5. 最近邻法
先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的K个样本,将这K个值加权平均来估计该样本的缺失数据。
这个方法与热卡填充有些相似,如果最近邻法仅仅考虑最近的一个样本,那么就会退化成热卡填充。不过最近邻法和热卡填充面临同样的问题,如何衡量相似度。
6. 使用所有可能的值填充
「用空缺属性值的所有可能的属性取值来填充,能够得到较好的补齐效果。」
但是,当数据量很大或者遗漏的属性值较多时,其计算的代价很大,可能的测试方案很多。
7. 模型预测
基于完整的数据集,建立预测模型。对于包含空值的对象,将已知属性值代入方程来估计未知属性值,以此估计值来进行填充。
其实就是假设特征之间也存在一定的关系,可以通过预测来得到缺失值。但是我个人不建议使用这个方法,因为有些麻烦,而且不确定这样得到的填充值的效果。又可能出现模型过拟合等新问题。
8. 多重插补
这个我看大数据竞赛中,并没有大神做这个填充缺失项的。一般对于小数据会使用这个方法,因为多重插补会反复训练模型,然后评价模型的效果。因此需要大量的时间。
9. 人工填写
在大数据中,个人不太推荐。。。
总之呢,特殊值填充,平均值填充和热卡填充是一般来说,是我的第一选择。三者都会尝试,然后比较哪一款的效果最奈斯。