ReducerTransform
Transformer for forecasting reduction. Prepares tabular X/y via lag and trafos.
Quickstart
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, ortimedeltatime 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
lagsparameter elements infreqcorrespond to elements in lags if i-th element offreqis not None, i-th element oflagsmust be intthis is called the “corresponding lags element” below
“frequency descriptor” can be one of the following: time-like:
DateOffset,tseries.offsets, ortimedeltamultiplied to corresponding
lagselement when shiftingstr - 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.methodparameter, see there. To pass further parameters, pass theImputertransformer 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
Lagtransformer
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)