'The log-likelihood function in terms of the fitted mean response.
Parameters
endog : array-like
Endogenous response variable
mu : array-like
Fitted mean response variable
iweights : array-like
1d array of weights. The default is 1.
scale : float, optional
The default is 1.
Returns
llf : float
The value of the loglikelihood function evaluated at
(endog,mu,iweights,scale) as defined below.
Notes
.. math::
llf = -1/2 * \sum_i iweights_i * ((Y_i - \mu_i)^2 / (Y_i *
\mu_i^2 * scale) + \log(scale * Y_i^3) + \log(2 * \pi))'

def loglike(self, endog, mu, iweights=1.0, scale=1.0):

    return ((-0.5) * np.sum(((((((endog - mu) ** 2) / ((endog * (mu ** 2)) * scale)) + np.log((scale * (endog ** 3)))) + np.log((2 * np.pi))) * iweights)))
