class_docstr: additive model with non-parametric, smoothed components
  
  Parameters
  ----------
  exog : ndarray
  smoothers : None or list of smoother instances
      smoother instances not yet checked
  weights : None or ndarray
  family : None or family instance
      I think only used because of shared results with GAM and subclassing.
      If None, then Gaussian is used.
docstr: estimate standard deviation of residuals
          
docstr_tok: ["estimate","standard","deviation","of","residuals"]
code: def estimate_scale(self):
      """estimate standard deviation of residuals"""
      # TODO: remove use of self.results.__call__
      return (
          (self.results.Y - self.results(self.exog)) ** 2
      ).sum() / self.df_resid()
  
imports: import numpy
  from statsmodels.genmod import families
  from statsmodels.sandbox.nonparametric.smoothers import PolySmoother
  from statsmodels.genmod.generalized_linear_model import GLM
  from statsmodels.tools.sm_exceptions import IterationLimitWarning, iteration_limit_doc
  import warnings
label_desc: Use image node_id 6 for calling the AdditiveModel obj's underlying member method code with example usage: obj.estimate_scale() and returns: unknown