Binary classification with multiple imputations I work on a binary classification problem with proteomic data, where the goal is to select the best subset of proteins which contribute to better classification (AUC). However, the problem is that some proteins are missing, and the complete-case analysis results in substantially shrunk data set. Assuming that the data should be missing completely at random (MCAR), as there is no reason for not missing at random due to the protein expression measurements (the missing data is due to the some glitches/problems during the processing and it is not systematic).
I use MICE package in R, to perform the multiple imputations (MI).
QUESTION: I am new to MI, and thus wanted to confirm my understanding of the process and ask a practical question. 


*

*The logic behind the MI is to create several imputed data sets

*Fit models using each of the imputed data sets

*Aggregate results of the fitted models


In my case, it will be training several classification models (each on the imputed data set) and then I do not understand how to aggregate the models.
For example, I use logistic regression, how to aggregate several logistic regression? Averaging of their coefficients?
Any suggestions will be highly appreciated.
 A: Say you have your original set $(X_m, y)$, where $X_m$ are the independent variables, with some of the values missing. Suppose some algorithm creates $(X_i^1, y), \ldots, (X_i^p, y)$, where $X_i^j$ is the $j$th imputed set including all the instances that did not need imputation. There are at least two ways of going about this.

One way is to create a classifier for each $(X_i^j, y)$ (or, even better, a classifier for each $(\left[X_i^j, M\right], y)$, where $M$ is a boolean matrix indicating whether the corresponding entry in $X_i^j$ has been imputed or not). Following this, you can use an ensemble predictor using these predictors.

Another way is to create the dataset
$$
\left(
\left[
\begin{matrix}
X_i^1 & M \\
\vdots & \vdots \\
X_i^p & M
\end{matrix}
\right]
,
\begin{matrix}
y \\
\vdots \\
y
\end{matrix}
\right)
,
$$
where again $M$ is a boolean matrix indicating whether the corresponding entry in $X_i^j$ has been imputed or not.
You can now fit your algorithm to this final dataset at once.
Note the following:


*

*If you use this, it is extremely important that $X_i^j$ contains also the instances that did not require imputation. Otherwise, you are giving imputed instances greater weight.

*The inclusion of $M_j$ gives some algorithms the ability to understand that some elements are less reliable, as they have been imputed.
