'Perform one complete MICE iteration.
A single MICE iteration updates all missing values using their
respective imputation models, then fits the analysis model to
the imputed data.
Returns
params : array-like
The model parameters for the analysis model.
Notes
This function fits the analysis model and returns its
parameter estimate.  The parameter vector is not stored by the
class and is not used in any subsequent calls to `combine`.
Use `fit` to run all MICE steps together and obtain summary
results.
The complete cycle of missing value imputation followed by
fitting the analysis model is repeated `n_skip + 1` times and
the analysis model parameters from the final fit are returned.'

def next_sample(self):

    self.data.update_all((self.n_skip + 1))
    start_params = None
    if (len(self.results_list) > 0):
        start_params = self.results_list[(-1)].params
    model = self.model_class.from_formula(self.model_formula, self.data.data, **self.init_kwds)
    self.fit_kwds.update({'start_params': start_params})
    result = model.fit(**self.fit_kwds)
    return result
