class_docstr: Transformer for multivariate time series.
  
  It provides a convenient class to transform multivariate time series with
  transformers that can only deal with univariate time series.
  
  Parameters
  ----------
  estimator : estimator object or list thereof
      Transformer. If one estimator is provided, it is cloned and each clone
      transforms one feature. If a list of estimators is provided, each
      estimator transforms one feature.
  
  flatten : bool (default = True)
      Affect shape of transform output. If True, ``transform``
      returns an array with shape (n_samples, \*). If False, the output of
      ``transform`` from each estimator must have the same shape and
      ``transform`` returns an array with shape (n_samples, n_features, \*).
      Ignored if the transformers return sparse matrices.
  
  Attributes
  ----------
  estimators_ : list of estimator objects
      The collection of fitted transformers.
  
  Examples
  --------
  >>> from pyts.datasets import load_basic_motions
  >>> from pyts.multivariate.transformation import MultivariateTransformer
  >>> from pyts.image import GramianAngularField
  >>> X, _, _, _ = load_basic_motions(return_X_y=True)
  >>> transformer = MultivariateTransformer(GramianAngularField(),
  ...                                       flatten=False)
  >>> X_new = transformer.fit_transform(X)
  >>> X_new.shape
  (40, 6, 100, 100)
docstr: Pass.
  
  Parameters
  ----------
  X : array-like, shape = (n_samples, n_features, n_timestamps)
      Multivariate time series.
  
  y : None or array-like, shape = (n_samples,) (default = None)
      Class labels.
  
  Returns
  -------
  self : object
docstr_tok: ["Pass",".","Parameters","--","--","--","--","--","X",":","array-like",",","shape","=","(","n_samples",",","n_features",",","n_timestamps",")","Multivariate","time","series",".","y",":","None","or","array-like",",","shape","=","(","n_samples",",",")","(","default","=","None",")","Class","labels",".","Returns","--","--","--","-","self",":","object"]
code: def fit(self, X, y=None):
      """Pass.
  
      Parameters
      ----------
      X : array-like, shape = (n_samples, n_features, n_timestamps)
          Multivariate time series.
  
      y : None or array-like, shape = (n_samples,) (default = None)
          Class labels.
  
      Returns
      -------
      self : object
  
      """
      X = check_3d_array(X)
      _, n_features, _ = X.shape
      self._check_params(n_features)
      for i, transformer in enumerate(self.estimators_):
          transformer.fit(X[:, i, :], y)
      return self
  
file_path: pyts/pyts/multivariate/transformation/multivariate.py
imports: import numpy
  from scipy.sparse import csr_matrix, hstack
  from sklearn.base import BaseEstimator, clone
  from sklearn.utils.validation import check_is_fitted
  from ...base import MultivariateTransformerMixin
  from ..utils import check_3d_array
label_desc: Use image node_id 2 for calling the MultivariateTransformer obj's underlying member method code with example usage: obj.fit(X, y) and returns: self