Back to models
Transformer

MiniRocketMultivariate

MINImally RandOm Convolutional KErnel Transform (MiniRocket) multivariate.

MiniRocketMultivariate [1] is an almost deterministic version of Rocket. If creates convolutions of length of 9 with weights restricted to two values, and uses 84 fixed convolutions with six of one weight, three of the second weight to seed dilations. MiniRocketMultivariate works with univariate and multivariate time series.

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 MiniRocketMultivariate

estimator = MiniRocketMultivariate(num_kernels=10000, max_dilations_per_kernel=32, n_jobs=1, random_state=None)

Tags

Capabilities

  • Multivariate
  • Unequal-length series
  • Inverse transform: Not supported
  • Missing values: Not supported
  • Removes missing values: Not supported
  • Equalizes series length: Not supported

Properties

Input typescitype:transform-input
Series
Output typescitype:transform-output
Primitives
Label typescitype:transform-labels
None
Fit is emptyfit_is_empty
No
Keeps the time indextransform-returns-same-time-index
No
Requires Xrequires_X
Yes
Requires yrequires_y
No
X and y need the same indexX-y-must-have-same-index
No

Parameters(4)

num_kernelsint, default=10,000
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_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 MiniRocketMultivariate
>>> 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 = MiniRocketMultivariate (num_kernels = 512)
>>> trf. fit (X_train) MiniRocketMultivariate(
... )
>>> X_train = trf. transform (X_train)
>>> X_test = trf. transform (X_test)

References

[1]

Dempster, Angus and Schmidt, Daniel F and Webb, Geoffrey I, “MINIROCKET: A Very Fast (Almost) Deterministic Transform for Time Series Classification”,2020, https://dl.acm.org/doi/abs/10.1145/3447548.3467231, https://arxiv.org/abs/2012.08791