'Parameters
use_transparams : bool
This parameter enable internal transformation to impose non-negativity.
True to enable. Default is False.
use_transparams=True imposes the no underdispersion (alpha > 0) constaint.
In case use_transparams=True and method="newton" or "ncg" transformation
is ignored.'

def fit(self, start_params=None, method='bfgs', maxiter=35, full_output=1, disp=1, callback=None, use_transparams=False, cov_type='nonrobust', cov_kwds=None, use_t=None, **kwargs):

    if (use_transparams and (method not in ['newton', 'ncg'])):
        self._transparams = True
    else:
        if use_transparams:
            warnings.warn('Paramter    "use_transparams"    is    ignored', RuntimeWarning)
        self._transparams = False
    if (start_params is None):
        offset = (getattr(self, 'offset', 0) + getattr(self, 'exposure', 0))
        if ((np.size(offset) == 1) and (offset == 0)):
            offset = None
        mod_poi = Poisson(self.endog, self.exog, offset=offset)
        start_params = mod_poi.fit(disp=0, method=method).params
        start_params = np.append(start_params, 0.1)
    mlefit = super(GeneralizedPoisson, self).fit(start_params=start_params, maxiter=maxiter, method=method, disp=disp, full_output=full_output, callback=(lambda x: x), **kwargs)
    if (use_transparams and (method not in ['newton', 'ncg'])):
        self._transparams = False
        mlefit._results.params[(-1)] = np.exp(mlefit._results.params[(-1)])
    gpfit = GeneralizedPoissonResults(self, mlefit._results)
    result = GeneralizedPoissonResultsWrapper(gpfit)
    if (cov_kwds is None):
        cov_kwds = {}
    result._get_robustcov_results(cov_type=cov_type, use_self=True, use_t=use_t, **cov_kwds)
    return result
