class_docstr: Config object used to define a forecaster model.
class_docstr_tok: ["Config","object","used","to","define","a","forecaster","model","."]
docstr: :param max_forecast_steps: Max # of steps we would like to forecast for.  Required for some models like `MSES`.
  :param target_seq_index: The index of the univariate (amongst all univariates in a general multivariate time
      series) whose value we would like to forecast.
  :param invert_transform: Whether to automatically invert the ``transform`` before returning a forecast.
      By default, we will invert the transform for all base forecasters if it supports a proper inversion, but
      we will not invert it for forecaster-based anomaly detectors or transforms without proper inversions.
docstr_tok: [":","param","max_forecast_steps",":","Max","#","of","steps","we","would","like","to","forecast","for",".","Required","for","some","models","like","`","MSES","`",".",":","param","target_seq_index",":","The","index","of","the","univariate","(","amongst","all","univariates","in","a","general","multivariate","time","series",")","whose","value","we","would","like","to","forecast",".",":","param","invert_transform",":","Whether","to","automatically","invert","the","``","transform","``","before","returning","a","forecast",".","By","default",",","we","will","invert","the","transform","for","all","base","forecasters","if","it","supports","a","proper","inversion",",","but","we","will","not","invert","it","for","forecaster-based","anomaly","detectors","or","transforms","without","proper","inversions","."]
code: def __init__(
      self,
      max_forecast_steps: int = None,
      target_seq_index: int = None,
      invert_transform=None,
      **kwargs,
  ):
      """
      :param max_forecast_steps: Max # of steps we would like to forecast for.  Required for some models like `MSES`.
      :param target_seq_index: The index of the univariate (amongst all univariates in a general multivariate time
          series) whose value we would like to forecast.
      :param invert_transform: Whether to automatically invert the ``transform`` before returning a forecast.
          By default, we will invert the transform for all base forecasters if it supports a proper inversion, but
          we will not invert it for forecaster-based anomaly detectors or transforms without proper inversions.
      """
      from merlion.models.anomaly.base import DetectorConfig
  
      super().__init__(**kwargs)
      if invert_transform is None:
          invert_transform = (
              self.transform.proper_inversion
              and not isinstance(self, DetectorConfig)
          )
      self.max_forecast_steps = max_forecast_steps
      self.target_seq_index = target_seq_index
      self.invert_transform = invert_transform
  
imports: from abc import abstractmethod
  import copy
  import logging
  from typing import List, Optional, Tuple, Union
  import numpy
  import pandas
  from scipy.stats import norm
  from merlion.models.base import Config, ModelBase
  from merlion.plot import Figure
  from merlion.transform.base import TransformBase
  from merlion.transform.factory import TransformFactory
  from merlion.transform.normalize import MeanVarNormalize
  from merlion.utils.time_series import to_pd_datetime, to_timestamp, TimeSeries, AggregationPolicy, MissingValuePolicy
label_desc: Use image node_id 1 to create a new ForecasterConfig object from inherited base classes: Config with example: obj = ForecasterConfig(max_forecast_steps, target_seq_index, invert_transform)