5 edited tags
| link
4 added 198 characters in body
source | link

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[[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

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[[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

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
3 added 464 characters in body; edited tags
source | link

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[[1]]
corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$analyses[[1]]$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

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[[1]]
corStoch[i] <- with(impStoch, cor(Ozone,Solar.R))$analyses[[1]]
}
max(corReg)
[1] 0.3970474
max(corStoch)
[1] 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[[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
2 edited tags
| link
1
source | link