class_docstr: A template for :class:`~greykite.sklearn.estimator.auto_arima_estimator.AutoArimaEstimator`.
  
  Takes input data and optional configuration parameters
  to customize the model. Returns a set of parameters to call
  :func:`~greykite.framework.pipeline.pipeline.forecast_pipeline`.
  
  Notes
  -----
  The attributes of a `~greykite.framework.templates.autogen.forecast_config.ForecastConfig` for
  :class:`~greykite.sklearn.estimator.auto_arima_estimator.AutoArimaEstimator` are:
  
      computation_param: `ComputationParam` or None, default None
          How to compute the result. See
          :class:`~greykite.framework.templates.autogen.forecast_config.ComputationParam`.
      coverage: `float` or None, default None
          Intended coverage of the prediction bands (0.0 to 1.0)
          If None, the upper/lower predictions are not returned
          Same as coverage in ``forecast_pipeline``
      evaluation_metric_param: `EvaluationMetricParam` or None, default None
          What metrics to evaluate. See
          :class:`~greykite.framework.templates.autogen.forecast_config.EvaluationMetricParam`.
      evaluation_period_param: `EvaluationPeriodParam` or None, default None
          How to split data for evaluation. See
          :class:`~greykite.framework.templates.autogen.forecast_config.EvaluationPeriodParam`.
      forecast_horizon: `int` or None, default None
          Number of periods to forecast into the future. Must be > 0
          If None, default is determined from input data frequency
          Same as forecast_horizon in `forecast_pipeline`
      metadata_param: `MetadataParam` or None, default None
          Information about the input data. See
          :class:`~greykite.framework.templates.autogen.forecast_config.MetadataParam`.
      model_components_param: `ModelComponentsParam` or None, default None
          Parameters to tune the model. See
          :class:`~greykite.framework.templates.autogen.forecast_config.ModelComponentsParam`.
          The fields are dictionaries with the following items.
  
          seasonality: `dict` [`str`, `any`] or None
              Ignored. Pass the relevant Auto Arima arguments via custom.
  
          growth: `dict` [`str`, `any`] or None
              Ignored. Pass the relevant Auto Arima arguments via custom.
  
          events: `dict` [`str`, `any`] or None
              Ignored. Pass the relevant Auto Arima arguments via custom.
  
          changepoints: `dict` [`str`, `any`] or None
              Ignored. Pass the relevant Auto Arima arguments via custom.
  
          regressors: `dict` [`str`, `any`] or None
              Ignored. Auto Arima template currently does not support regressors.
  
          uncertainty: `dict` [`str`, `any`] or None
              Ignored. Pass the relevant Auto Arima arguments via custom.
  
          hyperparameter_override: `dict` [`str`, `any`] or None or `list` [`dict` [`str`, `any`] or None]
              After the above model components are used to create a hyperparameter grid, the result is
              updated by this dictionary, to create new keys or override existing ones.
              Allows for complete customization of the grid search.
  
              Keys should have format ``{named_step}__{parameter_name}`` for the named steps of the
              `sklearn.pipeline.Pipeline` returned by this function. See `sklearn.pipeline.Pipeline`.
  
              For example::
  
                  hyperparameter_override={
                      "estimator__max_p": [8, 10],
                      "estimator__information_criterion": ["bic"],
                  }
  
              If a list of dictionaries, grid search will be done for each dictionary in the list.
              Each dictionary in the list override the defaults. This enables grid search
              over specific combinations of parameters to reduce the search space.
  
                  * For example, the first dictionary could define combinations of parameters for a
                    "complex" model, and the second dictionary could define combinations of parameters
                    for a "simple" model, to prevent mixed combinations of simple and complex.
                  * Or the first dictionary could grid search over fit algorithm, and the second dictionary
                    could use a single fit algorithm and grid search over seasonality.
  
              The result is passed as the ``param_distributions`` parameter
              to `sklearn.model_selection.RandomizedSearchCV`.
          autoregression: `dict` [`str`, `any`] or None
              Ignored. Pass the relevant Auto Arima arguments via custom.
          custom: `dict` [`str`, `any`] or None
              Any parameter in the
              :class:`~greykite.sklearn.estimator.auto_arima_estimator.AutoArimaEstimator`
              can be passed.
      model_template: `str`
          This class only accepts "AUTO_ARIMA".
code: def __init__(
      self, estimator: BaseForecastEstimator = AutoArimaEstimator()
  ):
      super().__init__(estimator=estimator)
  
imports: import dataclasses
  import functools
  from typing import Dict
  from typing import Optional
  import pandas
  from greykite.common.python_utils import dictionaries_values_to_lists
  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 ModelComponentsParam
  from greykite.framework.templates.base_template import BaseTemplate
  from greykite.sklearn.estimator.auto_arima_estimator import AutoArimaEstimator
  from greykite.sklearn.estimator.base_forecast_estimator import BaseForecastEstimator
label_desc: Use image node_id 1 to create a new AutoArimaTemplate object from inherited base classes: BaseTemplate with example: obj = AutoArimaTemplate(estimator)