DMCEM | R Documentation |
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.
DMCEM(data,df1,M,maxiter)
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 |
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 |
Guangbao Guo,Yu Li
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.