R语言高级方法进行缺失数据多重插补案例演示

当我们在数据集中缺少值时,重要的是考虑为什么它们会丢失以及它们对分析的影响。有时忽略丢失的数据会降低功耗,但更重要的是,有时它会使答案有偏差,并有可能误导错误的结论。因此,重要的是要考虑丢失的数据机制是什么,以便对其进行处理。 Rubin(1976)区分了三种类型的误报机制:

  • 完全随机缺失(MCAR)Missing completely at random:当可以将缺少值的案件视为所有案件的随机样本时;在实践中很少发生MCAR
  • 随机丢失(MAR)Missing at random :以我们拥有的所有数据为条件时,任何剩余的丢失都是完全随机的;也就是说,它不依赖于某些缺少的变量。因此,可以使用观察到的数据对缺失进行建模。然后,我们可以对可用数据使用专门的缺失数据分析方法,以纠正缺失的影响。
  • 非随机丢失(MNAR)Missing not at random:当数据既不是MCAR也不是MAR时。这种情况通常很难处理,因为它将需要对缺失模式进行强有力的假设。

缺失数据的常见处理方法

  • 人们尝试处理丢失数据的一种常见方法是删除所有缺少值的情况。这种方法称为完整案例分析(CC:Complete cases)。但是,CC仅在数据为MCAR时有效。
  • 另一种方法是多重插补(MI:multiple imputation),这是一种 (monte carlo) 蒙特卡洛方法,它模拟多个值以插补(填充)每个缺失值,然后分别分析每个插补数据集,最后将结果汇总在一起。我们多次估算缺失的数据,以解决我们对缺失数据的真实(未知)值的不确定性。
  • 在处理示例数据集时,我们对多重插补更加满意。从理论上讲,多重插补可以处理所有三种类型的缺失。但是,执行多重插补通常不适合MNAR情况。MNAR类型的数据的数据分析更加复杂,这里我们假设数据是属于 MAR 数据。

实际数据操作

# required libraries
library(mice)
## Warning: package 'mice' was built under R version 3.6.3
## 
## Attaching package: 'mice'
## The following objects are masked from 'package:base':
## 
##     cbind, rbind
library(VIM)
## Warning: package 'VIM' was built under R version 3.6.3
## Loading required package: colorspace
## Loading required package: grid
## Loading required package: data.table
## VIM is ready to use. 
##  Since version 4.0.0 the GUI is in its own package VIMGUI.
## 
##           Please use the package to use the new (and old) GUI.
## Suggestions and bug-reports can be submitted at: https://github.com/alexkowa/VIM/issues
## 
## Attaching package: 'VIM'
## The following object is masked from 'package:datasets':
## 
##     sleep
library(lattice)

载入数据

  • 这是一个25行四列的数据
  • A data frame with 25 observations on the following 4 variables.
  • age:Age group (1=20-39, 2=40-59, 3=60+)
  • bmi:Body mass index (kg/m**2)
  • hyp:Hypertensive (1=no,2=yes)
  • chl:Total serum cholesterol (mg/dL)
# load data
data(nhanes2)
dim(nhanes2)
## [1] 25  4
head(nhanes2)
##     age  bmi  hyp chl
## 1 20-39   NA <NA>  NA
## 2 40-59 22.7   no 187
## 3 20-39   NA   no 187
## 4 60-99   NA <NA>  NA
## 5 20-39 20.4   no 113
## 6 60-99   NA <NA> 184

md.pattern可视化缺失模式

md.pattern(nhanes2) 
image.png
##    age hyp bmi chl   
## 13   1   1   1   1  0
## 3    1   1   1   0  1
## 1    1   1   0   1  1
## 1    1   0   0   1  2
## 7    1   0   0   0  3
##      0   8   9  10 27

VIM包对缺失数据可视化

  • aggr函数可视化
library(VIM)
nhanes2_aggr = aggr(nhanes2,
                    col=mdc(1:2), # 颜色设置
                    numbers=TRUE, 
                    sortVars=TRUE, 
                    labels=names(nhanes2), 
                    cex.axis=.7, gap=3, 
                    ylab=c("Proportion of missingness","Missingness Pattern"))
image.png
还有 71% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
支付 ¥6.99 继续阅读
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容