Back to models
Transformer

MiniRocketMultivariateCython

MiniRocket multivariate transform, Cython backend (no numba).

Numerically equivalent to MiniRocketMultivariate but uses ahead-of-time compiled Cython kernels instead of numba, eliminating JIT “warmup” latency (which can exceed 30s on the first transform of larger series). The numba MiniRocketMultivariate is retained as the reference/groundtruth.

MiniRocketMultivariate [1] is an almost deterministic version of Rocket. It creates convolutions of length 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. Works with univariate and multivariate time series.

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

Quickstart

python
from sktime.transformations.rocket import MiniRocketMultivariateCython

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

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 be 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

Number of threads used in transform (the GIL-releasing Cython kernel is run over disjoint instance chunks). -1 uses all processors.

random_stateNone or int, default = None

Examples

>>> from sktime.transformations.rocket import MiniRocketMultivariateCython
>>> from sktime.datasets import load_basic_motions
>>> X_train, y_train = load_basic_motions (split = "train")
>>> trf = MiniRocketMultivariateCython (num_kernels = 512)
>>> trf. fit (X_train) MiniRocketMultivariateCython(
... )
>>> X_train = trf. transform (X_train)

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