Back to models
Transformer

MultiRocketMultivariate

Multi RandOm Convolutional KErnel Transform (MultiRocket).

MultiRocket [1] is uses the same set of kernels as MiniRocket on both the raw series and the first order differenced series representation. It uses a different set of dilations and used for each representation. In addition to percentage of positive values (PPV) MultiRocket adds 3 pooling operators: Mean of Positive Values (MPV); Mean of Indices of Positive Values (MIPV); and Longest Stretch of Positive Values (LSPV). This version is the multivariate version.

This transformer fits one set of paramereters per individual series, and applies the transform with fitted parameter i to the i-th series in transform. Vanilla use requires same number of series in fit and transform.

To fit and transform series at the same time, without an identification of fit/transform instances, wrap this transformer in FitInTransform, from sktime.transformations.compose.

Quickstart

python
from sktime.transformations.rocket import MultiRocketMultivariate

estimator = MultiRocketMultivariate(num_kernels=6250, max_dilations_per_kernel=32, n_features_per_kernel=4, normalise=False, n_jobs=1, random_state=None)

Parameters(6)

num_kernelsint, default=6,250
number of random convolutional kernels. This should be a multiple of 84. If it is lower than 84, it will be set to 84. If it is higher than 84 and not a multiple of 84, the number of kernels used to transform the data will rounded down to the next positive multiple of 84.
max_dilations_per_kernelint, default=32
maximum number of dilations per kernel.
n_features_per_kernelint, default =4
number of features per kernel.
normalisebool, default False
n_jobsint, default=1

The number of jobs to run in parallel for transform. -1 means using all processors.

random_stateNone or int, default = None

Examples

>>> from sktime.transformations.rocket import Rocket
>>> from sktime.datasets import load_basic_motions
>>> X_train, y_train = load_basic_motions (split = "train")
>>> X_test, y_test = load_basic_motions (split = "test")
>>> trf = MultiRocketMultivariate (num_kernels = 512)
>>> trf. fit (X_train) MultiRocketMultivariate(
... )
>>> X_train = trf. transform (X_train)
>>> X_test = trf. transform (X_test)

References

[1]

Tan, Chang Wei and Dempster, Angus and Bergmeir, Christoph and

Webb, Geoffrey I, “MultiRocket: Multiple pooling operators and transformations for fast and effective time series classification”,2022, https://link.springer.com/article/10.1007/s10618-022-00844-1 https://arxiv.org/abs/2102.00457