Learn R Programming

DIRMR (version 0.5.0)

DMCEM: 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)

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

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

Author

Guangbao Guo,Yu Li

Examples

Run this code
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)

Run the code above in your browser using DataLab