'Fit the model using maximum likelihood.
The rest of the docstring is from
statsmodels.LikelihoodModel.fit'

def fit(self, start_params=None, method='nm', maxiter=500, full_output=1, disp=1, callback=None, retall=0, **kwargs):

    if (start_params is None):
        if hasattr(self, 'start_params'):
            start_params = self.start_params
        else:
            start_params = (0.1 * np.ones(self.nparams))
    fit_method = super(GenericLikelihoodModel, self).fit
    mlefit = fit_method(start_params=start_params, method=method, maxiter=maxiter, full_output=full_output, disp=disp, callback=callback, **kwargs)
    genericmlefit = GenericLikelihoodModelResults(self, mlefit)
    exog_names = ([] if (self.exog_names is None) else self.exog_names)
    k_miss = (len(exog_names) - len(mlefit.params))
    if (not (k_miss == 0)):
        if (k_miss < 0):
            self._set_extra_params_names([('par%d' % i) for i in range((- k_miss))])
        else:
            import warnings
            warnings.warn('more    exog_names    than    parameters', ValueWarning)
    return genericmlefit
