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

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)