class_docstr: Results from fitting a linear exponential smoothing model
code: def __init__(
      self, model, params, filter_results, cov_type=None, **kwargs
  ):
      super().__init__(
          model, params, filter_results, cov_type, **kwargs
      )
  
      # Save the states
      self.initial_state = model._initial_state
      if isinstance(self.data, PandasData):
          index = self.data.row_labels
          self.initial_state = pd.DataFrame(
              [model._initial_state], columns=model.state_names[1:]
          )
          if model._index_dates and model._index_freq is not None:
              self.initial_state.index = index.shift(-1)[:1]
  
imports: import numpy
  import pandas
  from statsmodels.base.data import PandasData
  from statsmodels.genmod.generalized_linear_model import GLM
  from statsmodels.tools.validation import array_like, bool_like, float_like, string_like, int_like
  from statsmodels.tsa.exponential_smoothing import initialization
  from statsmodels.tsa.statespace import initialization
  from statsmodels.tsa.statespace.kalman_filter import MEMORY_CONSERVE, MEMORY_NO_FORECAST
  from statsmodels.compat.pandas import Appender
  import statsmodels.base.wrapper
  from statsmodels.iolib.summary import forg
  from statsmodels.iolib.table import SimpleTable
  from statsmodels.iolib.tableformatting import fmt_params
  from .mlemodel import MLEModel, MLEResults, MLEResultsWrapper
label_desc: Use image node_id 1 to create a new ExponentialSmoothingResults object from inherited base classes: MLEResults with example: obj = ExponentialSmoothingResults(model, params, filter_results, cov_type)