class_docstr: A universal scikit-learn style wrapper for statsmodels SARIMAX.
  
  This class wraps the statsmodels.tsa.statespace.sarimax.SARIMAX model to 
  follow the scikit-learn style. The following docstring is based on the 
  statmodels documentation and it is highly recommended to visit their site 
  for the best level of detail.
  
  https://www.statsmodels.org/stable/generated/statsmodels.tsa.statespace.sarimax.SARIMAX.html
  https://www.statsmodels.org/dev/generated/statsmodels.tsa.statespace.sarimax.SARIMAXResults.html
  
  Parameters
  ----------
  order : tuple, default `(1, 0, 0)`
      The (p,d,q) order of the model for the number of AR parameters, differences, 
      and MA parameters. 
      
      - `d` must be an integer indicating the integration order of the process.
      - `p` and `q` may either be an integers indicating the AR and MA orders 
      (so that all lags up to those orders are included) or else iterables 
      giving specific AR and / or MA lags to include.
  seasonal_order : tuple, default `(0, 0, 0, 0)`
      The (P,D,Q,s) order of the seasonal component of the model for the AR 
      parameters, differences, MA parameters, and periodicity. 
      
      - `D` must be an integer indicating the integration order of the process.
      - `P` and `Q` may either be an integers indicating the AR and MA orders 
      (so that all lags up to those orders are included) or else iterables 
      giving specific AR and / or MA lags to include. 
      - `s` is an integer giving the periodicity (number of periods in season),
      often it is 4 for quarterly data or 12 for monthly data.
  trend : str, default `None`
      Parameter controlling the deterministic trend polynomial `A(t)`.
          
      - `'c'` indicates a constant (i.e. a degree zero component of the 
      trend polynomial).
      - `'t'` indicates a linear trend with time.
      - `'ct'` indicates both, `'c'` and `'t'`. 
      - Can also be specified as an iterable defining the non-zero polynomial 
      exponents to include, in increasing order. For example, `[1,1,0,1]` 
      denotes `a + b*t + ct^3`.
  measurement_error : bool, default `False`
      Whether or not to assume the endogenous observations `y` were measured 
      with error.
  time_varying_regression : bool, default `False`
      Used when an explanatory variables, `exog`, are provided to select whether 
      or not coefficients on the exogenous regressors are allowed to vary over time.
  mle_regression : bool, default `True`
      Whether or not to use estimate the regression coefficients for the
      exogenous variables as part of maximum likelihood estimation or through
      the Kalman filter (i.e. recursive least squares). If 
      `time_varying_regression` is `True`, this must be set to `False`.
  simple_differencing : bool, default `False`
      Whether or not to use partially conditional maximum likelihood
      estimation. 
      
      - If `True`, differencing is performed prior to estimation, which 
      discards the first `s*D + d` initial rows but results in a smaller 
      state-space formulation. 
      - If `False`, the full SARIMAX model is put in state-space form so 
      that all datapoints can be used in estimation.
  enforce_stationarity : bool, default `True`
      Whether or not to transform the AR parameters to enforce stationarity
      in the autoregressive component of the model.
  enforce_invertibility : bool, default `True`
      Whether or not to transform the MA parameters to enforce invertibility
      in the moving average component of the model.
  hamilton_representation : bool, default `False`
      Whether or not to use the Hamilton representation of an ARMA process
      (if `True`) or the Harvey representation (if `False`).
  concentrate_scale : bool, default `False`
      Whether or not to concentrate the scale (variance of the error term)
      out of the likelihood. This reduces the number of parameters estimated
      by maximum likelihood by one, but standard errors will then not
      be available for the scale parameter.
  trend_offset : int, default `1`
      The offset at which to start time trend values. Default is 1, so that
      if `trend='t'` the trend is equal to 1, 2, ..., nobs. Typically is only
      set when the model created by extending a previous dataset.
  use_exact_diffuse : bool, default `False`
      Whether or not to use exact diffuse initialization for non-stationary
      states. Default is `False` (in which case approximate diffuse
      initialization is used).
  method : str, default `'lbfgs'`
      The method determines which solver from scipy.optimize is used, and it 
      can be chosen from among the following strings:
  
      - `'newton'` for Newton-Raphson
      - `'nm'` for Nelder-Mead
      - `'bfgs'` for Broyden-Fletcher-Goldfarb-Shanno (BFGS)
      - `'lbfgs'` for limited-memory BFGS with optional box constraints
      - `'powell'` for modified Powell`s method
      - `'cg'` for conjugate gradient
      - `'ncg'` for Newton-conjugate gradient
      - `'basinhopping'` for global basin-hopping solver
  maxiter : int, default `50`
      The maximum number of iterations to perform.
  start_params : numpy ndarray, default `None`
      Initial guess of the solution for the loglikelihood maximization. 
      If `None`, the default is given by regressor.start_params.
  disp : bool, default `False`
      Set to `True` to print convergence messages.
  sm_init_kwargs : dict, default `{}`
      Additional keyword arguments to pass to the statsmodels SARIMAX model 
      when it is initialized.
  sm_fit_kwargs : dict, default `{}` 
      Additional keyword arguments to pass to the `fit` method of the
      statsmodels SARIMAX model. The statsmodels SARIMAX.fit parameters 
      `method`, `max_iter`, `start_params` and `disp` have been moved to the 
      initialization of this model and will have priority over those provided 
      by the user using via `sm_fit_kwargs`.
  sm_predict_kwargs : dict, default `{}`
      Additional keyword arguments to pass to the `get_forecast` method of the
      statsmodels SARIMAXResults object.
  
  Attributes
  ----------
  order : tuple
      The (p,d,q) order of the model for the number of AR parameters, differences, 
      and MA parameters.
  seasonal_order : tuple
      The (P,D,Q,s) order of the seasonal component of the model for the AR 
      parameters, differences, MA parameters, and periodicity.
  trend : str
      Deterministic trend polynomial `A(t)`.
  measurement_error : bool
      Whether or not to assume the endogenous observations `y` were measured 
      with error.
  time_varying_regression : bool
      Used when an explanatory variables, `exog`, are provided to select whether 
      or not coefficients on the exogenous regressors are allowed to vary over time.
  mle_regression : bool
      Whether or not to use estimate the regression coefficients for the
      exogenous variables as part of maximum likelihood estimation or through
      the Kalman filter (i.e. recursive least squares). If 
      `time_varying_regression` is `True`, this must be set to `False`.
  simple_differencing : bool
      Whether or not to use partially conditional maximum likelihood
      estimation.
  enforce_stationarity : bool
      Whether or not to transform the AR parameters to enforce stationarity
      in the autoregressive component of the model.
  enforce_invertibility : bool
      Whether or not to transform the MA parameters to enforce invertibility
      in the moving average component of the model.
  hamilton_representation : bool
      Whether or not to use the Hamilton representation of an ARMA process
      (if `True`) or the Harvey representation (if `False`).
  concentrate_scale : bool
      Whether or not to concentrate the scale (variance of the error term)
      out of the likelihood. This reduces the number of parameters estimated
      by maximum likelihood by one, but standard errors will then not
      be available for the scale parameter.
  trend_offset : int
      The offset at which to start time trend values.
  use_exact_diffuse : bool
      Whether or not to use exact diffuse initialization for non-stationary
      states.
  method : str
      The method determines which solver from scipy.optimize is used.
  maxiter : int
      The maximum number of iterations to perform.
  start_params : numpy ndarray
      Initial guess of the solution for the loglikelihood maximization.
  disp : bool
      Set to `True` to print convergence messages.
  sm_init_kwargs : dict
      Additional keyword arguments to pass to the statsmodels SARIMAX model 
      when it is initialized.
  sm_fit_kwargs : dict
      Additional keyword arguments to pass to the `fit` method of the
      statsmodels SARIMAX model.
  sm_predict_kwargs : dict
      Additional keyword arguments to pass to the `get_forecast` method of the
      statsmodels SARIMAXResults object.
  _sarimax_params : dict
      Parameters of this model that can be set with the `set_params` method.
  output_type : str
      Format of the object returned by the predict method. This is set 
      automatically according to the type of `y` used in the fit method to 
      train the model, `'numpy'` or `'pandas'`.
  sarimax : object
      The statsmodels.tsa.statespace.sarimax.SARIMAX object created.
  fitted : bool
      Tag to identify if the regressor has been fitted (trained).
  sarimax_res : object
      The resulting statsmodels.tsa.statespace.sarimax.SARIMAXResults object 
      created by statsmodels after fitting the SARIMAX model.
  training_index : pandas Index
      Index of the training series as long as it is a pandas Series or Dataframe.
class_docstr_tok: ["A","universal","scikit-learn","style","wrapper","for","statsmodels","SARIMAX",".","This","class","wraps","the","statsmodels.tsa.statespace.sarimax.SARIMAX","model","to","follow","the","scikit-learn","style",".","The","following","docstring","is","based","on","the","statmodels","documentation","and","it","is","highly","recommended","to","visit","their","site","for","the","best","level","of","detail",".","https",":","\/\/www.statsmodels.org\/stable\/generated\/statsmodels.tsa.statespace.sarimax.SARIMAX.html","https",":","\/\/www.statsmodels.org\/dev\/generated\/statsmodels.tsa.statespace.sarimax.SARIMAXResults.html","Parameters","--","--","--","--","--","order",":","tuple",",","default","`","(","1",",","0",",","0",")","`","The","(","p",",","d",",","q",")","order","of","the","model","for","the","number","of","AR","parameters",",","differences",",","and","MA","parameters",".","-","`","d","`","must","be","an","integer","indicating","the","integration","order","of","the","process",".","-","`","p","`","and","`","q","`","may","either","be","an","integers","indicating","the","AR","and","MA","orders","(","so","that","all","lags","up","to","those","orders","are","included",")","or","else","iterables","giving","specific","AR","and","\/","or","MA","lags","to","include",".","seasonal_order",":","tuple",",","default","`","(","0",",","0",",","0",",","0",")","`","The","(","P",",","D",",","Q",",","s",")","order","of","the","seasonal","component","of","the","model","for","the","AR","parameters",",","differences",",","MA","parameters",",","and","periodicity",".","-","`","D","`","must","be","an","integer","indicating","the","integration","order","of","the","process",".","-","`","P","`","and","`","Q","`","may","either","be","an","integers","indicating","the","AR","and","MA","orders","(","so","that","all","lags","up","to","those","orders","are","included",")","or","else","iterables","giving","specific","AR","and","\/","or","MA","lags","to","include",".","-","`","s","`","is","an","integer","giving","the","periodicity","(","number","of","periods","in","season",")",",","often","it","is","4","for","quarterly","data","or","12","for","monthly","data",".","trend",":","str",",","default","`","None","`","Parameter","controlling","the","deterministic","trend","polynomial","`","A","(","t",")","`",".","-","`","'","c","'","`","indicates","a","constant","(","i.e",".","a","degree","zero","component","of","the","trend","polynomial",")",".","-","`","'t","'","`","indicates","a","linear","trend","with","time",".","-","`","'ct","'","`","indicates","both",",","`","'","c","'","`","and","`","'t","'","`",".","-","Can","also","be","specified","as","an","iterable","defining","the","non-zero","polynomial","exponents","to","include",",","in","increasing","order",".","For","example",",","`","[","1,1,0,1","]","`","denotes","`","a","+","b","*","t","+","ct^3","`",".","measurement_error",":","bool",",","default","`","False","`","Whether","or","not","to","assume","the","endogenous","observations","`","y","`","were","measured","with","error",".","time_varying_regression",":","bool",",","default","`","False","`","Used","when","an","explanatory","variables",",","`","exog","`",",","are","provided","to","select","whether","or","not","coefficients","on","the","exogenous","regressors","are","allowed","to","vary","over","time",".","mle_regression",":","bool",",","default","`","True","`","Whether","or","not","to","use","estimate","the","regression","coefficients","for","the","exogenous","variables","as","part","of","maximum","likelihood","estimation","or","through","the","Kalman","filter","(","i.e",".","recursive","least","squares",")",".","If","`","time_varying_regression","`","is","`","True","`",",","this","must","be","set","to","`","False","`",".","simple_differencing",":","bool",",","default","`","False","`","Whether","or","not","to","use","partially","conditional","maximum","likelihood","estimation",".","-","If","`","True","`",",","differencing","is","performed","prior","to","estimation",",","which","discards","the","first","`","s","*","D","+","d","`","initial","rows","but","results","in","a","smaller","state-space","formulation",".","-","If","`","False","`",",","the","full","SARIMAX","model","is","put","in","state-space","form","so","that","all","datapoints","can","be","used","in","estimation",".","enforce_stationarity",":","bool",",","default","`","True","`","Whether","or","not","to","transform","the","AR","parameters","to","enforce","stationarity","in","the","autoregressive","component","of","the","model",".","enforce_invertibility",":","bool",",","default","`","True","`","Whether","or","not","to","transform","the","MA","parameters","to","enforce","invertibility","in","the","moving","average","component","of","the","model",".","hamilton_representation",":","bool",",","default","`","False","`","Whether","or","not","to","use","the","Hamilton","representation","of","an","ARMA","process","(","if","`","True","`",")","or","the","Harvey","representation","(","if","`","False","`",")",".","concentrate_scale",":","bool",",","default","`","False","`","Whether","or","not","to","concentrate","the","scale","(","variance","of","the","error","term",")","out","of","the","likelihood",".","This","reduces","the","number","of","parameters","estimated","by","maximum","likelihood","by","one",",","but","standard","errors","will","then","not","be","available","for","the","scale","parameter",".","trend_offset",":","int",",","default","`","1","`","The","offset","at","which","to","start","time","trend","values",".","Default","is","1",",","so","that","if","`","trend='t","'","`","the","trend","is","equal","to","1",",","2",",","...",",","nobs",".","Typically","is","only","set","when","the","model","created","by","extending","a","previous","dataset",".","use_exact_diffuse",":","bool",",","default","`","False","`","Whether","or","not","to","use","exact","diffuse","initialization","for","non-stationary","states",".","Default","is","`","False","`","(","in","which","case","approximate","diffuse","initialization","is","used",")",".","method",":","str",",","default","`","'lbfgs","'","`","The","method","determines","which","solver","from","scipy.optimize","is","used",",","and","it","can","be","chosen","from","among","the","following","strings",":","-","`","'newton","'","`","for","Newton-Raphson","-","`","'nm","'","`","for","Nelder-Mead","-","`","'bfgs","'","`","for","Broyden-Fletcher-Goldfarb-Shanno","(","BFGS",")","-","`","'lbfgs","'","`","for","limited-memory","BFGS","with","optional","box","constraints","-","`","'powell","'","`","for","modified","Powell","`","s","method","-","`","'cg","'","`","for","conjugate","gradient","-","`","'ncg","'","`","for","Newton-conjugate","gradient","-","`","'basinhopping","'","`","for","global","basin-hopping","solver","maxiter",":","int",",","default","`","50","`","The","maximum","number","of","iterations","to","perform",".","start_params",":","numpy","ndarray",",","default","`","None","`","Initial","guess","of","the","solution","for","the","loglikelihood","maximization",".","If","`","None","`",",","the","default","is","given","by","regressor.start_params",".","disp",":","bool",",","default","`","False","`","Set","to","`","True","`","to","print","convergence","messages",".","sm_init_kwargs",":","dict",",","default","`","{","}","`","Additional","keyword","arguments","to","pass","to","the","statsmodels","SARIMAX","model","when","it","is","initialized",".","sm_fit_kwargs",":","dict",",","default","`","{","}","`","Additional","keyword","arguments","to","pass","to","the","`","fit","`","method","of","the","statsmodels","SARIMAX","model",".","The","statsmodels","SARIMAX.fit","parameters","`","method","`",",","`","max_iter","`",",","`","start_params","`","and","`","disp","`","have","been","moved","to","the","initialization","of","this","model","and","will","have","priority","over","those","provided","by","the","user","using","via","`","sm_fit_kwargs","`",".","sm_predict_kwargs",":","dict",",","default","`","{","}","`","Additional","keyword","arguments","to","pass","to","the","`","get_forecast","`","method","of","the","statsmodels","SARIMAXResults","object",".","Attributes","--","--","--","--","--","order",":","tuple","The","(","p",",","d",",","q",")","order","of","the","model","for","the","number","of","AR","parameters",",","differences",",","and","MA","parameters",".","seasonal_order",":","tuple","The","(","P",",","D",",","Q",",","s",")","order","of","the","seasonal","component","of","the","model","for","the","AR","parameters",",","differences",",","MA","parameters",",","and","periodicity",".","trend",":","str","Deterministic","trend","polynomial","`","A","(","t",")","`",".","measurement_error",":","bool","Whether","or","not","to","assume","the","endogenous","observations","`","y","`","were","measured","with","error",".","time_varying_regression",":","bool","Used","when","an","explanatory","variables",",","`","exog","`",",","are","provided","to","select","whether","or","not","coefficients","on","the","exogenous","regressors","are","allowed","to","vary","over","time",".","mle_regression",":","bool","Whether","or","not","to","use","estimate","the","regression","coefficients","for","the","exogenous","variables","as","part","of","maximum","likelihood","estimation","or","through","the","Kalman","filter","(","i.e",".","recursive","least","squares",")",".","If","`","time_varying_regression","`","is","`","True","`",",","this","must","be","set","to","`","False","`",".","simple_differencing",":","bool","Whether","or","not","to","use","partially","conditional","maximum","likelihood","estimation",".","enforce_stationarity",":","bool","Whether","or","not","to","transform","the","AR","parameters","to","enforce","stationarity","in","the","autoregressive","component","of","the","model",".","enforce_invertibility",":","bool","Whether","or","not","to","transform","the","MA","parameters","to","enforce","invertibility","in","the","moving","average","component","of","the","model",".","hamilton_representation",":","bool","Whether","or","not","to","use","the","Hamilton","representation","of","an","ARMA","process","(","if","`","True","`",")","or","the","Harvey","representation","(","if","`","False","`",")",".","concentrate_scale",":","bool","Whether","or","not","to","concentrate","the","scale","(","variance","of","the","error","term",")","out","of","the","likelihood",".","This","reduces","the","number","of","parameters","estimated","by","maximum","likelihood","by","one",",","but","standard","errors","will","then","not","be","available","for","the","scale","parameter",".","trend_offset",":","int","The","offset","at","which","to","start","time","trend","values",".","use_exact_diffuse",":","bool","Whether","or","not","to","use","exact","diffuse","initialization","for","non-stationary","states",".","method",":","str","The","method","determines","which","solver","from","scipy.optimize","is","used",".","maxiter",":","int","The","maximum","number","of","iterations","to","perform",".","start_params",":","numpy","ndarray","Initial","guess","of","the","solution","for","the","loglikelihood","maximization",".","disp",":","bool","Set","to","`","True","`","to","print","convergence","messages",".","sm_init_kwargs",":","dict","Additional","keyword","arguments","to","pass","to","the","statsmodels","SARIMAX","model","when","it","is","initialized",".","sm_fit_kwargs",":","dict","Additional","keyword","arguments","to","pass","to","the","`","fit","`","method","of","the","statsmodels","SARIMAX","model",".","sm_predict_kwargs",":","dict","Additional","keyword","arguments","to","pass","to","the","`","get_forecast","`","method","of","the","statsmodels","SARIMAXResults","object",".","_sarimax_params",":","dict","Parameters","of","this","model","that","can","be","set","with","the","`","set_params","`","method",".","output_type",":","str","Format","of","the","object","returned","by","the","predict","method",".","This","is","set","automatically","according","to","the","type","of","`","y","`","used","in","the","fit","method","to","train","the","model",",","`","'numpy","'","`","or","`","'pandas","'","`",".","sarimax",":","object","The","statsmodels.tsa.statespace.sarimax.SARIMAX","object","created",".","fitted",":","bool","Tag","to","identify","if","the","regressor","has","been","fitted","(","trained",")",".","sarimax_res",":","object","The","resulting","statsmodels.tsa.statespace.sarimax.SARIMAXResults","object","created","by","statsmodels","after","fitting","the","SARIMAX","model",".","training_index",":","pandas","Index","Index","of","the","training","series","as","long","as","it","is","a","pandas","Series","or","Dataframe","."]
docstr: Get a summary of the SARIMAXResults object.
  
  Parameters
  ----------
  alpha : float, default `0.05`
      The confidence intervals for the forecasts are (1 - alpha) %.
  start : int, default `None`
      Integer of the start observation.
  
  Returns
  -------
  summary : Summary instance
      This holds the summary table and text, which can be printed or 
      converted to various output formats.
docstr_tok: ["Get","a","summary","of","the","SARIMAXResults","object",".","Parameters","--","--","--","--","--","alpha",":","float",",","default","`","0.05","`","The","confidence","intervals","for","the","forecasts","are","(","1","-","alpha",")","%",".","start",":","int",",","default","`","None","`","Integer","of","the","start","observation",".","Returns","--","--","--","-","summary",":","Summary","instance","This","holds","the","summary","table","and","text",",","which","can","be","printed","or","converted","to","various","output","formats","."]
code: def summary(self, alpha: float = 0.05, start: int = None) -> object:
      """
      Get a summary of the SARIMAXResults object.
  
      Parameters
      ----------
      alpha : float, default `0.05`
          The confidence intervals for the forecasts are (1 - alpha) %.
      start : int, default `None`
          Integer of the start observation.
  
      Returns
      -------
      summary : Summary instance
          This holds the summary table and text, which can be printed or
          converted to various output formats.
  
      """
  
      return self.sarimax_res.summary(alpha=alpha, start=start)
  
imports: from typing import Union, Dict, List, Tuple, Any, Optional
  import warnings
  import logging
  import inspect
  import numpy
  import pandas
  from sklearn.base import clone, BaseEstimator, RegressorMixin
  from sklearn.exceptions import NotFittedError
  from statsmodels.tsa.statespace.sarimax import SARIMAX
  import skforecast
label_desc: Use image node_id 12 for calling the Sarimax obj's underlying member method code with example usage: obj.summary(alpha, start) and returns: self