【问题标题】:Generating different percentages of MAR data in R在 R 中生成不同百分比的 MAR 数据
【发布时间】:2017-02-11 21:01:35
【问题描述】:

以下两个 R 函数来自《Flexible Imputation of Missing Data》一书(第 59 和 63 页)。第一个生成完全随机缺失(MCAR)数据,第二个生成随机缺失(MAR)数据。这两个函数都给出了大约 50% 的缺失值。 ​

在 MCAR 函数中,我们可以通过改变 p 值来生成不同百分比的缺失数据。但是在 MAR 函数中,​我不明白我们应该更改哪个参数来生成不同百分比的缺失数据,例如 10% 或 30%?

MCAR

makemissing <- function(data, p=0.5){
  rx <- rbinom(nrow(data), 1, p)
  data[rx==0,"y"] <- NA
  return(data)
}

三月

logistic <- function(x) exp(x)/(1+exp(x))
set.seed(32881)
n <- 10000
y <- mvrnorm(n=n,mu=c(5,5),Sigma=matrix(c(1,0.6,0.6,1),nrow=2))
p2.marright <- 1 - logistic(-5 + y[,1])
r2.marright <- rbinom(n, 1, p2.marright)
yobs <- y
yobs[r2.marright==0, 2] <- NA

【问题讨论】:

  • 有关缺失数据主题的信息性报道,请参阅 Roderick J.A. 的 Statistical Analysis with Missing Data 2nd Edition。利特尔和唐纳德 B. 鲁宾 (2002) 威利.

标签: r regression missing-data


【解决方案1】:

对于 MCAR 函数,每个案例的观测缺失概率为 50%,因为根据定义,缺失是随机的。对于 MAR 版本,每个观测值丢失观测值的概率是不同的,因为它取决于 y[,1] 的值。在您的代码中,y[,2] 上的缺失概率保存在变量 p2.marright 中。通过排列数据框中的所有值,您或许可以更轻松地看到这一点:

df <- data.frame(y1 = y[,1], y2_ori = y[,2], y2_mis = yobs[,2], p2.marright = p2.marright, r2.marright)
head(df)
        y1   y2_ori   y2_mis p2.marright r2.marright
1 2.086475 3.432803 3.432803   0.9485110           1
2 3.784675 5.005584 5.005584   0.7712399           1
3 4.818409 5.356688       NA   0.5452733           0
4 2.937422 3.898014 3.898014   0.8872124           1
5 6.422158 5.032659 5.032659   0.1943236           1
6 4.115106 5.083162 5.083162   0.7078354           1

您可以看到 y2 上的观察是否为 NA 编码为 r2.marright,这是 p2.marright 的概率二进制版本 --- 对于更高的 p2.marright 值,r2.marright更可能是 1. 要改变整体缺失率,您可以更改p2.marright 的计算以使其偏高或偏低。

您可以通过更改逻辑转换中的常数(示例中的 -5)来操作 p2.marright。如果增加它(减少负数,例如 -4),那么p2.marright 将减少,从而导致 y2 上的缺失值更多。如果你减少它(使它更负,例如-6),那么你最终会在 y2 上得到更少的缺失值。 (-5 导致 50% 缺失的原因是因为 5 是被转换变量的平均值,y1。)这可行,但机制相当不透明,您可能很难轻松控制它。例如,如果您希望y2 上的缺失率为 20%,您应该将常量设置为什么并不明显。

【讨论】:

  • @Shoheb 如果这解决了您的问题,您可以接受它作为答案。
猜你喜欢
  • 2020-11-18
  • 1970-01-01
  • 2019-08-07
  • 1970-01-01
  • 2019-07-02
  • 2012-09-16
  • 2022-01-26
  • 2022-01-14
  • 2020-01-31
相关资源
最近更新 更多