'Inverse Gaussian deviance function
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
An optional scale argument. The default is 1.
Returns
deviance : float
Deviance function as defined below
Notes
.. math::
D = \sum_i iweights_i * ((Y_i - \mu_i)^2 / (Y_i *\mu_i^2)) /
scale'

def deviance(self, endog, mu, iweighs=1.0, scale=1.0):

    return (np.sum(((iweighs * ((endog - mu) ** 2)) / (endog * (mu ** 2)))) / scale)
