I have a data set for a predictive model(predicting survival rate with certain acute medical condition on some animals) with 25 predictors where around 30% of the predictors are complete, 3 predictors are sitting at 30%,25% and 20% missing, and the others are missing at around 5% level. Around 50% of my data are complete cases. I'm new to dealing with missing values so I have a couple of questions regarding how to deal with it:

  1. What can I do with the variable with 30% missing assuming it's MAR? Is 30% too high for imputation? What kinds of metrics can I use to make the decision between removal of the predictor, listwise removal, imputation or some other options?

  2. How should I deal with a predictor with 20% - 25% missing when I have reason to believe that it's MNAR?

  3. I'm thinking of using imputation on the remaining predictors with around 5% missingness. How do I make the decision on which imputation methods to use? Are they chosen on a case by case basis based on the individual predictors? How does one impute categorical values?

  4. How does(should?) the imputation carry out in practice? Should it use complete cases or compute it iteratively somehow?

  5. Does feature selection comes in before or after dealing with missing values? if at all?

  • $\begingroup$ I am also quite new at imputation, so can't provide a very full or informed answer. If you do decide to go for imputation and don't want something naive like imputing the sample mean, I recommend this paper on the MICE algorithm (multiple imputation with chained equations). It's an iterative procedure which can be used to impute values, based upon some models: ncbi.nlm.nih.gov/pmc/articles/PMC3074241 $\endgroup$ Apr 22, 2016 at 20:06
  • $\begingroup$ When you say "missing at random" are you using that phrase in the technical sense as it's used in imputation literature (distinguished from the more stringent "missing completely at random," MCAR) or in the colloquial sense? $\endgroup$
    – EdM
    Apr 22, 2016 at 22:33
  • $\begingroup$ Thanks for the link, ill check it out. As for the MAR, I meant it simply that the missingness does not reflect(or give information to) its would've-been-values, but it's not MCAR since one of the sampling place simply did not take the measures for that predictor. $\endgroup$
    – ChuckP
    Apr 22, 2016 at 23:49

1 Answer 1


It's generally unwise to throw away information, which is what you do with complete-cases analysis or by throwing out predictors.

One of the advantages of multiple imputation instead of a single imputation of missing data is that the result incorporates the variability introduced by the imputation process while in principle using all the available information. Coefficients associated with the variable having 30% missing values thus may have larger standard errors than coefficients from variables with few missing values, but there is no a priori reason to omit such a variable. It might be worse to omit such a variable, as information in the cases having values for that variable might improve the imputations for other variables. Even if for some reason you don't keep it as a predictor variable, it can still be included as part of the imputation process.

The link above provides a simple introduction to the process of generating and using the multiple sets of imputations. You draw the imputations from a probability distribution, perform your regressions on each of the imputation sets, and then pool the results among the sets. With this number of predictors it might be best to do the imputations first and then do feature selection if feature selection is really necessary. With only 25 predictors you might be better off doing a ridge regression that keeps all the predictors, with appropriate penalization, and tends to treat collinear predictors together.

The mice package in R provides the tools that you need. The chained-equation approach makes it straightforward to deal with imputations of several variables at a time. You should devote some effort to setting up the structure of the imputations in a way that makes sense based on your understanding of the subject matter.

Two warnings. First, if one of your predictors is really "missing not at random" (MNAR) in the technical sense, then you will need to use special care and develop a joint model of the outcome variable and the predictor. It's possible, however, to think that data are MNAR when they really might be MAR, as this question illustrates. MAR only requires "given the observed data, [missingness] does not depend on the unobserved data". So consider carefully whether your predictor really threatens to be MNAR.

Second, you should think about how you will be using this model for prediction. If there are some predictors that are likely to be missing in many cases going forward, not just frequently omitted from your present data set, and you are going to be making predictions on a case-by-case basis, then you have to consider carefully how you would make your predictions in such cases and whether that variable should be included in your model.

  • $\begingroup$ Thanks for the answer! One more question regarding MICE: How do I do regression analysis when there are eg. m=5 data sets? $\endgroup$
    – ChuckP
    Apr 23, 2016 at 20:23
  • $\begingroup$ This paper walks you through some steps of imputation and analysis. You do your regression analysis on each of the imputed datasets, then pool the results of the analyses following a set of rules. The mice package in R provides the tools to do this. $\endgroup$
    – EdM
    Apr 23, 2016 at 20:39
  • $\begingroup$ Thanks, I've found something on top of page 50. However, it does not mention how the p values are pooled together, or how any of the estimates are pooled together using pool. Where can I find this "set of rules"? $\endgroup$
    – ChuckP
    Apr 23, 2016 at 21:23
  • 1
    $\begingroup$ This SPSS help page is one place to find the rules. (A web search for "Rubin's rules multiple imputation" will find many more.) Pooled coefficients are the averages over the analyses of the imputed data sets; pooled variance estimates include both between- and within-imputation variances; p-values are based on asymptotic normality. $\endgroup$
    – EdM
    Apr 24, 2016 at 15:09
  • $\begingroup$ Thanks! I have one last question if you don't mind: Is it possible to do a partial listwise deletion before MI? base on this the listwise deletion does not introduce bias since my output is the respons which my predictors can not be depend upon. Would it make sense to remove MNAR listwise and then MI the rest which are then MAR? $\endgroup$
    – ChuckP
    Apr 26, 2016 at 13:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.