class_docstr: Transformer for forecasting reduction. Prepares tabular X/y via lag and trafos.
  
  Parameters
  ----------
  window_length : int, optional, default=0
      window length used in the reduction algorithm
  lags : lag offset, or list of lag offsets, optional, default=0 (identity transform)
      a "lag offset" can be one of the following:
      int - number of periods to shift/lag
      time-like: `DateOffset`, `tseries.offsets`, or `timedelta`
          time delta offset to shift/lag
          requires time index of transformed data to be time-like (not int)
      str - time rule from pandas.tseries module, e.g., "EOM"
  freq : frequency descriptor of list of frequency descriptors, optional, default=None
      if passed, must be scalar, or list of equal length to `lags` parameter
      elements in `freq` correspond to elements in lags
      if i-th element of `freq` is not None, i-th element of `lags` must be int
          this is called the "corresponding lags element" below
      "frequency descriptor" can be one of the following:
      time-like: `DateOffset`, `tseries.offsets`, or `timedelta`
          multiplied to corresponding `lags` element when shifting
      str - offset from pd.tseries module, e.g., "D", "M", or time rule, e.g., "EOM"
  shifted_vars : None
  shifted_vars_lag : 0
  shifted_vars_freq :
  transformers : sktime series-to-series transformer, or list thereof
  
  impute_method : str or None, optional, method string passed to Imputer
      default="bfill", admissible strings are of Imputer.method parameter, see there
      if None, no imputation is done when applying Lag transformer to obtain inner X
  
  Examples
  --------
  >>> from sktime.datasets import load_airline
  >>> from sktime.transformations.series.lag import Lag
  >>> X = load_airline()
  
  Single lag will yield a time series with the same variables:
  
  >>> t = Lag(2)
  >>> Xt = t.fit_transform(X)
  
  Multiple lags can be provided, this will result in multiple columns:
  
  >>> t = Lag([2, 4, -1])
  >>> Xt = t.fit_transform(X)
  
  The default setting of index_out will extend indices either side.
  To ensure that the index remains the same after transform, use index_out="original"
  
  >>> t = Lag([2, 4, -1], index_out="original")
  >>> Xt = t.fit_transform(X)
  
  The lag transformer may (and usually will) create NAs.
  (except when index_out="shift" and there is only a single lag, or in trivial cases)
  This may need to be handled, e.g., if a subsequent pipeline step does not accept NA.
  To deal with the NAs, pipeline with the Imputer:
  
  >>> from sktime.datasets import load_airline
  >>> from sktime.transformations.series.impute import Imputer
  >>> from sktime.transformations.series.lag import Lag
  >>> X = load_airline()
  >>>
  >>> t = Lag([2, 4, -1]) * Imputer("nearest")
  >>> Xt = t.fit_transform(X)
class_docstr_tok: ["Transformer","for","forecasting","reduction",".","Prepares","tabular","X\/y","via","lag","and","trafos",".","Parameters","--","--","--","--","--","window_length",":","int",",","optional",",","default=0","window","length","used","in","the","reduction","algorithm","lags",":","lag","offset",",","or","list","of","lag","offsets",",","optional",",","default=0","(","identity","transform",")","a","``","lag","offset","''","can","be","one","of","the","following",":","int","-","number","of","periods","to","shift\/lag","time-like",":","`","DateOffset","`",",","`","tseries.offsets","`",",","or","`","timedelta","`","time","delta","offset","to","shift\/lag","requires","time","index","of","transformed","data","to","be","time-like","(","not","int",")","str","-","time","rule","from","pandas.tseries","module",",","e.g.",",","``","EOM","''","freq",":","frequency","descriptor","of","list","of","frequency","descriptors",",","optional",",","default=None","if","passed",",","must","be","scalar",",","or","list","of","equal","length","to","`","lags","`","parameter","elements","in","`","freq","`","correspond","to","elements","in","lags","if","i-th","element","of","`","freq","`","is","not","None",",","i-th","element","of","`","lags","`","must","be","int","this","is","called","the","``","corresponding","lags","element","''","below","``","frequency","descriptor","''","can","be","one","of","the","following",":","time-like",":","`","DateOffset","`",",","`","tseries.offsets","`",",","or","`","timedelta","`","multiplied","to","corresponding","`","lags","`","element","when","shifting","str","-","offset","from","pd.tseries","module",",","e.g.",",","``","D","''",",","``","M","''",",","or","time","rule",",","e.g.",",","``","EOM","''","shifted_vars",":","None","shifted_vars_lag",":","0","shifted_vars_freq",":","transformers",":","sktime","series-to-series","transformer",",","or","list","thereof","impute_method",":","str","or","None",",","optional",",","method","string","passed","to","Imputer","default=","''","bfill","''",",","admissible","strings","are","of","Imputer.method","parameter",",","see","there","if","None",",","no","imputation","is","done","when","applying","Lag","transformer","to","obtain","inner","X","Examples","--","--","--","--",">",">",">","from","sktime.datasets","import","load_airline",">",">",">","from","sktime.transformations.series.lag","import","Lag",">",">",">","X","=","load_airline","(",")","Single","lag","will","yield","a","time","series","with","the","same","variables",":",">",">",">","t","=","Lag","(","2",")",">",">",">","Xt","=","t.fit_transform","(","X",")","Multiple","lags","can","be","provided",",","this","will","result","in","multiple","columns",":",">",">",">","t","=","Lag","(","[","2",",","4",",","-1","]",")",">",">",">","Xt","=","t.fit_transform","(","X",")","The","default","setting","of","index_out","will","extend","indices","either","side",".","To","ensure","that","the","index","remains","the","same","after","transform",",","use","index_out=","''","original","''",">",">",">","t","=","Lag","(","[","2",",","4",",","-1","]",",","index_out=","''","original","''",")",">",">",">","Xt","=","t.fit_transform","(","X",")","The","lag","transformer","may","(","and","usually","will",")","create","NAs",".","(","except","when","index_out=","''","shift","''","and","there","is","only","a","single","lag",",","or","in","trivial","cases",")","This","may","need","to","be","handled",",","e.g.",",","if","a","subsequent","pipeline","step","does","not","accept","NA",".","To","deal","with","the","NAs",",","pipeline","with","the","Imputer",":",">",">",">","from","sktime.datasets","import","load_airline",">",">",">","from","sktime.transformations.series.impute","import","Imputer",">",">",">","from","sktime.transformations.series.lag","import","Lag",">",">",">","X","=","load_airline","(",")",">",">",">",">",">",">","t","=","Lag","(","[","2",",","4",",","-1","]",")","*","Imputer","(","``","nearest","''",")",">",">",">","Xt","=","t.fit_transform","(","X",")"]
docstr: Update transformer with X and y.
  
  private _update containing the core logic, called from update
  
  Parameters
  ----------
  X : pd.DataFrame
      Data to update transformer with
  y : ignored, passed for interface compatibility
  
  Returns
  -------
  self: reference to self
docstr_tok: ["Update","transformer","with","X","and","y.","private","_update","containing","the","core","logic",",","called","from","update","Parameters","--","--","--","--","--","X",":","pd.DataFrame","Data","to","update","transformer","with","y",":","ignored",",","passed","for","interface","compatibility","Returns","--","--","--","-","self",":","reference","to","self"]
code: def _update(self, X, y=None):
      """Update transformer with X and y.
  
      private _update containing the core logic, called from update
  
      Parameters
      ----------
      X : pd.DataFrame
          Data to update transformer with
      y : ignored, passed for interface compatibility
  
      Returns
      -------
      self: reference to self
      """
      self.trafo_.update(X=X, y=y)
      return self
  
imports: import numpy
  import pandas
  from sktime.transformations.base import BaseTransformer
  from sktime.utils.multiindex import flatten_multiindex
  from sktime.utils.warnings import warn
label_desc: Use image node_id 4 for calling the ReducerTransform obj's underlying member method code with example usage: obj._update(X, y) and returns: self