[英]Imputation in high dimensional data by mice package
在小鼠 package 中,我模拟了高维数据并在前 50 个变量中生成了缺失的结构(每个变量 25%)。 后来,当我想通过鼠标中的方法输入这些缺失值时,我收到如下警告。 我搜索了这个,但无法弄清楚。 我在 function 中添加了术语 (ls.meth="ridge") 但我不断收到警告
我找不到我犯错的地方。 对于我以这种方式模拟的高维数据集,如何使用鼠标 package 进行正确的插补?
out
1
df 设置为 1。# 观察案例:63 # 预测变量:1202 V2、V3、V4、V6、V9、V14、V15、V17、V19、V23、V25、V26、V28、V30、V31、V34、V36、V38、V39、V46、V49、V52、V53、V54、V64 , V66, V67, V68, V70, V73, V79, V82, V84, V89, V91, V93, V94, V95, V99, V100, V101, V106, V107, V108, V109, V111, V117, V120
3 只老鼠检测到您的数据(几乎)是多重共线的。\n它应用了岭惩罚来继续计算,但结果可能不稳定。\n您的数据集是否包含重复、线性变换或具有唯一受访者名称的因子?
4
df 设置为 1。# 观察案例:69 # 预测变量:1205 V1、V3、V4、V5、V14、V21、V22、V25、V27、V30、V35、V37、V41、V43、V44、V47、V51、V53、V55、V58、V59、V60、V61、V68、V71 , V72, V81, V82, V84, V90, V93, V94, V97, V101, V105, V108, V111, V117
6 只老鼠检测到您的数据(几乎)是多重共线的。\n它应用了岭惩罚来继续计算,但结果可能不稳定。\n您的数据集是否包含重复、线性变换或具有唯一受访者名称的因子?
## MY CODES
install.packages("MASS")
install.packages("stats")
install.packages("mice")
library(MASS)
library(stats)
library(mice)
######################################################
# DATA FUNCTION
######################################################
# rm(list = ls())
generateData<- function(n,p) {
pr <- seq(0.80, 0.40, length.out = p)
pr[1] <- 1
covmat <- toeplitz(pr)
mu= rep(0,p)
X_ <- data.frame(mvrnorm(n, mu = mu, Sigma = covmat))
X <- unname(as.matrix(sample(X_)))
vCoef = rnorm(ncol(X))
vProb =exp(X%*%vCoef)/(1+exp(X%*%vCoef))
Y <- rbinom(nrow(X), 1, vProb)
mydata= data.frame(cbind(X,Y))
return(mydata)
}
######################################################
# SIMULATED DATA
######################################################
n <- 100
p <- 120
data <- generateData(n , p)
# table(data[ncol(data)])
X <- data[-ncol(data)]
Y <- data[ncol(data)]
###### PATTERN #######
myfreq <- 0.25
pstar <- 50
npat <- 120
mypatterns <- matrix(1, nrow = npat, ncol = p)
for(i in 1:npat){
idx <- sample(x = 1:pstar, size = myfreq * n, replace = F)
mypatterns[i,idx] <- 0
}
####### MCAR MECHANISM #########
my_bycases <- TRUE
data_mcar <- ampute(X, prop = my_prop, pattern=mypatterns, mech ='MCAR', type="RIGHT", bycases=my_bycases)
data_mcar_missing <- data_mcar$amp
####### IMPPUTATION #########
complete_datasets <- mice(data_mcar_missing, m = 2, defaultMethod = "pmm")
all_imp_data <- mice::complete(complete_datasets, "all")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.