机器学习(十三)缺失值处理的处理方法总结

1 缺失值产生的原因

  • 机械原因是由于机械原因导致的数据收集或保存的失败造成的数据缺失,比如数据存储的失败,存储器损坏,机械故障导致某段时间数据未能收集(对于定时数据采集而言)。
  • 人为原因是由于人的主观失误、历史局限或有意隐瞒造成的数据缺失,比如,在市场调查中被访人拒绝透露相关问题的答案,或者回答的问题是无效的,数据录入人员失误漏录了数据。

2 缺失值的类型

  • 完全随机缺失(missing completely at random,MCAR)指的是数据的缺失是随机的,数据的缺失不依赖于任何不完全变量或完全变量。
  • 随机缺失(missing at random,MAR)指的是数据的缺失不是完全随机的,即该类数据的缺失依赖于其他完全变量。完全非随机缺失(missing not at random,MNAR)指的是数据的缺失依赖于不完全变量自身。

从缺失值的所属属性上讲,如果所有的缺失值都是同一属性,那么这种缺失成为单值缺失,如果缺失值属于不同的属性,称为任意缺失。另外对于时间序列类的数据,可能存在随着时间的缺失,这种缺失称为单调缺失。

3 缺失值的处理方法

对于缺失值的处理,从总体上来说分为删除缺失值和缺失值插补。

3.1 删除含有缺失值的数据

如果在数据集中,只有几条数据的某几列中存在缺失值,那么可以直接把这几条数据删除。但是一般在比赛中,如果数据中存在缺失值,那么不能直接将数据整行删除,这里需要想其他办法处理,比如填充等

如果在数据集中,有一列或者多列数据删除,我们可以将简单地将整列删除。

一般来说,对于高维数据,可以通过删除缺失率较高的特征,可以减少噪音特征对模型的干扰。但是某种情况下使用xgb和lgb等树模型训练数据发现,直接删除缺失严重得的特征会稍微降低预测效果,因为树模型自己在分裂节点的时候,会自动选择特征,确定特征的重要性,那些缺失严重的特征,重要性会等于0。这就像L2正则化一样,对于一些特征进行惩罚,使其特征权重等于0。所以实验表明,直接删除缺失严重的特征,会误删一些对模型有些许效果的特征,而不删除,其实对于模型来说,影响不大。

3.2 可能值插补缺失值

(1)均值插补。数据的属性分为定距型和非定距型。如果缺失值是定距型的,就以该属性存在值的平均值来插补缺失的值;如果缺失值是非定距型的,就根据统计学中的众数原理,用该属性的众数(即出现频率最高的值)来补齐缺失的值。

(2)利用同类均值插补。同均值插补的方法都属于单值插补,不同的是,它用层次聚类模型预测缺失变量的类型,再以该类型的均值插补。假设X=(X1,X2…Xp)为信息完全的变量,Y为存在缺失值的变量,那么首先对X或其子集行聚类,然后按缺失个案所属类来插补不同类的均值。如果在以后统计分析中还需以引入的解释变量和Y做分析,那么这种插补方法将在模型中引入自相关,给分析造成障碍。

(3)极大似然估计(Max Likelihood ,ML)。在缺失类型为随机缺失的条件下,假设模型对于完整的样本是正确的,那么通过观测数据的边际分布可以对未知参数进行极大似然估计(Little and Rubin)。这种方法也被称为忽略缺失值的极大似然估计,对于极大似然的参数估计实际中常采用的计算方法是期望值最大化(Expectation Maximization,EM)。该方法比删除个案和单值插补更有吸引力,它一个重要前提:适用于大样本。有效样本的数量足够以保证ML估计值是渐近无偏的并服从正态分布。但是这种方法可能会陷入局部极值,收敛速度也不是很快,并且计算很复杂。

(4)多重插补(Multiple Imputation,MI)。多值插补的思想来源于贝叶斯估计,认为待插补的值是随机的,它的值来自于已观测到的值。具体实践上通常是估计出待插补的值,然后再加上不同的噪声,形成多组可选插补值。根据某种选择依据,选取最合适的插补值。

4 参考资料

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏算法channel

高斯混合模型:不掉包实现多维数据聚类分析

《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来...

42060
来自专栏机器学习原理

机器学习篇(2)——最小二乘法概念最小二乘法

前言:主要介绍了从最小二乘法到 概念 顾名思义,线性模型就是可以用线性组合进行预测的函数,如图: ? image.png 公式如下: ? i...

67350
来自专栏AI2ML人工智能to机器学习

矩有四子

在讨论一些方法的几何意义之前需要理解一下线性代数的一个基础知识,就是矩阵和它代表的空间的含义。

14230
来自专栏MelonTeam专栏

机器学习入门系列05,classification: probabilistic generative model(分类:概率生成模型)

引用课程:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ml16.html 先看这里,可能由于你正在查看这个平台行...

44550
来自专栏杨熹的专栏

Machine Learning Notes-Linear Regression-Udacity

什么是 Regression? Regression 就是想找到因变量和自变量之间的关系,用一个函数来表示,并且可用这个函数来预测任意一个新的 x 会有怎样的 ...

36940
来自专栏企鹅号快讯

基础 Word2vec的原理介绍

一,词向量的概念 将 word映射到一个新的空间中,并以多维的连续实数向量进行表示叫做“Word Represention” 或 “Word Embedding...

262100
来自专栏Coding迪斯尼

详解神经网络中的神经元和激活函数

13830
来自专栏机器之心

教程 | 仅需六步,从零实现机器学习算法!

从头开始写机器学习算法能够获得很多经验。当你最终完成时,你会惊喜万分,而且你明白这背后究竟发生了什么。

13120
来自专栏Petrichor的专栏

深度学习: ResNet (残差) 网络

ResNet (残差) 网络 由He Kaiming、Sun jian等大佬在2015年的论文 Deep Residual Learning for Image...

1.2K20
来自专栏机器学习AI算法工程

Python写算法:二元决策树

二元决策树就是基于属性做一系列的二元(是/否)决策。每次决策对应于从两种可能性中选择一个。每次决策后,要么引出另外一个决策,要么生成最终的结果。一个实际训练...

31540

扫码关注云+社区

领取腾讯云代金券