class_docstr: Maximum Likelihood Estimation of Poisson Model
  
  This is an example for generic MLE which has the same
  statistical model as discretemod.Poisson.
  
  Except for defining the negative log-likelihood method, all
  methods and results are generic. Gradients and Hessian
  and all resulting statistics are based on numerical
  differentiation.
class_docstr_tok: ["Maximum","Likelihood","Estimation","of","Poisson","Model","This","is","an","example","for","generic","MLE","which","has","the","same","statistical","model","as","discretemod.Poisson",".","Except","for","defining","the","negative","log-likelihood","method",",","all","methods","and","results","are","generic",".","Gradients","and","Hessian","and","all","resulting","statistics","are","based","on","numerical","differentiation","."]
docstr: return frozen scipy.stats distribution with mu at estimated prediction
          
docstr_tok: ["return","frozen","scipy.stats","distribution","with","mu","at","estimated","prediction"]
code: def predict_distribution(self, exog):
      """return frozen scipy.stats distribution with mu at estimated prediction"""
      if not hasattr(self, "result"):
          # TODO: why would this be ValueError instead of AttributeError?
          # TODO: Why even make this a Model attribute in the first place?
          #  It belongs on the Results class
          raise ValueError
      else:
          result = self.result
          params = result.params
          mu = np.exp(np.dot(exog, params))
          return stats.poisson(mu, loc=0)
  
file_path: statsmodels/statsmodels/miscmodels/count.py
imports: import numpy
  from scipy import stats
  from scipy.special import factorial
  from statsmodels.base.model import GenericLikelihoodModel
label_desc: Use image node_id 2 for calling the PoissonGMLE obj's underlying member method code with example usage: obj.predict_distribution(exog) and returns: stats