code: def _model_predict_is(self, h, recalculate=False, fit_once=True):
          
  
          if len(self.model_predictions_is) == 0 or h != self.h or recalculate is True:
  
              for no, model in enumerate(self.model_list):
                  if no == 0:
                      result = model.predict_is(h, fit_once=fit_once)
                      result.columns = [model.model_name]
                  else:
                      new_frame = model.predict_is(h, fit_once=fit_once)
                      new_frame.columns = [model.model_name]
                      result = pd.concat([result,new_frame], axis=1)
  
              self.model_predictions_is = result
              self.h = h
              return result
  
          else:
              return self.model_predictions_is
docs: Outputs ensemble model predictions for the end-of-period data
          
          Parameters
          ----------
          h : int
              How many steps at the end of the series to run the ensemble on
  
          recalculate: boolean
              Whether to recalculate the predictions or not
  
          fit_once : boolean
              Whether to fit the model once at the beginning, or with every iteration
          
          Returns
          ----------
          - pd.DataFrame of the model predictions, index of dates