'Returns a random number generator for the predictive distribution.
Parameters
params : array-like
The model parameters (regression coefficients).
scale : scalar
The variance parameter.
exog : array-like
The predictor variable matrix.
dist_class : class
A random number generator class.  Must take \'loc\' and \'scale\'
as arguments and return a random number generator implementing
an ``rvs`` method for simulating random values. Defaults to Gaussian.
Returns
gen
Frozen random number generator object with mean and variance
determined by the fitted linear model.  Use the ``rvs`` method
to generate random values.
Notes
Due to the behavior of ``scipy.stats.distributions objects``,
the returned random number generator must be called with
``gen.rvs(n)`` where ``n`` is the number of observations in
the data set used to fit the model.  If any other value is
used for ``n``, misleading results will be produced.'

def get_distribution(self, params, scale, exog=None, dist_class=None):

    fit = self.predict(params, exog)
    if (dist_class is None):
        from scipy.stats.distributions import norm
        dist_class = norm
    gen = dist_class(loc=fit, scale=np.sqrt(scale))
    return gen
