5 edited tags | link edited Oct 27 '17 at 11:33 kjetil b halvorsen 35.5k99 gold badges9090 silver badges274274 bronze badges 4 added 198 characters in body edited Oct 16 '17 at 9:48 Bahgat Nassour 1,14711 gold badge66 silver badges1818 bronze badges 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 henceserve 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[] #Save the correlation under Stochastic imputation of the ith iteration corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$analyses[] } max(corReg) # maximum correlation under Regression imputation model  0.3970474 max(corStoch) # maximum correlation under Stochastic imputation model  0.438672  The correlation of the imputed values under regression imputation is always equal to 1, and 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[] #Save the correlation under Stochastic imputation of the ith iteration corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$analyses[] } max(corReg) # maximum correlation under Regression imputation model  0.3970474 max(corStoch) # maximum correlation under Stochastic imputation model  0.438672  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[] #Save the correlation under Stochastic imputation of the ith iteration corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$analyses[] } max(corReg) # maximum correlation under Regression imputation model  0.3970474 max(corStoch) # maximum correlation under Stochastic imputation model  0.438672  3 added 464 characters in body; edited tags edited Oct 16 '17 at 9:36 Bahgat Nassour 1,14711 gold badge66 silver badges1818 bronze badges The correlation of the imputed values under regression imputation is always equal to 1, and 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[] corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$$analyses[]$analyses[] #Save the correlation under Stochastic imputation of the ith iteration corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$analyses[] }  max(corReg) # maximum correlation under Regression imputation model  0.3970474 max(corStoch) # maximum correlation under Stochastic imputation model  0.438672  The correlation of the imputed values under regression imputation is always equal to 1, and 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) # Check missing apply(airquality, 2, FUN = function(x) return(sum(is.na(x)))) corReg <- corStoch <- rep(0,1000 ) for(i in 1:1000){ # Impute under regression model impReg <- mice(airquality[,1:2],method="norm.predict",m=1,maxit=1,seed=i) # Impute under stochastic regression model impStoch <- mice(airquality[,1:2],method="norm.nob",m=1,maxit=1,seed=i) corReg[i] <- with(impReg, cor(Ozone,Solar.R))$$analyses[] corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$$analyses[] } max(corReg)  0.3970474 max(corStoch)  0.438672  The correlation of the imputed values under regression imputation is always equal to 1, and 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[] #Save the correlation under Stochastic imputation of the ith iteration corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$analyses[] }  max(corReg) # maximum correlation under Regression imputation model  0.3970474 max(corStoch) # maximum correlation under Stochastic imputation model  0.438672  2 edited tags | link edited Oct 16 '17 at 8:08 Bahgat Nassour 1,14711 gold badge66 silver badges1818 bronze badges 1 asked Oct 16 '17 at 8:02 Bahgat Nassour 1,14711 gold badge66 silver badges1818 bronze badges