'Returns the deviance residuals for the inverse Gaussian family.
Parameters
endog : array-like
Endogenous response variable
mu : array-like
Fitted mean response variable
scale : float, optional
An optional argument to divide the residuals by sqrt(scale).
The default is 1.
Returns
resid_dev : array
Deviance residuals as defined below
Notes
.. math::
resid\_dev_i = sign(Y_i - \mu_i) *
\sqrt{(Y_i - \mu_i)^2 / (Y_i * \mu_i^2) / scale}'

def resid_dev(self, endog, mu, scale=1.0):

    return (np.sign((endog - mu)) * np.sqrt(((((endog - mu) ** 2) / (endog * (mu ** 2))) / scale)))
