class_docstr: Class to hold results from fitting a recursive least squares model.
  
  Parameters
  ----------
  model : RecursiveLS instance
      The fitted model instance
  
  Attributes
  ----------
  specification : dictionary
      Dictionary including all attributes from the recursive least squares
      model instance.
  
  See Also
  --------
  statsmodels.tsa.statespace.kalman_filter.FilterResults
  statsmodels.tsa.statespace.mlemodel.MLEResults
class_docstr_tok: ["Class","to","hold","results","from","fitting","a","recursive","least","squares","model",".","Parameters","--","--","--","--","--","model",":","RecursiveLS","instance","The","fitted","model","instance","Attributes","--","--","--","--","--","specification",":","dictionary","Dictionary","including","all","attributes","from","the","recursive","least","squares","model","instance",".","See","Also","--","--","--","--","statsmodels.tsa.statespace.kalman_filter.FilterResults","statsmodels.tsa.statespace.mlemodel.MLEResults"]
code: def __init__(
      self, model, params, filter_results, cov_type="opg", **kwargs
  ):
      super().__init__(
          model, params, filter_results, cov_type, **kwargs
      )
  
      # Since we are overriding params with things that are not MLE params,
      # need to adjust df's
      q = max(self.loglikelihood_burn, self.k_diffuse_states)
      self.df_model = q - self.model.k_constraints
      self.df_resid = self.nobs_effective - self.df_model
  
      # Save _init_kwds
      self._init_kwds = self.model._get_init_kwds()
  
      # Save the model specification
      self.specification = Bunch(
          **{
              "k_exog": self.model.k_exog,
              "k_constraints": self.model.k_constraints,
          }
      )
  
      # Adjust results to remove "faux" endog from the constraints
      if self.model._r_matrix is not None:
          for name in [
              "forecasts",
              "forecasts_error",
              "forecasts_error_cov",
              "standardized_forecasts_error",
              "forecasts_error_diffuse_cov",
          ]:
              setattr(self, name, getattr(self, name)[0:1])
  
imports: import numpy
  import pandas
  from statsmodels.compat.pandas import Appender
  from statsmodels.tools.data import _is_using_pandas
  from statsmodels.tsa.statespace.mlemodel import MLEModel, MLEResults, MLEResultsWrapper, PredictionResults, PredictionResultsWrapper
  from statsmodels.tsa.statespace.tools import concat
  from statsmodels.tools.tools import Bunch
  from statsmodels.tools.decorators import cache_readonly
  import statsmodels.base.wrapper
label_desc: Use image node_id 1 to create a new RecursiveLSResults object from inherited base classes: MLEResults with example: obj = RecursiveLSResults(model, params, filter_results, cov_type)