ExpandingWindowSplitter#
- class ExpandingWindowSplitter(fh: Union[int, list, numpy.ndarray, pandas.core.indexes.base.Index, sktime.forecasting.base._fh.ForecastingHorizon] = 1, initial_window: Union[int, float, pandas._libs.tslibs.timedeltas.Timedelta, datetime.timedelta, numpy.timedelta64, pandas._libs.tslibs.offsets.DateOffset] = 10, step_length: Union[int, pandas._libs.tslibs.timedeltas.Timedelta, datetime.timedelta, numpy.timedelta64, pandas._libs.tslibs.offsets.DateOffset] = 1, start_with_window: bool = True)[source]#
Expanding window splitter.
Split time series repeatedly into an growing training set and a fixed-size test set.
For example for window_length = 5, step_length = 1 and fh = 3 here is a representation of the folds:
|-----------------------| | * * * * * x x x - - - | | * * * * * * x x x - - | | * * * * * * * x x x - | | * * * * * * * * x x x |
*
= training fold.x
= test fold.- Parameters
- fhint, list or np.array, optional (default=1)
Forecasting horizon
- initial_windowint or timedelta or pd.DateOffset, optional (default=10)
Window length
- step_lengthint or timedelta or pd.DateOffset, optional (default=1)
Step length between windows
- start_with_windowbool, optional (default=False)
If True, starts with full window.
If False, starts with empty window.
Methods
get_cutoffs
([y])Return the cutoff points in .iloc[] context.
get_fh
()Return the forecasting horizon.
get_n_splits
([y])Return the number of splits.
split
(y)Split y into training and test windows.
- get_cutoffs(y: Optional[Union[pandas.core.series.Series, pandas.core.frame.DataFrame, numpy.ndarray, pandas.core.indexes.base.Index]] = None) numpy.ndarray [source]#
Return the cutoff points in .iloc[] context.
- Parameters
- ypd.Series or pd.Index, optional (default=None)
Time series to split
- Returns
- cutoffs1D np.ndarray of int
iloc location indices, in reference to y, of cutoff indices
- get_fh() sktime.forecasting.base._fh.ForecastingHorizon [source]#
Return the forecasting horizon.
- Returns
- fhForecastingHorizon
The forecasting horizon
- get_n_splits(y: Optional[Union[pandas.core.series.Series, pandas.core.frame.DataFrame, numpy.ndarray, pandas.core.indexes.base.Index]] = None) int [source]#
Return the number of splits.
- Parameters
- ypd.Series or pd.Index, optional (default=None)
Time series to split
- Returns
- n_splitsint
The number of splits.
- split(y: Union[pandas.core.series.Series, pandas.core.frame.DataFrame, numpy.ndarray, pandas.core.indexes.base.Index]) Generator[Tuple[numpy.ndarray, numpy.ndarray], None, None] [source]#
Split y into training and test windows.
- Parameters
- ypd.Series or pd.Index
Time series to split
- Yields
- trainnp.ndarray
Training window indices
- testnp.ndarray
Test window indices