0
$\begingroup$

The correlation of the imputed values under regression imputation is always equal to 1,since the first step in regression imputation involves building a model from the observed data,then predictions for the incomplete cases are calculated under the fitted model, and serve as replacements for the missing data,hence the imputed data under regression imputation have a maximal contribution to the overall correlation ,while the stochastic regression imputation is a refinement of regression imputation which adds noise to the predictions. This will have a downward effect on the correlation , so that I think the correlation under stochastic regression imputation can not exceed the correlation under regression imputation . I have tried to simulate that using mice R package , but I got odd results since the maximum correlation under stochastic regression imputation was greater than the maximum correlation under regression imputation . I used the following R code :

rm(list =ls())

library(mice) #Load the mice package 

# Check missing 
apply(airquality, 2, FUN = function(x) return(sum(is.na(x))))

# Two vectors of length n=1000 to save the results of each iteration
corReg <- corStoch <- rep(0,1000 )


for(i in 1:1000){

# Impute under regression model using mice package "norm.predict"
impReg <- mice(airquality[,1:2],method="norm.predict",m=1,maxit=1,seed=i)

# Impute under stochastic regression model using mice package "norm.nob"
impStoch <- mice(airquality[,1:2],method="norm.nob",m=1,maxit=1,seed=i)

#Save the correlation under  Regression imputation of the ith iteration 
corReg[i] <- with(impReg, cor(Ozone,Solar.R))$analyses[[1]]

#Save the correlation under  Stochastic imputation of the ith iteration
corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$analyses[[1]]
}

max(corReg) # maximum correlation under Regression imputation model
[1] 0.3970474
max(corStoch) # maximum correlation under Stochastic  imputation model
[1] 0.438672
$\endgroup$
  • 1
    $\begingroup$ This is not R question, so add pictures or data to your question, demonstraning the finding. And add more extensive comments to the code, to explain what you are doing at each line. $\endgroup$ – ttnphns Oct 16 '17 at 9:17
  • $\begingroup$ @ttnphns I added some comments to the code and mice tag $\endgroup$ – Bahgat Nassour Oct 16 '17 at 9:36
  • 1
    $\begingroup$ While using only one iteration to converge (per imputation set), I would wonder whether this is the result of the chained equations set-up starting up (with weird results due to 'unlucky' starting values). Does setting the iterations to 5 (the mice default) or 10 change the results notably? $\endgroup$ – IWS Oct 16 '17 at 9:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.