Back to models
Splitter

SlidingWindowSplitter

Sliding window splitter.

Quickstart

python
from sktime.split.slidingwindow import SlidingWindowSplitter

estimator = SlidingWindowSplitter(fh=1, window_length: int | float | Timedelta | timedelta | timedelta64 | DateOffset=10, step_length: int | Timedelta | timedelta | timedelta64 | DateOffset=1, initial_window: int | float | Timedelta | timedelta | timedelta64 | DateOffset | None=None, start_with_window: bool=True)

Parameters(5)

fhint, list or np.array, optional (default=1)

Forecasting horizon, determines the test window. Should be relative. The test window is determined by applying the forecasting horizon fh to the end of the training window.

window_lengthint or timedelta or pd.DateOffset, optional (default=10)
Window length of the training window.
step_lengthint or timedelta or pd.DateOffset, optional (default=1)
Step length between training windows.
initial_windowint or timedelta or pd.DateOffset, optional (default=None)

Window length of first window. If this is set to an integer, then the first training window will have size initial_window, and not window_length. This is useful for forecasting algorithms that require a minimum amount of training data. The test window size is unchanged, and determined by fh. All remaining folds, from the second onwards, will have size window_length.

start_with_windowbool, optional (default=True)
  • If True, starts with full training window.

  • If False, starts with empty training window. Same as setting initial_window=0.

Examples

>>> import numpy as np
>>> from sktime.split import SlidingWindowSplitter
>>> ts = np. arange (10)
>>> splitter = SlidingWindowSplitter (fh = [2, 4 ], window_length = 3, step_length = 2)
>>> list (splitter. split (ts)) [(array([0, 1, 2]), array([4, 6])), (array([2, 3, 4]), array([6, 8]))]