class_docstr: A predictor type that wraps models from the `statsforecast`_ package.
  
  This class is used via subclassing and setting the ``ModelType`` class
  attribute to specify the ``statsforecast`` model type to use.
  
  .. _statsforecast: https://github.com/Nixtla/statsforecast
  
  Parameters
  ----------
  prediction_length
      Prediction length for the model to use.
  quantile_levels
      Optional list of quantile levels that we want predictions for.
      Note: this is only supported by specific types of models, such as
      ``AutoARIMA``. By default this is ``None``, giving only the mean
      prediction.
  **model_params
      Keyword arguments to be passed to the model type for construction.
      The specific arguments accepted or required depend on the
      ``ModelType``; please refer to the documentation of ``statsforecast``
      for details.
class_docstr_tok: ["A","predictor","type","that","wraps","models","from","the","`","statsforecast","`","_","package",".","This","class","is","used","via","subclassing","and","setting","the","``","ModelType","``","class","attribute","to","specify","the","``","statsforecast","``","model","type","to","use",".","..","_statsforecast",":","https",":","\/\/github.com\/Nixtla\/statsforecast","Parameters","--","--","--","--","--","prediction_length","Prediction","length","for","the","model","to","use",".","quantile_levels","Optional","list","of","quantile","levels","that","we","want","predictions","for",".","Note",":","this","is","only","supported","by","specific","types","of","models",",","such","as","``","AutoARIMA","``",".","By","default","this","is","``","None","``",",","giving","only","the","mean","prediction",".","*","*","model_params","Keyword","arguments","to","be","passed","to","the","model","type","for","construction",".","The","specific","arguments","accepted","or","required","depend","on","the","``","ModelType","``",";","please","refer","to","the","documentation","of","``","statsforecast","``","for","details","."]
code: def __init__(
      self,
      prediction_length: int,
      quantile_levels: Optional[List[float]] = None,
      **model_params,
  ) -> None:
      super().__init__(prediction_length=prediction_length)
      self.model = self.ModelType(**model_params)
      self.config = ModelConfig(quantile_levels=quantile_levels)
  
imports: from dataclasses import dataclass, field
  from typing import List, Optional, Type
  import numpy
  from statsforecast.models import ADIDA, AutoARIMA, AutoCES, AutoETS, AutoTheta, CrostonClassic, CrostonOptimized, CrostonSBA, DynamicOptimizedTheta, DynamicTheta, HistoricAverage, Holt, HoltWinters, IMAPA, MSTL, Naive, OptimizedTheta, RandomWalkWithDrift, SeasonalExponentialSmoothing, SeasonalExponentialSmoothingOptimized, SeasonalNaive, SeasonalWindowAverage, SimpleExponentialSmoothing, SimpleExponentialSmoothingOptimized, TSB, Theta, WindowAverage
  from gluonts.core.component import validated
  from gluonts.dataset import DataEntry
  from gluonts.dataset.util import forecast_start
  from gluonts.model.predictor import RepresentablePredictor
  from gluonts.model.forecast import QuantileForecast
label_desc: Use image node_id 1 to create a new StatsForecastPredictor object from inherited base classes: RepresentablePredictor with example: obj = StatsForecastPredictor(prediction_length, quantile_levels)