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)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)