class_docstr: A pipeline of transformers with an optional final estimator stage
  
  The pipeline object chains together an arbitrary number of named, ordered
  transformations, passing the output from one as the input to the next. As
  the last stage, an ``ARIMA`` or ``AutoARIMA`` object will be fit. This
  pipeline takes after the scikit-learn ``sklearn.Pipeline`` object, which
  behaves similarly but does not share the same time-series interface
  that ``pmdarima`` follows.
  
  The purpose of the pipeline is to assemble several steps that can be
  cross-validated together while setting different parameters.
  For this, it enables setting parameters of the various steps using their
  names and the parameter name separated by a `'__'`, as in the example
  below.
  
  Parameters
  ----------
  steps : list
      List of (name, transform) tuples (implementing fit/transform) that are
      chained, in the order in which they are chained, with the last object
      an ARIMA or AutoARIMA estimator.
  
  Examples
  --------
  >>> from pmdarima.datasets import load_wineind
  >>> from pmdarima.arima import AutoARIMA
  >>> from pmdarima.pipeline import Pipeline
  >>> from pmdarima.preprocessing import FourierFeaturizer
  >>>
  >>> wineind = load_wineind()
  >>> pipeline = Pipeline([
  ...     ("fourier", FourierFeaturizer(m=12, k=3)),
  ...     ("arima", AutoARIMA(seasonal=False, stepwise=True,
  ...                         suppress_warnings=True,
  ...                         error_action='ignore'))
  ... ])
  >>> pipeline.fit(wineind)
  Pipeline(steps=[('fourier', FourierFeaturizer(k=3, m=12)),
                  ('arima', AutoARIMA(D=None, alpha=0.05, callback=None,
                                      d=None, disp=0, error_action='ignore',
                                      information_criterion='aic', m=1,
                                      max_D=1, max_P=2, max_Q=2, max_d=2,
                                      max_order=10, max_p=5, max_q=5,
                                      maxiter=None, method=None,
                                      n_fits=10, n...s_warnings=True,
                                      test='kpss', trace=False,
                                      transparams=True, trend=None,
                                      with_intercept=True))])
class_docstr_tok: ["A","pipeline","of","transformers","with","an","optional","final","estimator","stage","The","pipeline","object","chains","together","an","arbitrary","number","of","named",",","ordered","transformations",",","passing","the","output","from","one","as","the","input","to","the","next",".","As","the","last","stage",",","an","``","ARIMA","``","or","``","AutoARIMA","``","object","will","be","fit",".","This","pipeline","takes","after","the","scikit-learn","``","sklearn.Pipeline","``","object",",","which","behaves","similarly","but","does","not","share","the","same","time-series","interface","that","``","pmdarima","``","follows",".","The","purpose","of","the","pipeline","is","to","assemble","several","steps","that","can","be","cross-validated","together","while","setting","different","parameters",".","For","this",",","it","enables","setting","parameters","of","the","various","steps","using","their","names","and","the","parameter","name","separated","by","a","`","'__","'","`",",","as","in","the","example","below",".","Parameters","--","--","--","--","--","steps",":","list","List","of","(","name",",","transform",")","tuples","(","implementing","fit\/transform",")","that","are","chained",",","in","the","order","in","which","they","are","chained",",","with","the","last","object","an","ARIMA","or","AutoARIMA","estimator",".","Examples","--","--","--","--",">",">",">","from","pmdarima.datasets","import","load_wineind",">",">",">","from","pmdarima.arima","import","AutoARIMA",">",">",">","from","pmdarima.pipeline","import","Pipeline",">",">",">","from","pmdarima.preprocessing","import","FourierFeaturizer",">",">",">",">",">",">","wineind","=","load_wineind","(",")",">",">",">","pipeline","=","Pipeline","(","[","...","(","``","fourier","''",",","FourierFeaturizer","(","m=12",",","k=3",")",")",",","...","(","``","arima","''",",","AutoARIMA","(","seasonal=False",",","stepwise=True",",","...","suppress_warnings=True",",","...","error_action='ignore","'",")",")","...","]",")",">",">",">","pipeline.fit","(","wineind",")","Pipeline","(","steps=","[","(","'fourier","'",",","FourierFeaturizer","(","k=3",",","m=12",")",")",",","(","'arima","'",",","AutoARIMA","(","D=None",",","alpha=0.05",",","callback=None",",","d=None",",","disp=0",",","error_action='ignore","'",",","information_criterion='aic","'",",","m=1",",","max_D=1",",","max_P=2",",","max_Q=2",",","max_d=2",",","max_order=10",",","max_p=5",",","max_q=5",",","maxiter=None",",","method=None",",","n_fits=10",",","n","...","s_warnings=True",",","test='kpss","'",",","trace=False",",","transparams=True",",","trend=None",",","with_intercept=True",")",")","]",")"]
docstr: Fit the pipeline of transformers and the ARIMA model
  
  Chain the time-series and X array through a series of
  transformations, fitting each stage along the way, finally fitting an
  ARIMA or AutoARIMA model.
  
  Parameters
  ----------
  y : array-like or iterable, shape=(n_samples,)
      The time-series to which to fit the ``ARIMA`` estimator. This may
      either be a Pandas ``Series`` object (statsmodels can internally
      use the dates in the index), or a numpy array. This should be a
      one-dimensional array of floats, and should not contain any
      ``np.nan`` or ``np.inf`` values.
  
  X : array-like, shape=[n_obs, n_vars], optional (default=None)
      An optional 2-d array of exogenous variables. If provided, these
      variables are used as additional features in the regression
      operation. This should not include a constant or trend. Note that
      if an ``ARIMA`` is fit on exogenous features, it must be provided
      exogenous features for making predictions.
  
  **fit_kwargs : keyword args
      Extra keyword arguments used for each stage's ``fit`` stage.
      Similar to scikit-learn pipeline keyword args, the keys are
      compound, comprised of the stage name and the argument name
      separated by a "__". For instance, if fitting an ARIMA in stage
      "arima", your kwargs may resemble::
  
          {"arima__maxiter": 10}
docstr_tok: ["Fit","the","pipeline","of","transformers","and","the","ARIMA","model","Chain","the","time-series","and","X","array","through","a","series","of","transformations",",","fitting","each","stage","along","the","way",",","finally","fitting","an","ARIMA","or","AutoARIMA","model",".","Parameters","--","--","--","--","--","y",":","array-like","or","iterable",",","shape=","(","n_samples",",",")","The","time-series","to","which","to","fit","the","``","ARIMA","``","estimator",".","This","may","either","be","a","Pandas","``","Series","``","object","(","statsmodels","can","internally","use","the","dates","in","the","index",")",",","or","a","numpy","array",".","This","should","be","a","one-dimensional","array","of","floats",",","and","should","not","contain","any","``","np.nan","``","or","``","np.inf","``","values",".","X",":","array-like",",","shape=","[","n_obs",",","n_vars","]",",","optional","(","default=None",")","An","optional","2-d","array","of","exogenous","variables",".","If","provided",",","these","variables","are","used","as","additional","features","in","the","regression","operation",".","This","should","not","include","a","constant","or","trend",".","Note","that","if","an","``","ARIMA","``","is","fit","on","exogenous","features",",","it","must","be","provided","exogenous","features","for","making","predictions",".","*","*","fit_kwargs",":","keyword","args","Extra","keyword","arguments","used","for","each","stage","'s","``","fit","``","stage",".","Similar","to","scikit-learn","pipeline","keyword","args",",","the","keys","are","compound",",","comprised","of","the","stage","name","and","the","argument","name","separated","by","a","``","__","''",".","For","instance",",","if","fitting","an","ARIMA","in","stage","``","arima","''",",","your","kwargs","may","resemble",":",":","{","``","arima__maxiter","''",":","10","}"]
code: def fit(self, y, X=None, **fit_kwargs):
      """Fit the pipeline of transformers and the ARIMA model
  
      Chain the time-series and X array through a series of
      transformations, fitting each stage along the way, finally fitting an
      ARIMA or AutoARIMA model.
  
      Parameters
      ----------
      y : array-like or iterable, shape=(n_samples,)
          The time-series to which to fit the ``ARIMA`` estimator. This may
          either be a Pandas ``Series`` object (statsmodels can internally
          use the dates in the index), or a numpy array. This should be a
          one-dimensional array of floats, and should not contain any
          ``np.nan`` or ``np.inf`` values.
  
      X : array-like, shape=[n_obs, n_vars], optional (default=None)
          An optional 2-d array of exogenous variables. If provided, these
          variables are used as additional features in the regression
          operation. This should not include a constant or trend. Note that
          if an ``ARIMA`` is fit on exogenous features, it must be provided
          exogenous features for making predictions.
  
      **fit_kwargs : keyword args
          Extra keyword arguments used for each stage's ``fit`` stage.
          Similar to scikit-learn pipeline keyword args, the keys are
          compound, comprised of the stage name and the argument name
          separated by a "__". For instance, if fitting an ARIMA in stage
          "arima", your kwargs may resemble::
  
              {"arima__maxiter": 10}
      """
      # Shallow copy
      steps = self.steps_ = self._validate_steps()
  
      yt = check_endog(y, dtype=DTYPE, copy=False, preserve_series=True)
      Xt = X
      named_kwargs = self._get_kwargs(**fit_kwargs)
  
      # store original shape for later in-sample preds
      self.n_samples_ = yt.shape[0]
  
      for step_idx, name, transformer in self._iter(with_final=False):
          cloned_transformer = clone(transformer)
          kwargs = named_kwargs[name]
          yt, Xt = cloned_transformer.fit_transform(yt, Xt, **kwargs)
  
          # Replace the transformer of the step with the fitted
          # transformer.
          steps[step_idx] = (name, cloned_transformer)
  
      # Save the order of the columns so we can select in the predict phase
      self.x_feats_ = (
          Xt.columns.tolist() if isinstance(Xt, pd.DataFrame) else None
      )
  
      # Now fit the final estimator
      kwargs = named_kwargs[steps[-1][0]]
      self._final_estimator.fit(yt, X=Xt, **kwargs)
      return self
  
imports: from itertools import islice
  import pandas
  import warnings
  from sklearn.base import BaseEstimator, clone
  from .base import BaseARIMA
  from .preprocessing.base import BaseTransformer
  from .preprocessing.endog.base import BaseEndogTransformer
  from .preprocessing.exog.base import BaseExogTransformer, BaseExogFeaturizer
  from .utils import check_endog
  from .compat import DTYPE, check_is_fitted
  from .compat.sklearn import if_delegate_has_method
label_desc: Use image node_id 10 for calling the Pipeline obj's underlying member method code with example usage: obj.fit(y, X) and returns: self