Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >评分模型的缺失值

评分模型的缺失值

作者头像
许卉
发布于 2019-07-15 09:17:58
发布于 2019-07-15 09:17:58
1.9K0
举报
文章被收录于专栏:Data AnalystData Analyst

公式模型必须处理缺失值

构建评分模型过程中,建模属于流程性的过程,耗时不多,耗费大量精力的点在于缺失值的填充。缺失值填充的合理性直接决定了评分模型的成败。模型按照形式可划分为公式模型与算法模型,不同形式的模型对缺失值的宽容程度不同。

公式模型必须处理缺失值,如果不进行处理,则缺失值对应的该条观测会被排除在建模样本之外,如回归模型、神经网络等都需要进行缺失值的处理。

算法模型对缺失值比较稳健,这类模型会将缺失值单独划分为一类,但算法模型对缺失值的宽容也带来了模型稳定性弱的弊端,如决策树

补缺原则

一般情况下,缺失值填补的底线是,补缺后变量数据的分布不可以发生显著变化。缺失值的填补我通常会遵循这样的原则

  • 通常如果缺失值比例超过80%则放弃填补,但在实际工作中,缺失比例超过50%基本上我就会放弃补缺;

如果变量缺失很高但基于业务含义上的重要性无法舍弃,那么就需要针对这个变量生成一个指示哑变量,让这个哑变量去代替原始变量参与后续的建模工作,哑变量的设置方法为原始变量无缺则设置为1、缺失则为0。但是由于原始变量缺失比例过高、自身信息过少,所以我觉得设置哑变量强行入模这种方法意义并不大;

  • 缺失比例为20%-50%,可以使用生成哑变量的方法进行变量入模;
  • 缺失比例小于20%,连续变量使用均值或中位数进行填补,分类变量用众数去进行填补。

了解缺失机制很重要

缺失值填补是个比较麻烦的问题,了解确实机制很重要,一般,缺失分为随机缺失与非随机缺失两种:

随机缺失可以这样理解,念书时需要家长在考卷上签字,如果有9张试卷需要签字,因为你的大意,弄丢了一张试卷,这种缺失即为随机缺失;

非随机缺失可以这样理解,9张试卷中,有一张的分数特别低,于是,你故意丢掉了这张分数低的试卷,这种缺失即为非随机缺失。

需要注意的是,一般我们只会去填补随机缺失的样本,而非随机缺失值则需要去找到缺失背后的故意机制,即找出原因后再进行填补。

怎么补缺?插补法!!

通常缺失值填充的方法为插补法,插补法的种类很多,分类如下图:

下面分别说明该怎样理解这些不同的插补法:

  • 单一插补

可以理解为自己填补自己,即针对每个缺失值,从其预测分布中取出一个值进行填充。单一插补又分为随机插补与确定性插补两种,其中确定性插补有四种方法,即:

1 推理插补:依赖经验

2 均值插补:简单而平淡;

3 热平台插补:直观好用

4 冷平台插补:他人补自己

  • 多重插补

可以理解为依靠别人去填补自己,常见的三种方法可以实现多重插补,即:

1 回归补缺法;

2 倾向得分法,即贝叶斯公式填补法;

3 MCMC补缺法。

多重插补面临的主要问题是如何得到缺失数据的多个插补版本,为正确进行插补,需明确缺失机制后再讨论插补机制。多重插补缺点:

1 工作量大于单一插补;

2 贮存多重插补数据需要更多存储空间

3 分析多重插补数据集比单一插补需要花费更多精力

均值插补法->简单但没有吸引力

均值插补最简单但缺乏吸引力的插补方法,做法是用样本所有观测数据的均值去替代所有的缺失值,这种方法只能在缺失值为完全随机缺失时才能够为总体均值或总量提供无偏估计。

均值插补法会存在一个问题,如果缺失比例较高,用该方法进行填补,所有的插补值都集中在了均值点上,数据分布形成尖峰、分布严重扭曲,从而导致低估方差。

所以为了解决这个问题,缺失值填补前需将数据进行分组,每个小的分组里面在用均值进行插补,即局部均值插补一般我的经验是如果数据缺失50%我会直接均值填补,如果缺失超过了50%我会分组后再去进行均值填补

热平台插补->我喜欢

热平台插补最流行的插补方法之一,简单直观,也是我最经常使用的一种补缺方式。

热平台插补为 使用与受者相似的供者记录信息来替代受者记录中的缺失值的方法,即从其他地方随机抽样后再进行填补,例如10000个数值中有20个缺失,还有9000个是完整的,即从9000个中随机抽几个进行补充。需要注意的是,抽样时需要分组后再进行抽样。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Data Analyst 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Kaggle知识点:缺失值处理
在进行数据竞赛中,数据预处理阶段经常需要对数据进行缺失值处理。关于缺失值的处理并没有想象中的那么简单。以下为一些经验分享,基本涵盖了大部分处理方式。
Coggle数据科学
2022/05/05
2.1K0
Kaggle知识点:缺失值处理
【Python数据分析基础】: 数据缺失值处理
再好的模型,如果没有好的数据和特征质量,那训练出来的效果也不会有所提高。数据质量对于数据分析而言是至关重要的,有时候它的意义会在某种程度上会胜过模型算法。
Python数据科学
2018/08/06
2.6K0
【Python数据分析基础】: 数据缺失值处理
缺失值的处理方法
对于数据挖掘和分析人员来说,数据准备(Data Preparation,包括数据的抽取、清洗、转换和集成)常常占据了70%左右的工作量。而在数据准备的过程中,数据质量差又是最常见而且令人头痛的问题。本文针对缺失值和特殊值这种数据质量问题,进行了初步介绍并推荐了一些处理方法。 值得注意的是,这里所说的缺失值,不仅包括数据库中的NULL值,也包括用于表示数值缺失的特殊数值(比如,在系统中用-999来表示数值不存在)。如果我们仅有数据库的数据模型,而缺乏相关说明,常常需要花费更多的精力来发现这些数值的特殊含义
小莹莹
2018/04/25
2.7K0
【V课堂】数据挖掘知识脉络与资源整理(五)–缺失值处理
简介: 缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类,分组,删失或截断。它指的是现有数据集中某个或某些属性的值是不完全的。数据挖掘所面对的数据不是特地为某个挖掘目的收集的,所以可能与分析相关的属性并未收集(或某段时间以后才开始收集),这类属性的缺失不能用缺失值的处理方法进行处理,因为它们未提供任何不完全数据的信息,它和缺失某些属性的值有着本质的区别。 产生的原因: 缺失值的产生的原因多种多样,主要分为机械原因和人为原因。机械原因是由于机械原因导致的数据收集或保存的失败造成的数据缺失,比如数据存
小莹莹
2018/04/23
8950
【V课堂】数据挖掘知识脉络与资源整理(五)–缺失值处理
数据的预处理基础:如何处理缺失值
数据清理/探索性数据分析阶段的主要问题之一是处理缺失值。缺失值表示未在观察值中作为变量存储的数据值。这个问题在几乎所有研究中都是常见的,并且可能对可从数据得出的结论产生重大影响。
deephub
2020/05/09
2.8K0
数据的预处理基础:如何处理缺失值
在R语言中进行缺失值填充:估算缺失值
估算缺失值的方法的选择在很大程度上影响了模型的预测能力。在大多数统计分析方法中,按列表删除是用于估算缺失值的默认方法。但是,它不那么好,因为它会导致信息丢失。
拓端
2020/09/26
2.8K0
R语言数据分析与挖掘(第一章):数据预处理(2)——缺失值常用的处理方法
上一篇文章(缺失值处理)介绍了缺失值处理的判断方法,这一讲接着介绍缺失值常用的几种处理方法:删除法,替换法和插补法。不同的方法对应不同类型的缺失值。
DoubleHelix
2019/09/25
2.7K0
R语言数据分析与挖掘(第一章):数据预处理(2)——缺失值常用的处理方法
R语言之缺失值处理
在实际的数据分析中,缺失数据是常常遇到的。缺失值(missing values)通常是由于没有收集到数据或者没有录入数据。
timerring
2023/10/13
7210
R语言之缺失值处理
102-R数据整理12-缺失值的高级处理:用mice进行多重填补
比如multivariate imputation by chained equations (MICE) 方法:
北野茶缸子
2022/04/05
7.8K1
102-R数据整理12-缺失值的高级处理:用mice进行多重填补
如何应对缺失值带来的分布变化?探索填充缺失值的最佳插补算法
本文将探讨了缺失值插补的不同方法,并比较了它们在复原数据真实分布方面的效果,处理插补是一个不确定性的问题,尤其是在样本量较小或数据复杂性高时的挑战,应选择能够适应数据分布变化并准确插补缺失值的方法。
deephub
2024/06/17
6280
如何应对缺失值带来的分布变化?探索填充缺失值的最佳插补算法
缺失值处理(r语言,mice包)
对缺失值的处理是数据预处理中的重要环节,造成数据缺失的原因有:数据丢失、存储故障和调查中拒绝透露相关信息。这里我们使用VIM包中的sleep数据集为样本,介绍缺失值处理的方法。sleep数据集纪录了62个哺乳动物的睡眠信息,包括体重,睡眠时长,做梦时长等。 缺失值分类 1,完全随机缺失(MCAR):缺失数据与其他变量无关。如果每个缺失变量都为MCAR,则完整样本可看为更大数据集的简单抽样。 2,随机缺失(CAR):缺失数据与其他观测变量相关,与本身变量不相关。比如体重小的动物Dream数据更容易缺失(较小动
三猫
2018/04/10
3.9K0
缺失值处理(r语言,mice包)
评分卡模型开发-用户数据缺失值处理
本文讲述了如何利用Python和R语言对数据集进行缺失值和异常值处理,包括利用均值、中位数、众数、插值、基于邻近算法、基于模型的回归、聚类、分类等多种方法。同时,还介绍了一种基于Knime的缺失值处理方法。
Erin
2018/01/09
1.4K0
评分卡模型开发-用户数据缺失值处理
R语言︱缺失值处理之多重插补——mice包
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! https://blog.csdn.net/sinat_26917383/article/details/51265213
悟乙己
2019/05/26
11.6K0
机器学习(十三)缺失值处理的处理方法总结
1 缺失值产生的原因 机械原因是由于机械原因导致的数据收集或保存的失败造成的数据缺失,比如数据存储的失败,存储器损坏,机械故障导致某段时间数据未能收集(对于定时数据采集而言)。 人为原因是由于人的主观失误、历史局限或有意隐瞒造成的数据缺失,比如,在市场调查中被访人拒绝透露相关问题的答案,或者回答的问题是无效的,数据录入人员失误漏录了数据。 2 缺失值的类型 完全随机缺失(missing completely at random,MCAR)指的是数据的缺失是随机的,数据的缺失不依赖于任何不完全变量或完全变量。
致Great
2018/12/13
2K0
缺失值处理,你真的会了吗?
缺失值处理是一个数据分析工作者永远避不开的话题,如何认识与理解缺失值,运用合适的方式处理缺失值,对模型的结果有很大的影响。本期Python数据分析实战学习中,我们将详细讨论数据缺失值分析与处理等相关的一系列问题。
数据STUDIO
2021/06/24
1.7K0
机器学习中处理缺失值的7种方法
现实世界中的数据往往有很多缺失值。丢失值的原因可能是数据损坏或未能记录数据。在数据集的预处理过程中,丢失数据的处理非常重要,因为许多机器学习算法不支持缺失值。
磐创AI
2020/08/17
8.1K0
机器学习中处理缺失值的7种方法
特征工程系列:数据清洗
关于作者:JunLiang,一个热爱挖掘的数据从业者,勤学好问、动手达人,期待与大家一起交流探讨机器学习相关内容~
木东居士
2019/08/01
2.4K0
特征工程系列:数据清洗
数据分析之Pandas缺失数据处理
3. 缺失数据的运算与分组 3.1. 加号与乘号规则 3.2. groupby方法中的缺失值 4. 填充与剔除 4.1. fillna方法 4.2. dropna方法 5. 插值
Datawhale
2020/07/06
1.7K0
数据分析之Pandas缺失数据处理
【缺失值处理】拉格朗日插值法—随机森林算法填充—sklearn填充(均值/众数/中位数)
缺失值的处理准备数据1 sklearn填充(1)使用均值进行填补(连续型特征)(2)使用中位数、0进行填补(连续型特征)(3)使用众数进行填补(离散型特征)(4)KNN填补
用户7886150
2020/12/30
3.1K0
超详细的 R 语言插补缺失值教程来啦~
在分析数据集时,常常会碰到一些缺失值,如果缺失值的数量相对总体来说非常小,那么直接删除缺失值就是一种可行的方法。但某些情况下,直接删除缺失值可能会损失一些有用信息,此时就需要寻找方法来补全缺失值。今天小编给大家介绍一个用来处理缺失值的 R 包——MICE,本文为译文,原文链接[1]及参考文章[2]见文末。
庄闪闪
2021/12/02
16.5K2
超详细的 R 语言插补缺失值教程来啦~
推荐阅读
相关推荐
Kaggle知识点:缺失值处理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档