Zurück zu den Modellen
Transformer

Detrender

Remove a trend from a series.

This transformer uses any forecaster and returns the in-sample residuals of the forecaster’s predicted values.

The Detrender works as follows: in “fit”, the forecaster is fit to the input data, i.e., forecaster.fit(y=X). in “transform”, returns forecast residuals of forecasts at the data index. That is, transform(X) returns X - forecaster.predict(fh=X.index) (additive) or X / forecaster.predict(fh=X.index) (multiplicative detrending). Depending on time indices, this can generate in-sample or out-of-sample residuals.

For example, to remove the linear trend of a time series:

forecaster = PolynomialTrendForecaster(degree=1) transformer = Detrender(forecaster=forecaster) yt = transformer.fit_transform(y_train)

The detrender can also be used in a pipeline for residual boosting, by first detrending and then fitting another forecaster on residuals.

Schnellstart

python
from sktime.transformations.detrend import Detrender

estimator = Detrender(forecaster=None, model='additive')

Tags

Fähigkeiten

  • Multivariat
  • Inverse Transformation: Unterstützt
  • Reihen ungleicher Länge
  • Fehlende Werte: Nicht unterstützt
  • Entfernt fehlende Werte: Nicht unterstützt
  • Gleicht Reihenlängen an: Nicht unterstützt

Eigenschaften

Eingabetypscitype:transform-input
Series
Ausgabetypscitype:transform-output
Series
Label-Typscitype:transform-labels
None
Fit ist leerfit_is_empty
Nein
Behält den Zeitindextransform-returns-same-time-index
Ja
Benötigt Xrequires_X
Ja
Benötigt yrequires_y
Nein
X und y brauchen denselben IndexX-y-must-have-same-index
Nein

Parameter(2)

forecastersktime forecaster, follows BaseForecaster, default = None.
The forecasting model to remove the trend with

(e.g. PolynomialTrendForecaster).

model{“additive”, “multiplicative”}, default=”additive”

If model="additive" the forecaster.transform subtracts the trend, i.e., transform(X) returns X - forecaster.predict(fh=X.index) If model="multiplicative" the forecaster.transform divides by the trend, i.e., transform(X) returns X / forecaster.predict(fh=X.index)

Beispiele

>>> from sktime.transformations.detrend import Detrender
>>> from sktime.forecasting.trend import PolynomialTrendForecaster
>>> from sktime.datasets import load_airline
>>> y = load_airline ()
>>> transformer = Detrender (forecaster = PolynomialTrendForecaster (degree = 1))
>>> y_hat = transformer. fit_transform (y)