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 get_prediction(
      self,
      start=None,
      end=None,
      dynamic=False,
      information_set="predicted",
      signal_only=False,
      index=None,
      **kwargs,
  ):
      # Note: need to override this, because we currently do not support
      # dynamic prediction or forecasts when there are constraints.
      if start is None:
          start = self.model._index[0]
  
      # Handle start, end, dynamic
      (
          start,
          end,
          out_of_sample,
          prediction_index,
      ) = self.model._get_prediction_index(start, end, index)
  
      # Handle `dynamic`
      if isinstance(dynamic, (bytes, str)):
          dynamic, _, _ = self.model._get_index_loc(dynamic)
  
      if self.model._r_matrix is not None and (
          out_of_sample or dynamic
      ):
          raise NotImplementedError(
              "Cannot yet perform out-of-sample or"
              " dynamic prediction in models with"
              " constraints."
          )
  
      # Perform the prediction
      # This is a (k_endog x npredictions) array; do not want to squeeze in
      # case of npredictions = 1
      prediction_results = self.filter_results.predict(
          start, end + out_of_sample + 1, dynamic, **kwargs
      )
  
      # Return a new mlemodel.PredictionResults object
      res_obj = PredictionResults(
          self,
          prediction_results,
          information_set=information_set,
          signal_only=signal_only,
          row_labels=prediction_index,
      )
      return PredictionResultsWrapper(res_obj)
  
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 16 for calling the RecursiveLSResults obj's underlying member method code with example usage: obj.get_prediction(start, end, dynamic, information_set, signal_only, index) and returns: PredictionResultsWrapper