Transformer
SeasonalDummiesOneHot
Seasonal Dummy Features for time series seasonality.
A standard approach to capture seasonal effects is to add dummy exogenous variables, one for each season. e.g. for monthly seasonality add binary dummy variables Jan, Feb, …. For time ‘t’, these variables are set to 1 (resp 0) if ‘t’ occurs (resp does not occur) on that season. To avoid collinearity, one season is dropped when an intercept is also part of the model.
In the language of machine learning, the use of seasonal dummies is one hot encoding for the seasonal categorical variable.
Currently the following frequencies are supported: - Monthly: ‘M’ - Quarterly: ‘Q’ - Weekly: ‘W’ - Daily: ‘D’ - Hourly: ‘H’
Quickstart
python
from sktime.transformations.dummies import SeasonalDummiesOneHot
estimator = SeasonalDummiesOneHot(sp: int | None=None, freq: str | None=None, drop: bool | None=True)Tags
Capabilities
- Multivariate
- Missing values
- Removes missing values: Supported
- Inverse transform: Not supported
- Unequal-length series: Not supported
- Equalizes series length: Not supported
Properties
- Input typescitype:transform-input
- Series
- Output typescitype:transform-output
- Series
- Label typescitype:transform-labels
- None
- Fit is emptyfit_is_empty
- Yes
- Keeps the time indextransform-returns-same-time-index
- Yes
- Requires Xrequires_X
- Yes
- Requires yrequires_y
- No
- X and y need the same indexX-y-must-have-same-index
- Yes
Parameters(3)
- spint, optional, default = None
- Only used if the index of X (or y if X is None) passed to _transform() is a DatetimeIndex. The seasonal periodicity of the time series (e.g. 12 for monthly data). Can be omitted even in this case if freq is provided. (e.g. if index.freq is available, or freq=’M’)
- freqstr, optional, default = None
- Only used if the index of X (or y if X is None) passed to _transform() is a DatetimeIndex and sp is not provided. The frequency of the time series (e.g. ‘M’ for monthly data). Can be omitted even in this case if index.freq is available.
- dropbool, default = True
- Drop the first seasonal dummy? (Should be True if model contains an intercept)
Examples
>>> from sktime.transformations.dummies import SeasonalDummiesOneHot
>>> from sktime.datasets import load_airline
>>> y = load_airline ()
>>> transformer = SeasonalDummiesOneHot ()
>>> X = transformer. fit_transform (y = y, X = None)