class_docstr: Pipeline of transformers and a parameter estimator.
  
  The `ParamFitterPipeline` compositor chains transformers and a single estimator.
  The pipeline is constructed with a list of sktime transformers, plus an estimator,
      i.e., estimators following the BaseTransformer, ParamFitterPipeline interfaces.
  The transformer list can be unnamed - a simple list of transformers -
      or string named - a list of pairs of string, estimator.
  
  For a list of transformers `trafo1`, `trafo2`, ..., `trafoN` and an estimator `est`,
      the pipeline behaves as follows:
  `fit(X)` - changes state by running `trafo1.fit_transform` on `X`,
      them `trafo2.fit_transform` on the output of `trafo1.fit_transform`, etc
      sequentially, with `trafo[i]` receiving the output of `trafo[i-1]`,
      and then running `est.fit` with `X` being the output of `trafo[N]`
  `update(X)` - changes state by running `trafo1.update.transform` on `X`,
      them `trafo2.update.transform` on the output of `trafo1.update.transform`, etc
      sequentially, with `trafo[i]` receiving the output of `trafo[i-1]`,
      and then running `est.update` with `X` being the output of `trafo[N]`
  
  `get_params`, `set_params` uses `sklearn` compatible nesting interface
      if list is unnamed, names are generated as names of classes
      if names are non-unique, `f"_{str(i)}"` is appended to each name string
          where `i` is the total count of occurrence of a non-unique string
          inside the list of names leading up to it (inclusive)
  
  `ParamFitterPipeline` can also be created by using the magic multiplication
      on any parameter estimator, i.e., if `est` inherits from `BaseParamFitter`,
          and `my_trafo1`, `my_trafo2` inherit from `BaseTransformer`, then,
          for instance, `my_trafo1 * my_trafo2 * est`
          will result in the same object as  obtained from the constructor
          `ParamFitterPipeline(param_est=est, transformers=[my_trafo1, my_trafo2])`
      magic multiplication can also be used with (str, transformer) pairs,
          as long as one element in the chain is a transformer
  
  Parameters
  ----------
  param_est : parameter estimator, i.e., estimator inheriting from BaseParamFitter
      this is a "blueprint" estimator, state does not change when `fit` is called
  transformers : list of sktime transformers, or
      list of tuples (str, transformer) of sktime transformers
      these are "blueprint" transformers, states do not change when `fit` is called
  
  Attributes
  ----------
  param_est_ : sktime estimator, clone of estimator in `param_est`
      this clone is fitted in the pipeline when `fit` is called
  transformers_ : list of tuples (str, transformer) of sktime transformers
      clones of transformers in `transformers` which are fitted in the pipeline
      is always in (str, transformer) format, even if transformers is just a list
      strings not passed in transformers are unique generated strings
      i-th transformer in `transformers_` is clone of i-th in `transformers`
  
  Examples
  --------
  >>> from sktime.param_est.compose import ParamFitterPipeline
  >>> from sktime.param_est.seasonality import SeasonalityACF
  >>> from sktime.transformations.series.difference import Differencer
  >>> from sktime.datasets import load_airline
  >>>
  >>> X = load_airline()
  >>> pipe = ParamFitterPipeline(SeasonalityACF(), [Differencer()])  # doctest: +SKIP
  >>> pipe.fit(X)  # doctest: +SKIP
  ParamFitterPipeline(...)
  >>> pipe.get_fitted_params()["sp"]  # doctest: +SKIP
  12
  
  Alternative construction via dunder method:
  
  >>> pipe = Differencer() * SeasonalityACF()  # doctest: +SKIP
class_docstr_tok: ["Pipeline","of","transformers","and","a","parameter","estimator",".","The","`","ParamFitterPipeline","`","compositor","chains","transformers","and","a","single","estimator",".","The","pipeline","is","constructed","with","a","list","of","sktime","transformers",",","plus","an","estimator",",","i.e.",",","estimators","following","the","BaseTransformer",",","ParamFitterPipeline","interfaces",".","The","transformer","list","can","be","unnamed","-","a","simple","list","of","transformers","-","or","string","named","-","a","list","of","pairs","of","string",",","estimator",".","For","a","list","of","transformers","`","trafo1","`",",","`","trafo2","`",",","...",",","`","trafoN","`","and","an","estimator","`","est","`",",","the","pipeline","behaves","as","follows",":","`","fit","(","X",")","`","-","changes","state","by","running","`","trafo1.fit_transform","`","on","`","X","`",",","them","`","trafo2.fit_transform","`","on","the","output","of","`","trafo1.fit_transform","`",",","etc","sequentially",",","with","`","trafo","[","i","]","`","receiving","the","output","of","`","trafo","[","i-1","]","`",",","and","then","running","`","est.fit","`","with","`","X","`","being","the","output","of","`","trafo","[","N","]","`","`","update","(","X",")","`","-","changes","state","by","running","`","trafo1.update.transform","`","on","`","X","`",",","them","`","trafo2.update.transform","`","on","the","output","of","`","trafo1.update.transform","`",",","etc","sequentially",",","with","`","trafo","[","i","]","`","receiving","the","output","of","`","trafo","[","i-1","]","`",",","and","then","running","`","est.update","`","with","`","X","`","being","the","output","of","`","trafo","[","N","]","`","`","get_params","`",",","`","set_params","`","uses","`","sklearn","`","compatible","nesting","interface","if","list","is","unnamed",",","names","are","generated","as","names","of","classes","if","names","are","non-unique",",","`","f","''","_","{","str","(","i",")","}","''","`","is","appended","to","each","name","string","where","`","i","`","is","the","total","count","of","occurrence","of","a","non-unique","string","inside","the","list","of","names","leading","up","to","it","(","inclusive",")","`","ParamFitterPipeline","`","can","also","be","created","by","using","the","magic","multiplication","on","any","parameter","estimator",",","i.e.",",","if","`","est","`","inherits","from","`","BaseParamFitter","`",",","and","`","my_trafo1","`",",","`","my_trafo2","`","inherit","from","`","BaseTransformer","`",",","then",",","for","instance",",","`","my_trafo1","*","my_trafo2","*","est","`","will","result","in","the","same","object","as","obtained","from","the","constructor","`","ParamFitterPipeline","(","param_est=est",",","transformers=","[","my_trafo1",",","my_trafo2","]",")","`","magic","multiplication","can","also","be","used","with","(","str",",","transformer",")","pairs",",","as","long","as","one","element","in","the","chain","is","a","transformer","Parameters","--","--","--","--","--","param_est",":","parameter","estimator",",","i.e.",",","estimator","inheriting","from","BaseParamFitter","this","is","a","``","blueprint","''","estimator",",","state","does","not","change","when","`","fit","`","is","called","transformers",":","list","of","sktime","transformers",",","or","list","of","tuples","(","str",",","transformer",")","of","sktime","transformers","these","are","``","blueprint","''","transformers",",","states","do","not","change","when","`","fit","`","is","called","Attributes","--","--","--","--","--","param_est_",":","sktime","estimator",",","clone","of","estimator","in","`","param_est","`","this","clone","is","fitted","in","the","pipeline","when","`","fit","`","is","called","transformers_",":","list","of","tuples","(","str",",","transformer",")","of","sktime","transformers","clones","of","transformers","in","`","transformers","`","which","are","fitted","in","the","pipeline","is","always","in","(","str",",","transformer",")","format",",","even","if","transformers","is","just","a","list","strings","not","passed","in","transformers","are","unique","generated","strings","i-th","transformer","in","`","transformers_","`","is","clone","of","i-th","in","`","transformers","`","Examples","--","--","--","--",">",">",">","from","sktime.param_est.compose","import","ParamFitterPipeline",">",">",">","from","sktime.param_est.seasonality","import","SeasonalityACF",">",">",">","from","sktime.transformations.series.difference","import","Differencer",">",">",">","from","sktime.datasets","import","load_airline",">",">",">",">",">",">","X","=","load_airline","(",")",">",">",">","pipe","=","ParamFitterPipeline","(","SeasonalityACF","(",")",",","[","Differencer","(",")","]",")","#","doctest",":","+SKIP",">",">",">","pipe.fit","(","X",")","#","doctest",":","+SKIP","ParamFitterPipeline","(","...",")",">",">",">","pipe.get_fitted_params","(",")","[","``","sp","''","]","#","doctest",":","+SKIP","12","Alternative","construction","via","dunder","method",":",">",">",">","pipe","=","Differencer","(",")","*","SeasonalityACF","(",")","#","doctest",":","+SKIP"]
docstr: Update fitted parameters on more data.
  
  private _update containing the core logic, called from update
  
  State required:
      Requires state to be "fitted".
  
  Accesses in self:
      Fitted model attributes ending in "_"
  
  Writes to self:
      Sets fitted model attributes ending in "_"
  
  Parameters
  ----------
  X : guaranteed to be of a type in self.get_tag("X_inner_mtype")
      Time series with which to update the estimator.
  
  Returns
  -------
  self : reference to self
docstr_tok: ["Update","fitted","parameters","on","more","data",".","private","_update","containing","the","core","logic",",","called","from","update","State","required",":","Requires","state","to","be","``","fitted","''",".","Accesses","in","self",":","Fitted","model","attributes","ending","in","``","_","''","Writes","to","self",":","Sets","fitted","model","attributes","ending","in","``","_","''","Parameters","--","--","--","--","--","X",":","guaranteed","to","be","of","a","type","in","self.get_tag","(","``","X_inner_mtype","''",")","Time","series","with","which","to","update","the","estimator",".","Returns","--","--","--","-","self",":","reference","to","self"]
code: def _update(self, X):
      """Update fitted parameters on more data.
  
      private _update containing the core logic, called from update
  
      State required:
          Requires state to be "fitted".
  
      Accesses in self:
          Fitted model attributes ending in "_"
  
      Writes to self:
          Sets fitted model attributes ending in "_"
  
      Parameters
      ----------
      X : guaranteed to be of a type in self.get_tag("X_inner_mtype")
          Time series with which to update the estimator.
  
      Returns
      -------
      self : reference to self
      """
      Xt = self.transformers_.update(X).transform(X)
      self.param_est_.update(Xt)
      return self
  
file_path: sktime/sktime/param_est/compose/_pipeline.py
imports: from sktime.base import _HeterogenousMetaEstimator
  from sktime.param_est.base import BaseParamFitter
  from sktime.transformations.base import BaseTransformer
  from sktime.transformations.compose import TransformerPipeline
label_desc: Use image node_id 6 for calling the ParamFitterPipeline obj's underlying member method code with example usage: obj._update(X) and returns: self