statsmodels.genmod.families.family.Binomial.deviance

Binomial.deviance(endog, mu, freq_weights=1, scale=1.0)[source]

Deviance function for either Bernoulli or Binomial data.

Parameters:

endog : array-like

Endogenous response variable (already transformed to a probability if appropriate).

mu : array

Fitted mean response variable

freq_weights : array-like

1d array of frequency weights. The default is 1.

scale : float, optional

An optional scale argument. The default is 1.

Returns:

deviance : float

The deviance function as defined below

Notes

If the endogenous variable is binary:

D = -2 * \sum_i freq\_weights * (I_{1,i} * \log(\mu_i) + I_{0,i} *
    \log(1 - \mu_i))

where I_{1,i} is an indicator function that evalueates to 1 if Y_i = 1. and I_{0,i} is an indicator function that evaluates to 1 if Y_i = 0.

If the model is ninomial:

D = 2 * \sum_i freq\_weights * (\log(Y_i / \mu_i) + (n_i - Y_i) *
    \log((n_i - Y_i) / n_i - \mu_i))

where Y_i and n are as defined in Binomial.initialize.