SplitterBootstrapTransformer
Splitter based Bootstrapping method for synthetic time series generation.
A generalized form of bootstrap based on an sktime splitter.
Any sktime splitter can be passed as a component to this transformer, which will then produce for each series in the input of transform a panel of time series with the train and/or test sub-series.
The output of transform will have additional levels:
all levels of the
transforminputan additional integer indexed top level, indicating the number of the sample note: this is in general the number of the sample and corresponds to the number of the fold only in the deterministic, exhaustive case
if
split="train"orsplit="test", no further levelsif
split="both", the second top level contains strings"train"and
"test"to indicate train or test fold from the split
For instance, if split="train", and there is a single original series X, the output of transform will have a top level (level 0) with integer index ranging from 0 to splitter.get_n_splits(X)-1.
The splitter can be exhaustive and deterministic, or random. By default, exhaustive ordered samples are returned (deterministic). Randomness is controlled by the following parameters:
shuffle(by default off) applies random uniform shuffling to the instancessubsample(by default off) applies sub-sampling with or without replacementreplace(by defaultFalse) selects sub-sampling with or without
replacement
Caution: the instance index of the transform output will correspond to the split index only if shuffle=False and subsample=None (unless by coincidence)
Schnellstart
from sktime.transformations.bootstrap import SplitterBootstrapTransformer
estimator = SplitterBootstrapTransformer(splitter=None, fold='train', shuffle=False, subsample=None, replace=True, random_state=None)Parameter(6)
- splitteroptional, sktime splitter, BaseSplitter descendant
- default = SlidingWindowSplitter(window_length=3, step_length=1) The splitter used for the bootstrap splitting.
- foldstr, one of “train” (default), “test”, and “both”
Determines which fold is returned as new instances in the panel. “train” - the training folds; “test” - the test folds; “both” - both training and test folds, and an additional string level with possible values
"train"and"test"is present- shufflebool, default=False
- whether to shuffle the order of folds uniformly at random before returning if not, folds will be returned in the ordering defined by the splitter
- subsampleoptional, int or float, default = None
if provided, subsamples the folds returned uniformly at random
int= subsample of that size will be returned (or full sample if smaller)float, must be between 0 and 1 = subsample of that fraction is returned Note: integer 1 selects one series; float 1 selects number insplittermany- replacebool, default=True; only used if subsample=True
whether sampling, if
subsampleis provided is with or without replacementTrue= with replacement,False= without replacement- random_stateint, np.random.RandomState or None (default)
Random seed for the estimator if
None,numpyenvironment random seed is used ifint, passed tonumpyRandomStateas seed ifRandomState, will be used as random generator
Beispiele
>>> from sktime.transformations.bootstrap import SplitterBootstrapTransformer
>>> from sktime.datasets import load_airline
>>> y = load_airline ()
>>> transformer = SplitterBootstrapTransformer (fold = "both")
>>> y_hat = transformer. fit_transform (y)