'Use a PMM-like procedure for initial imputed values.
For each variable, missing values are imputed as the observed
value that is closest to the mean over all observed values.'

def _initial_imputation(self):

    for col in self.data.columns:
        di = (self.data[col] - self.data[col].mean())
        di = np.abs(di)
        ix = di.idxmin()
        imp = di.loc[ix]
        self.data[col].fillna(imp, inplace=True)
