Back to models
Transformer

MiniRocketMultivariateVariable

MINIROCKET (Multivariate, unequal length).

MINImally RandOm Convolutional KErnel Transform. [1]

Multivariate and unequal length

A provisional and naive extension of MINIROCKET to multivariate input with unequal length provided by the authors [2]. For better performance, use the sktime class MiniRocket for univariate input, and MiniRocketMultivariate to equal length multivariate input.

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 MiniRocketMultivariateVariable

estimator = MiniRocketMultivariateVariable(num_kernels=10000, max_dilations_per_kernel=32, reference_length='max', pad_value_short_series=None, n_jobs=1, random_state=None)

Parameters(6)

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.
reference_lengthint or str, default = 'max'

series-length of reference, str defines how to infer from X during ‘fit’. options are 'max', 'mean', 'median', 'min'.

pad_value_short_seriesfloat or None, default=None
if padding series with len<9 to value. if None, not padding is performed.
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 MiniRocketMultivariateVariable
>>> from sktime.datasets import load_japanese_vowels
>>> # load multivariate and unequal length dataset
>>> X_train, _ = load_japanese_vowels (split = "train", return_X_y = True)
>>> X_test, _ = load_japanese_vowels (split = "test", return_X_y = True)
>>> pre_clf = MiniRocketMultivariateVariable (
... pad_value_short_series = 0.0
... )
>>> pre_clf. fit (X_train, y = None) MiniRocketMultivariateVariable(
... )
>>> X_transformed = pre_clf. transform (X_test)
>>> X_transformed. shape (370, 9996)

References

[1]

Angus Dempster, Daniel F Schmidt, Geoffrey I Webb MINIROCKET: A Very Fast (Almost) Deterministic Transform for Time Series Classification, 2020, arXiv:2012.08791

[2]

Angus Dempster, Daniel F Schmidt, Geoffrey I Webb https://github.com/angus924/minirocket