class_docstr: 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``.
  
  Parameters
  ----------
  num_kernels : int, default=10,000
     number of random convolutional kernels. The calculated number of features is the
     nearest multiple of n_features_per_kernel(default 4)*84=336 < 50,000
     (2*n_features_per_kernel(default 4)*num_kernels(default 10,000)).
  max_dilations_per_kernel : int, default=32
      maximum number of dilations per kernel.
  reference_length : int 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_series : float or None, default=None
      if padding series with len<9 to value. if None, not padding is performed.
  n_jobs : int, default=1
      The number of jobs to run in parallel for `transform`. ``-1`` means using all
      processors.
  random_state : None or int, default = None
  
  Examples
  --------
  >>> from sktime.transformations.panel.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
  ... ) # doctest: +SKIP
  >>> pre_clf.fit(X_train, y=None) # doctest: +SKIP
  MiniRocketMultivariateVariable(...)
  >>> X_transformed = pre_clf.transform(X_test) # doctest: +SKIP
  >>> X_transformed.shape # doctest: +SKIP
  (370, 9996)
  
  Raises
  ------
  ValueError
      If any multivariate series_length in X is < 9 and
      pad_value_short_series is set to None
  
  See Also
  --------
  MultiRocket, MiniRocket, MiniRocketMultivariate, Rocket
  
  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
docstr: Transform input time series.
  
  Parameters
  ----------
  X : pd.DataFrame with nested columns
      Dataframe with n_instances-rows and n_dimensions-columns,
      each cell containing a series_length-long array
  
  y : ignored argument for interface compatibility
  
  Returns
  -------
      pandas.DataFrame, size (n_instances, num_kernels)
  
  Raises
  ------
  ValueError
      If any multivariate series_length in X is < 9 and
      pad_value_short_series is set to None
code: def _transform(self, X, y=None):
      """Transform input time series.
  
      Parameters
      ----------
      X : pd.DataFrame with nested columns
          Dataframe with n_instances-rows and n_dimensions-columns,
          each cell containing a series_length-long array
  
      y : ignored argument for interface compatibility
  
      Returns
      -------
          pandas.DataFrame, size (n_instances, num_kernels)
  
      Raises
      ------
      ValueError
          If any multivariate series_length in X is < 9 and
          pad_value_short_series is set to None
      """
      from numba import get_num_threads, set_num_threads
  
      from sktime.transformations.panel.rocket._minirocket_multi_var_numba import (
          _transform_multi_var,
      )
  
      X_2d_t, L = _nested_dataframe_to_transposed2D_array_and_len_list(
          X, pad=self.pad_value_short_series
      )
      # change n_jobs depended on value and existing cores
      prev_threads = get_num_threads()
      if self.n_jobs < 1 or self.n_jobs > multiprocessing.cpu_count():
          n_jobs = multiprocessing.cpu_count()
      else:
          n_jobs = self.n_jobs
      set_num_threads(n_jobs)
      X_ = _transform_multi_var(X_2d_t, L, self.parameters)
      set_num_threads(prev_threads)
      return pd.DataFrame(X_)
  
file_path: sktime/sktime/transformations/panel/rocket/_minirocket_multivariate_variable.py
imports: import multiprocessing
  import warnings
  from typing import List, Union
  import numpy
  import pandas
  from sktime.transformations.base import BaseTransformer
label_desc: Use image node_id 3 for calling the MiniRocketMultivariateVariable obj's underlying member method code with example usage: obj._transform(X, y) and returns: pd