Back to models
Transformer

ConditionalDeseasonalizer

Inverse transformUnequal-length series

Remove seasonal components from time series, conditional on seasonality test.

Fit tests for seasonality and if the passed time series has a seasonal component it applies seasonal decomposition provided by statsmodels to compute the seasonal component. If the test is negative seasonal_ is set to all ones (if model is “multiplicative”) or to all zeros (if model is “additive”).

Transform aligns seasonal components stored in seasonal_ with the time index of the passed series and then subtracts them (“additive” model) from the passed series or divides the passed series by them (“multiplicative” model).

Quickstart

python
from sktime.transformations.detrend import ConditionalDeseasonalizer

estimator = ConditionalDeseasonalizer(seasonality_test=None, sp=1, model='additive')

Tags

Capabilities

  • Inverse transform: Supported
  • Unequal-length series
  • Multivariate: Not supported
  • Missing values: Not supported
  • Removes missing values: 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
No
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
No

Parameters(3)

seasonality_testcallable or None, default=None
Callable that tests for seasonality and returns True when data is seasonal and False otherwise. If None, 90% autocorrelation seasonality test is used.
spint, default=1
Seasonal periodicity.
model{“additive”, “multiplicative”}, default=”additive”
Model to use for estimating seasonal component.

Examples

>>> from sktime.transformations.detrend import ConditionalDeseasonalizer
>>> from sktime.datasets import load_airline
>>> y = load_airline ()
>>> transformer = ConditionalDeseasonalizer (sp = 12)
>>> y_hat = transformer. fit_transform (y)