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

article/2025/11/5 9:03:45

目录

一、缺失数据定义

二、缺失数据原因

三、缺失数据处理步骤

四、数据缺失机制

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://chatgpt.dhexx.cn/article/GYOkaBQK.shtml

相关文章

数学统计建模

数据预处理 数据清洗 无量纲处理 检验数据来自哪个分布 正态分布检验 K-S检验的P值检验正态性 非正态数据处理 数据偏态处理 BOX-COX变换 成分数据处理 clr变换 ilr变换 logit变换 属性数据 相关性检验 假设检验方法使用时应首先判断数据是否为正态数据。如果是&#x…

【数学建模】统计分析方法

文章目录 1.回归分析2. 逻辑回归3. 聚类分析4. 判别分析5. 主成分分析6. 因子分析7. 对应分析 1.回归分析 数据量要多,样本总量n越大越好——>保证拟合效果更好,预测效果越好 一般n>40/45较好 方法 建立回归模型 yiβ0β1i……βkxkiεi 所估计的…

统计模型分类

传统统计模型->回归模型(可解决过去和预测未来) 数据挖掘模型->决策树、神经网络等(只能预测未来) 横截面模型:多元回归,逻辑回归,托宾回归(涉及到泊松分布) 向量…

(R语言)R的统计模型

1定义统计模型的公式 下面统计模型的模板是一个基于独立的方差齐性数据的线性模型 用矩阵术语表示,它可以写成 其中y是响应向量,X是模型矩阵(model matrix)或者设计矩阵(design ma- trix)。X的列 是决定变…

【统计学习方法】模型评估与模型选择

一、训练误差与测试误差 首先引入误差的概念,误差(error)是指:学习器的实际预测输出与样本的真实输出之间的差异。类似地,学习器在训练集上的误差被称之为训练误差(training error)或者经验误差…

statsmodels︱python常规统计模型库

之前看sklearn线性模型没有R方,F检验,回归系数T检验等指标,于是看到了statsmodels这个库,看着该库输出的结果真是够怀念的。。 文章目录 1 安装2 相关模型介绍2.1 线性模型2.2 离散选择模型(Discrete Choice Model, DCM)2.3 非参数…

数学建模——统计回归模型

前言:看完数学建模的统计回归模型,更是感到了数学建模的“细腻”之处,对比与机器学习,如果说机器学习像是“打一场仗”,那数学建模更是像“做一场手术”,一个简单的回归问题也可以从中感觉到他“细腻”的美…

统计模型 | 学习笔记

一.概述 任何统计模型都是对现实世界复杂联系的简化 根据目的分类 聚类方法(细分类模型):市场细分,协同推荐 预测方法:回归模型,时间序列模型 关联归纳方法:购物篮分析,序列分析…

七大统计模型

一、多元回归 1、概述: 在研究变量之间的相互影响关系模型时候,用到这类方法,具体地说:其可以定量地描述某一现象和某些因素之间的函数关系,将各变量的已知值带入回归方程可以求出因变量的估计值,从而可…

03 常用统计模型简述

逻辑回归模型(LR) 原理:分类模型,依据逻辑斯蒂分布,将线性模型转化为逻辑回归模型,使结果分布0~1之间。 前置条件: 自变量为连续变量,分类变量转为虚拟变量(哑变量)使用 自变量与因…

不可不知的七大统计模型

一、多元回归 1、概述: 在研究变量之间的相互影响关系模型时候,用到这类方法,具体地说:其可以定量地描述某一现象和某些因素之间的函数关系,将各变量的已知值带入回归方程可以求出因变量的估计值,从而可…

数学建模笔记(十一):统计模型(MATLAB计算,函数参数解释待补充)

文章目录 一、概述二、参数估计——区间估计1.糖果称重(求总体均值 μ \mu μ的双侧置信区间)(一)根据公式计算结果(二)直接使用 t t e s t ( ) ttest() ttest()函数 2.灯泡寿命( μ \mu μ的单…

scss和sass的区别,scss的基本使用

scss的官方文档 https://www.sass.hk/ sass和scss有什么关系? 1、sass和scss其实是一样的css预处理语言,SCSS 是 Sass 3 引入新的语法,其后缀名是分别为 .sass和.scss两种。 2、SASS版本3.0之前的后缀名为.sass,而版本3.0之后…

vue 安装 scss

安装scss (安装sass-loader node-sass 前者依赖于后者) sass-loader:把 sass编译成css node-sass:nodejs环境中将sass转css npm install sass-loader --save-dev npm install node-sass --sava-dev 安装指定版本:当由于版本过高报错时&#…

scss、sass 和 css 的区别

项目中,会经常使用诸如scss、sass的style样式,它们和css有什么区别呢? less大家应该都不陌生,同样的scss、sass一样,它们都可以称为:CSS预处理器语言。 简单来说,scss和sass的区别,就…

Scss 基本使用(变量、嵌套)

1. Scss 简介 Sass (Syntactically Awesome Stylesheets) 是一种动态样式语言,Sass 语法属于缩排语法,比 css 比多出好些功能 (如:变量、嵌套、运算,混入(Mixin)、继承、颜色处理,函数等),更容易阅读。 Sass 的缩排语…

sass与scss的区别

用了很久css预编译器,但是一直不太清楚到底用的sass还是scss,直到有天被问住了有点尴尬,找了个教程撸了遍。。。 异同:简言之可以理解scss是sass的一个升级版本,完全兼容sass之前的功能,又有了些新增能力。…

SCSS的基本用法-入门篇

文章目录 前言一、什么是Sass二、SASS 和 SCSS 的区别三、Scss的基本语法1、声明变量 $2、默认变量 !default3、变量调用4、局部变量和全局变量5、嵌套5.1、选择器嵌套5.2、属性嵌套5.3、伪类嵌套 6、混合宏6.1、声明6.1.1、不带参数混合宏6.1.2、带参数混合宏 6.2、调用6.3、混…

Sass 和 SCSS

▣Sass (Syntactically Awesome StyleSheets),是由buby语言编写的一款css预处理语言,和html一样有严格的缩进风格,和css编写规范有着很大的出入,是不使用花括号和分号的,所以不被广为接受。 Sass 是一款强化 CSS 的辅助…

scss的基本使用

文章目录 SCSS-了解和基本使用sass、scss、less、css的区别 SCSS-基本语法1. 嵌套语法2. 变量3. 父选择器 &4. 混合 mixins5. 模块 SCSS-了解和基本使用 总结一些scss基本使用 具体详情请看官网 sass、scss、less、css的区别 less, sass, scss都是css预处理语言&#xf…