Back to models
Transformer

ReducerTransform

Transformer for forecasting reduction. Prepares tabular X/y via lag and trafos.

Quickstart

python
from sktime.transformations.lag import ReducerTransform

estimator = ReducerTransform(lags=0, freq=None, shifted_vars=None, shifted_vars_lag=0, shifted_vars_freq=None, transformers=None, impute_method='bfill')

Parameters(8)

window_lengthint, optional, default=0
window length used in the reduction algorithm
lagslag 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”

freqfrequency 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_varsNone
shifted_vars_lag0
shifted_vars_freq
transformerssktime series-to-series transformer, or list thereof

Additional transformations applied to y. These are added to the lags, as separate columns in the output, and not applied to the lagged data.

impute_methodstr, None, or sktime transformation, optional

Imputation method to use for missing values in the lagged data

  • default=”bfill”

  • if str, admissible strings are of Imputer.method parameter, see there. To pass further parameters, pass the Imputer transformer directly, as described below.

  • if sktime transformer, this transformer is applied to the lagged data. This needs to be a transformer that removes missing data, and can be an Imputer.

  • if None, no imputation is done when applying Lag transformer

Examples

>>> from sktime.datasets import load_airline
>>> from sktime.transformations.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.impute import Imputer
>>> from sktime.transformations.lag import Lag
>>> X = load_airline ()
>>> 
>>> t = Lag ([2, 4, - 1 ]) * Imputer ("nearest")
>>> Xt = t. fit_transform (X)