Transformer
STLTransformer
Inverse transformUnequal length
Remove seasonal components from a time-series using STL.
Quickstart
python
from sktime.transformations.detrend import STLTransformer
estimator = STLTransformer(sp=2, seasonal=7, trend=None, low_pass=None, seasonal_deg=1, trend_deg=1, low_pass_deg=1, robust=False, seasonal_jump=1, trend_jump=1, low_pass_jump=1, return_components=False)Parameters(12)
- spint, default=1
- Seasonal periodicity.
- seasonalint, default=7
- Length of the seasonal smoother. Must be an odd integer, and should normally be >= 7 (default).
- trend{int, default=None}
- Length of the trend smoother. Must be an odd integer. If not provided uses the smallest odd integer greater than 1.5 * period / (1 - 1.5 / seasonal), following the suggestion in the original implementation.
- low_pass{int, default=None}
- Length of the low-pass filter. Must be an odd integer >=3. If not provided, uses the smallest odd integer > period.
- seasonal_degint, default=1
- Degree of seasonal LOESS. 0 (constant) or 1 (constant and trend).
- trend_degint, default=1
- Degree of trend LOESS. 0 (constant) or 1 (constant and trend).
- low_pass_degint, default=1
- Degree of low pass LOESS. 0 (constant) or 1 (constant and trend).
- robustbool, default False
- Flag indicating whether to use a weighted version that is robust to some forms of outliers.
- seasonal_jumpint, default=1
- Positive integer determining the linear interpolation step. If larger than 1, the LOESS is used every seasonal_jump points and linear interpolation is between fitted points. Higher values reduce estimation time.
- trend_jumpint, default=1
- Positive integer determining the linear interpolation step. If larger than 1, the LOESS is used every trend_jump points and values between the two are linearly interpolated. Higher values reduce estimation time.
- low_pass_jumpint, default=1
- Positive integer determining the linear interpolation step. If larger than 1, the LOESS is used every low_pass_jump points and values between the two are linearly interpolated. Higher values reduce estimation time.
- return_componentsbool, default=False
if False, will return only the trend component if True, will return the transformed series, as well as three components
as variables in the returned multivariate series (DataFrame cols) “transformed” - the transformed series “seasonal” - the seasonal component “trend” - the trend component “resid” - the residuals after de-trending, de-seasonalizing
Examples
>>> from sktime.datasets import load_airline
>>> from sktime.transformations.detrend import STLTransformer
>>> X = load_airline ()
>>> transformer = STLTransformer (sp = 12)
>>> Xt = transformer. fit_transform (X)References
- [1 ] https://www.statsmodels.org/devel/generated/statsmodels.tsa.seasonal.STL.html