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: fit the model to a given endogenous variable Y
  
  This needs to change for consistency with statsmodels
docstr_tok: ["fit","the","model","to","a","given","endogenous","variable","Y","This","needs","to","change","for","consistency","with","statsmodels"]
code: def fit(self, Y, rtol=1.0e-06, maxiter=30):
      """fit the model to a given endogenous variable Y
  
      This needs to change for consistency with statsmodels
  
      """
      self.rtol = rtol
      self.maxiter = maxiter
      # iter(self)  # what does this do? anything?
      self._iter__()
      mu = 0
      alpha = (Y * self.weights).sum() / self.weights.sum()
  
      offset = np.zeros(self.exog.shape[1], np.float64)
  
      for i in range(self.exog.shape[1]):
          self.smoothers[i].smooth(Y - alpha - mu, weights=self.weights)
          tmp = self.smoothers[i].predict()
          offset[i] = (tmp * self.weights).sum() / self.weights.sum()
          tmp -= tmp.sum()
          mu += tmp
  
      self.results = Results(
          Y, alpha, self.exog, self.smoothers, self.family, offset
      )
  
      while self.cont():
          self.results = self.next()
  
      if self.iter >= self.maxiter:
          warnings.warn(iteration_limit_doc, IterationLimitWarning)
  
      return self.results
  
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 7 for calling the AdditiveModel obj's underlying member method code with example usage: obj.fit(Y, rtol, maxiter) and returns: self