class_docstr: The model template for Multistage Forecast Estimator.
class_docstr_tok: ["The","model","template","for","Multistage","Forecast","Estimator","."]
docstr: Gets the lagged regressor info for the model
  
  Iterates over each submodel to extract the lagged regressor info.
  
  Returns
  -------
  lagged_regressor_info : `dict`
      The combined lagged regressor info from all submodels.
docstr_tok: ["Gets","the","lagged","regressor","info","for","the","model","Iterates","over","each","submodel","to","extract","the","lagged","regressor","info",".","Returns","--","--","--","-","lagged_regressor_info",":","`","dict","`","The","combined","lagged","regressor","info","from","all","submodels","."]
code: def get_lagged_regressor_info(self):
      """Gets the lagged regressor info for the model
  
      Iterates over each submodel to extract the lagged regressor info.
  
      Returns
      -------
      lagged_regressor_info : `dict`
          The combined lagged regressor info from all submodels.
      """
      templates = self.__get_regressor_templates()
      lagged_regressor_info = {
          "lagged_regressor_cols": None,
          "overall_min_lag_order": None,
          "overall_max_lag_order": None,
      }
      if templates is None or templates == []:
          return lagged_regressor_info
      for template in templates:
          try:
              info = template.get_lagged_regressor_info()
          except AttributeError:
              continue
          # Combines the ``lagged_regressor_info`` from each model.
          cols = info["lagged_regressor_cols"]
          min_order = info["overall_min_lag_order"]
          max_order = info["overall_max_lag_order"]
          if lagged_regressor_info["lagged_regressor_cols"] is None:
              lagged_regressor_info["lagged_regressor_cols"] = cols
          elif cols is not None:
              lagged_regressor_info["lagged_regressor_cols"] += cols
          if lagged_regressor_info["overall_min_lag_order"] is None:
              lagged_regressor_info["overall_min_lag_order"] = min_order
          elif min_order is not None:
              lagged_regressor_info["overall_min_lag_order"] = min(
                  lagged_regressor_info["overall_min_lag_order"],
                  min_order,
              )
          if lagged_regressor_info["overall_max_lag_order"] is None:
              lagged_regressor_info["overall_max_lag_order"] = min_order
          elif min_order is not None:
              lagged_regressor_info["overall_max_lag_order"] = max(
                  lagged_regressor_info["overall_max_lag_order"],
                  max_order,
              )
  
      return lagged_regressor_info
  
imports: from itertools import product
  from typing import Dict
  from typing import List
  from typing import Type
  import pandas
  from greykite.common import constants
  from greykite.common.logging import LoggingLevelEnum
  from greykite.common.logging import log_message
  from greykite.common.python_utils import unique_in_list
  from greykite.common.python_utils import update_dictionaries
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.autogen.forecast_config import MetadataParam
  from greykite.framework.templates.base_template import BaseTemplate
  from greykite.framework.templates.multistage_forecast_template_config import MultistageForecastTemplateConfig
  from greykite.framework.templates.multistage_forecast_template_config import MultistageForecastTemplateConstants
  from greykite.sklearn.estimator.base_forecast_estimator import BaseForecastEstimator
  from greykite.sklearn.estimator.multistage_forecast_estimator import MultistageForecastEstimator
  from greykite.sklearn.estimator.multistage_forecast_estimator import MultistageForecastModelConfig
label_desc: Use image node_id 5 for calling the MultistageForecastTemplate obj's underlying member method code with example usage: obj.get_lagged_regressor_info() and returns: lagged_regressor_info, lagged_regressor_info