Back to models
Splitter

SameLocSplitter

Splitter that replicates loc indices from another splitter.

Takes a splitter cv and a time series y_template. Splits y in split and split_loc such that loc indices of splits are identical to loc indices of cv applied to y_template.

This splitter is useful when you need to replicate train-test splits across multiple time series with consistent loc-based indexing.

Mathematically, let \(y_{template}\) represent the reference time series, corresponding to the input y_template, and let \(I_{train, 1}, I_{test, 1}, \ldots, I_{train, K}, I_{test, K}\) be the loc-based train-test splits generated by cv on y_template.

The SameLocSplitter returns the corresponding positional indices in y, such that the loc-based splits are identical to the splits generated by cv, namely, \(I_{train, 1}, I_{test, 1}, \ldots, I_{train, K}, I_{test, K}\).

Quickstart

python
from sktime.split.sameloc import SameLocSplitter

estimator = SameLocSplitter(cv, y_template=None)

Parameters(2)

cvBaseSplitter

splitter for which to replicate splits by loc index

y_templatetime series container of Series scitype, optional

template used in cv to determine loc indices if None, y_template=y will be used in methods

Examples

>>> from sktime.datasets import load_airline
>>> from sktime.split import (
... ExpandingWindowSplitter,
... SameLocSplitter,
... )
>>> y = load_airline ()
>>> y_template = y [: 60 ]
>>> cv_tpl = ExpandingWindowSplitter (fh = [2, 4 ], initial_window = 24, step_length = 12)
>>> splitter = SameLocSplitter (cv_tpl, y_template) these two are the same:
>>> list (cv_tpl. split (y_template))
>>> list (splitter. split (y))