DMCEM {DIRMR} | R Documentation |
DMCEM
Description
The DMCEM method uses the sample mean to approximate the integral in step E, rather than performing a single Monte Carlo sampling on the entire dataset. This enables DMCEM to significantly reduce the computation time and memory consumption when processing large datasets, while updating model parameters by calculating the sample mean of each subset.
Usage
DMCEM(data,df1,M,maxiter)
Arguments
data |
The real data sets with missing data used in the method |
df1 |
The real data sets used in the method |
M |
The number of Blocks |
maxiter |
The maximum number of iterations |
Value
Y011 |
The response variable value after projection for each block |
Yhat |
The estimated response variable value after projection for each block |
Ymean |
The mean of response variable value after projection for each block |
Yhatmean |
The mean of response variable value after projection for each block |
Author(s)
Guangbao Guo,Yu Li
Examples
set.seed(99)
library(MASS)
library(mvtnorm)
n=50;p=6;q=5;M=2;omega=0.15;ratio=0.1;maxiter=15;nob=round(n-(n*ratio))
dd.start=1;sigma2_e.start=1
X0=matrix(runif(n*p,0,2),ncol=p)
beta=matrix(rnorm(p*1,0,3),nrow=p)
Z0=matrix(runif(n*q,2,3),ncol=q)
e=matrix(rnorm(n*1,0,sigma2_e.start),n,1)
b=matrix(rnorm(q*1,0,1),q,1)
Y0=X0
df1=data.frame(Y=Y0,X=X0,Z=Z0)
misra=function(data,ratio){
nob=round(n-(n*ratio))
data[sample(n,n-nob),1]=NA
return(data)}
data=misra(data=df1,ratio=0.1)
DMCEM(data,df1,M=2,maxiter=15)