【统计模型】缺失数据处理方法

news2024/12/23 17:21:20

目录

一、缺失数据定义

二、缺失数据原因

三、缺失数据处理步骤

四、数据缺失机制

1.完全随机缺失(MCAR)

2.随机缺失(MAR)

 3.非随机、不可忽略缺失(NMAR)

五、缺失数据处理方法

1.直接删除

2.缺失值插补

3.单一插补

(1)介绍

(2)均值插补

(3)随机插补法

(4)回归插补法

(5)随机回归插补

4.多重插补方法(R语言mice包可做)

(1)介绍

​(2)优点

六、缺失数据处理实例——R语言VIM包中的sleep数据集


一、缺失数据定义

        在实际工作中,常会因为某些原因导致数据缺失,只能观测到一部分数据,统计学中一般称为缺失数据。

二、缺失数据原因

  • 调查对象忘记回答问题
  • 调查对象拒绝回答敏感问题
  • 调查对象错过约定时间或过早退出调查
  • 获取这些信息的代价太大
  • 记录设备出现问题或数据误记

三、缺失数据处理步骤

  1. 识别缺失数据
  2. 检查导致数据缺失的原因
  3. 删除包含缺失值的案例或用合理的数值插补缺失值

四、数据缺失机制

1.完全随机缺失(MCAR)

        数据的缺失完全是随机的,数据缺失与否与其它任何完全观测或含缺失数据变量都无关,此时可以将数据完整的样本看作是所有数据集的一个简单随机样本。

P(Y Missing|X,Y)=P(Y Missing)

2.随机缺失(MAR)

        数据的缺失不是完全随机的,某变量数据缺失与否与其他完全观测变量相关,但与它自己的未观测值无关。

P(Y Missing|X,Y)=P(Y Missing|X)

 3.非随机、不可忽略缺失(NMAR)

        数据不完全变量中数据缺失的概率依赖于数据不全变量的数值本身,这种缺失机制是不可忽略缺失。

【注】第三种缺失机制不易处理和建模,因而通常假设缺失数据前两种缺失机制。

五、缺失数据处理方法

1.直接删除

        也就是将存在缺失数据的对象(元组、记录)删除,从而得到一个完整的数据信息表。

        数据缺失机制为完全随机缺失时可用此方法。

2.缺失值插补

        将缺失值作为一种特殊的属性值来处理,利用已有的数据对缺失值进行插补,以得到完整数据集加以分析。

        数据缺失机制为完全随机缺失或随机缺失时可用此方法。

        缺失值插补方法:可以用回归插补、均值插补、多重插补等方法得到缺失值的预测值,本质上是用现有数据的信息来推测缺失值。

3.单一插补

(1)介绍

        单一插补是以估算为基础的方法,利用已有数据对缺失数据进行推算,在缺失数据被替代后,对新生成的数据集进行相应的统计分析。

  • 优点:单一插补法改变了传统方法将缺失值忽略不考虑的习惯,使得各种统计分析均可以在插补后的完整数据集上展开
  • 缺点:无论采用何种方法,都存在没有考虑缺失数据的不确定性,从而导致参数估计量方差被低估的问题。尽管由于随机回归插补引入了随机误差项,能够缓解这一问题,但是随机误差项分布的确定是比较困难的

(2)均值插补

        将数据表中的变量分为连续型和非连续型来分别进行处理。

  • 连续型:根据该变量在其他所有对象取值的平均值来插补该缺失的变量值
  • 非连续型:根据统计学中的众数原理,用该变量在其他所有对象的取值次数最多的值(即出现频率最高的值)来插补该缺失的变量值

(3)随机插补法

        从有回答单位中随机抽取插补值,对缺失数据进行插补的方法。

(4)回归插补法

        该方法主要是通过建立含缺失值目标变量与数据完全的辅助变量之间的回归模型来实现缺失数据的插补。

(5)随机回归插补

        该方法就是在回归插补值的基础上再加上残差项,以反映缺失数据的不确定性。

        残差项的分布可以包括正态分布,也可以是其它的非正态分布。

4.多重插补方法(R语言mice包可做)

(1)介绍

        多重插补建立在贝叶斯理论基础之上,基于Gibbs算法来实现对缺失数据的处理。

        多重插补法分为三个步骤:

  • 插补步:基于已有数据,为含缺失数据变量建立插补模型,为每个缺失值产生多组插补值,得到多组完整数据集
  • 分析步:基于各组完整数据集进行参数估计
  • 合并步:将多组参数估计结果加以汇总

(2)优点

        多重插补的出现,弥补了单一插补法的缺陷。

  • 第一,多重插补过程产生多个中间插补值,可以利用插补值之间的变异反应无回答的不确定性,包括无回答原因已知情况下抽样的变异性和无回答原因的不确定造成的变异性
  • 第二,多重插补通过模拟缺失数据的分布,较好地保持变量之间地关系
  • 第三,多重插补能给出衡量估计结果不确定性地大量信息,单一插补给出的估计结果则较为简单

六、缺失数据处理实例——R语言VIM包中的sleep数据集

#install.packages("VIM")
#install.packages("mice")
library(VIM)
library(mice)
View(sleep)
sleep[complete.cases(sleep),]#得到无缺失值样本
sum(is.na(sleep$Dream))#Dream变量缺失样本个数
mean(is.na(sleep$Dream))#Dream变量缺失样本概率
fit=lm(Dream~Span+Gest,data=na.omit(sleep))#采用完整样本建立Dream和其他变量的回归模型
summary(fit)

#查看缺失模式,有2^10种可能
md.pattern(sleep)

#多重插补
imp=mice(sleep)#默认生成五组数据集,可以主动调整
fit=with(imp,lm(Dream~Span+Gest))
pooled=pool(fit)#合并数据结果
summary(pooled)#观看最终分析结果
imp
imp$imp$Dream#查看Dream的五次插补结果
dataset2=complete(imp,action=2)#观看第二组得到的完整数据集
dataset2

#模拟,比较多重插补和直接删除的优劣
#人为生成一个完整数据集,得到数据估计结果(真实的),随机生成一些缺失值
#然后用缺失值缺失方法处理,进行估计,和真实值进行比较,得到优劣

个人见解,该请各位读者批评指正!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/645292.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

耳朵小戴什么耳机合适,耳朵小佩戴都舒适的几款骨传导耳机分享

​骨传导耳机是通过骨骼震动来传递声音,不用经过外耳道和鼓膜,因此不会损伤听力,同时佩戴也更加舒适,不会影响对周围环境的感知。并且骨传导耳机的核心技术在于骨传导,它通过耳机后挂部分将声音直接传递到耳道&#xf…

skywalking-agent-java默认不支持spring cloud gateway问题

解决skywalking-agent-java不支持spring cloud gateway问题 开发环境:Windows10 、JDK17 下载解压Java Agent skywalking官网下载地址:https://skywalking.apache.org/downloads/ 解压目录为:D:\Programs\soft-Plugins\apache-skywalking…

CSS查缺补漏之常用文本属性、列表属性、表格属性、鼠标属性

文本属性 letter-spacing&#xff1a; 表示字母或汉字间距&#xff1b; word-spacing&#xff1a;表示单词之间或汉字之间空格的间距 <div>Loremip sumdolors itametconsecteturadipisicingelit.Voluptas.</div> <div>这是一首简单的小情歌 唱着我们心肠的曲…

探索小程序开发:2023年的全面指南

小程序是一种无需下载的应用程序&#xff0c;它可以在您的手机上打开&#xff0c;而无需在计算机上打开。小程序通过其快速&#xff0c;低成本&#xff0c;功能强大且易于使用的优势而成为更广泛的互联网趋势。 那么&#xff0c;您为什么探索小程序开发&#xff1f;开发过程可…

Unity Class深拷贝问题分析

Unity Class深拷贝问题分析 前言常用解决方案1.手动复制字段2.使用序列化工具3.使用Instantiate方法(只能用于MonoBehaviour)4.重写运算符赋值5.使用Visual Scripting中提供的拷贝函数&#xff08;推荐&#xff09; 前言 在Unity项目中&#xff0c;我们面临一个读取数据表并深…

3--Gradle入门 - 创建普通的Java工程

3--Gradle入门 - 创建普通的Java工程 前言 前面我们以及尝试过使用 Gradle 创建项目&#xff0c;下面我们使用 Idea 来创建普通的Java工程 创建普通的Java工程 1. 创建 Gradle 管理依赖的项目 语言设置 Java 依赖设置 Gradle DSL 使用 Groovy 2. 设置项目使用本地的 gradle …

B树和B+树索引

B树索引 磁盘IO读数据到内存 malloc/new 向 kernel申请4B空间&#xff0c;实际系统可能给2个页面空间即8KB&#xff0c;剩下8KB-4B空间由 lib.so 或libc.so 的 ptmalloc 或tcmalloc管理 。这样就不需要每次去kernel申请内存 磁盘IO同理&#xff0c;我们读一部分数据会把一整…

2023年6月DAMA-CDGP数据治理专家认证,这家口碑好

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

研一,有点迷茫。

作者&#xff1a;阿秀 校招八股文学习网站&#xff1a;https://interviewguide.cn 这是阿秀的第「277」篇原创 小伙伴们大家好&#xff0c;我是阿秀。 最近回答了不少大一大二研一在读的学习圈中学弟学妹的咨询问题&#xff0c;基本都是计算机学习、进度、疑惑等等相关的问题&a…

chatgpt赋能python:Python怎么批量注释

Python怎么批量注释 Python是一种高级编程语言&#xff0c;广泛应用于数据科学、人工智能、Web开发等领域。在编写Python代码时&#xff0c;注释是非常重要的一部分。注释可以帮助程序员更好地理解代码&#xff0c;便于代码的维护和修改。但有时候&#xff0c;我们需要批量注释…

华为OD机试真题 JavaScript 实现【火星文计算】【2022Q2 100分】,附详细解题思路

一、题目描述 已知火星人使用的运算符为#、$&#xff0c;其与地球人的等价公式如下&#xff1a; x#y 2*x3*y4 x$y 3*xy2 其中x、y是无符号整数&#xff1b;地球人公式按C语言规则计算&#xff1b;火星人公式中&#xff0c;$的优先级高于#&#xff0c;相同的运算符&#x…

YOLOv5/7 更换 DIoU-NMS

文章目录 NMS原理介绍DIoU-NMS效果展示NMS 耗时对比YOLOv5 更换方式YOLOv7 更换方式NMS原理介绍 在执行目标检测任务时,算法可能对同一目标有多次检测。NMS 是一种让你确保算法只对每个对象得到一个检测框的方法。 在正式使用NMS之前,通常会有一个候选框预清理的工作(简单引…

二、微机保护的结构框图原理

在实际应用中&#xff0c;微机保护装置分为单CPU和多CPU的结构方式。在中、低压变电所中多数简单的保护装置采用单CPU结构&#xff0c;而在高压及超高压变电所中复杂保护装置广泛采用多CPU的结构方式。 &#xff08;一&#xff09;单 CPU的结构原理 单CPU的微机保护装置是指整套…

5.3.1 因特网的路由协议(一)

5.3.1 因特网的路由协议&#xff08;一&#xff09; 我们知道因特网在现实生活中的应用非常广泛&#xff0c;我们可以进行网络聊天、查询资料&#xff0c;购物等&#xff0c;他给我们的现实生活带来了极大地方便&#xff0c;我们已经知道互联网是由一个个经过路由器连接的网络…

Java设计模式(八)— 单例模式3

系列文章目录 单例模式之静态内部类 单例模式之枚举方式 单例模式之JDK源码分析 文章目录 系列文章目录前言一、单例—静态内部类1.静态内部类案例2.静态内部类优缺点 二、单例—枚举方式1.枚举方式案例2.枚举方式优缺点 三、单例—JDK源码分析1.JDK源码分析 四、单例模式注意…

Java同步容器和并发容器

同步容器 在 Java 中&#xff0c;同步容器主要包括 2 类&#xff1a; Vector、Stack、HashTable Vector 实现了 List 接口&#xff0c;Vector 实际上就是一个数组&#xff0c;和 ArrayList 类似&#xff0c;但是 Vector 中的方法都是 synchronized 方法&#xff0c;即进行了同…

大型企业的知识库是什么结构的?真的有用吗?

大型企业的知识库是指建立在企业内部的一个包含各种知识和信息的系统&#xff0c;它可以帮助企业更好地管理和利用企业内部的知识资源&#xff0c;提高企业的创新能力和竞争力。 知识库的结构和内容包括以下几个方面 一、知识分类和标签化 在建立知识库之前&#xff0c;企业…

哪款佩戴舒适的蓝牙耳机好?公认佩戴舒适度高的蓝牙耳机推荐

现如今&#xff0c;蓝牙耳机越多人使用&#xff0c;不同于有线耳机&#xff0c;蓝牙耳机更为方便&#xff0c;没有线束的困扰&#xff0c;走到哪也不用带上手机一起&#xff0c;特别便利。然而&#xff0c;随着蓝牙耳机市场的扩大&#xff0c;各种类型各种样式的耳机五花八门&a…

骨传导蓝牙耳机怎么用,分享几款不错的骨传导耳机

骨传导技术是利用振动将声音转化为不同频率的机械振动&#xff0c;通过人的颅骨、骨迷路、内耳淋巴液传递、螺旋器、听神经、听觉中枢来传递声波。相比传统耳机&#xff0c;它在运动时使用&#xff0c;不会损伤到我们的听力。它不需要入耳佩戴&#xff0c;佩戴更舒适健康。 骨传…

悄悄告诉你有什么免费的ai绘画工具

是不是每次看到一幅美丽的画作&#xff0c;你都会心生羡慕&#xff0c;想要自己也能创造出那样的艺术品&#xff1f;别担心&#xff0c;现在有了ai绘画工具&#xff0c;你也可以轻松成为一位小小画家&#xff01;这些神奇的工具不仅能够帮助你发挥创造力&#xff0c;还能让你玩…