class_docstr: Results class for generalized additive models, GAM.
  
  This inherits from GLMResults.
  
  Warning: some inherited methods might not correctly take account of the
  penalization
  
  GLMGamResults inherits from GLMResults
  All methods related to the loglikelihood function return the penalized
  values.
  
  Attributes
  ----------
  
  edf
      list of effective degrees of freedom for each column of the design
      matrix.
  hat_matrix_diag
      diagonal of hat matrix
  gcv
      generalized cross-validation criterion computed as
      ``gcv = scale / (1. - hat_matrix_trace / self.nobs)**2``
  cv
      cross-validation criterion computed as
      ``cv = ((resid_pearson / (1 - hat_matrix_diag))**2).sum() / nobs``
  
  Notes
  -----
  status: experimental
class_docstr_tok: ["Results","class","for","generalized","additive","models",",","GAM",".","This","inherits","from","GLMResults",".","Warning",":","some","inherited","methods","might","not","correctly","take","account","of","the","penalization","GLMGamResults","inherits","from","GLMResults","All","methods","related","to","the","loglikelihood","function","return","the","penalized","values",".","Attributes","--","--","--","--","--","edf","list","of","effective","degrees","of","freedom","for","each","column","of","the","design","matrix",".","hat_matrix_diag","diagonal","of","hat","matrix","gcv","generalized","cross-validation","criterion","computed","as","``","gcv","=","scale","\/","(","1",".","-","hat_matrix_trace","\/","self.nobs",")","*","*","2","``","cv","cross-validation","criterion","computed","as","``","cv","=","(","(","resid_pearson","\/","(","1","-","hat_matrix_diag",")",")","*","*","2",")",".sum","(",")","\/","nobs","``","Notes","--","--","-","status",":","experimental"]
docstr: "
  compute prediction
  
  Parameters
  ----------
  exog : array_like, optional
      The values for the linear explanatory variables
  exog_smooth : array_like
      values for the variables in the smooth terms
  transform : bool, optional
      If transform is True, then the basis representation of the smooth
      term will be constructed from the provided ``exog``.
  kwargs :
      Some models can take additional arguments or keywords, see the
      predict method of the model for the details.
  
  Returns
  -------
  prediction : ndarray, pandas.Series or pandas.DataFrame
      predicted values
docstr_tok: ["``","compute","prediction","Parameters","--","--","--","--","--","exog",":","array_like",",","optional","The","values","for","the","linear","explanatory","variables","exog_smooth",":","array_like","values","for","the","variables","in","the","smooth","terms","transform",":","bool",",","optional","If","transform","is","True",",","then","the","basis","representation","of","the","smooth","term","will","be","constructed","from","the","provided","``","exog","``",".","kwargs",":","Some","models","can","take","additional","arguments","or","keywords",",","see","the","predict","method","of","the","model","for","the","details",".","Returns","--","--","--","-","prediction",":","ndarray",",","pandas.Series","or","pandas.DataFrame","predicted","values"]
code: def predict(
      self, exog=None, exog_smooth=None, transform=True, **kwargs
  ):
      """ "
      compute prediction
  
      Parameters
      ----------
      exog : array_like, optional
          The values for the linear explanatory variables
      exog_smooth : array_like
          values for the variables in the smooth terms
      transform : bool, optional
          If transform is True, then the basis representation of the smooth
          term will be constructed from the provided ``exog``.
      kwargs :
          Some models can take additional arguments or keywords, see the
          predict method of the model for the details.
  
      Returns
      -------
      prediction : ndarray, pandas.Series or pandas.DataFrame
          predicted values
      """
      ex, exog_index = self._tranform_predict_exog(
          exog=exog, exog_smooth=exog_smooth, transform=transform
      )
      predict_results = super().predict(ex, transform=False, **kwargs)
      if exog_index is not None and not hasattr(
          predict_results, "predicted_values"
      ):
          if predict_results.ndim == 1:
              return pd.Series(predict_results, index=exog_index)
          else:
              return pd.DataFrame(predict_results, index=exog_index)
      else:
          return predict_results
  
imports: from collections.abc import Iterable
  import copy
  import numpy
  from scipy import optimize
  import pandas
  import statsmodels.base.wrapper
  from statsmodels.discrete.discrete_model import Logit
  from statsmodels.genmod.generalized_linear_model import GLM, GLMResults, GLMResultsWrapper, _check_convergence
  import statsmodels.regression.linear_model
  from statsmodels.tools.sm_exceptions import PerfectSeparationError, ValueWarning
  from statsmodels.tools.decorators import cache_readonly
  from statsmodels.tools.data import _is_using_pandas
  from statsmodels.tools.linalg import matrix_sqrt
  from statsmodels.base._penalized import PenalizedMixin
  from statsmodels.gam.gam_penalties import MultivariateGamPenalty
  from statsmodels.gam.gam_cross_validation.gam_cross_validation import MultivariateGAMCVPath
  from statsmodels.gam.gam_cross_validation.cross_validators import KFold
label_desc: Use image node_id 3 for calling the GLMGamResults obj's underlying member method code with example usage: obj.predict(exog, exog_smooth, transform) and returns: predict_results, pd, pd