class_docstr: Multivariate transformer derived from a user-given function and parameters.
  
  Parameters
  ----------
  Parameters
  ----------
  transform_func: function
      A function transforming multivariate time series.
  
      The first input argument must be a pandas DataFrame, optional input
      argument may be accepted through parameter `transform_func_params` and
      the output of `fit_func`, and the output must be a pandas Series or
      DataFrame with the same index as input.
  
  transform_func_params: dict, optional
      Parameters of `transform_func`. Default: None.
  
  fit_func: function, optional
      A function training parameters of `transform_func` with multivariate
      time series.
  
      The first input argument must be a pandas DataFrame, optional input
      argument may be accepted through parameter `fit_func_params`, and the
      output must be a dict that can be used by `transform_func` as
      parameters. Default: None.
  
  fit_func_params: dict, optional
      Parameters of `fit_func`. Default: None.
code: def _predict_core(
      self, df: pd.DataFrame
  ) -> Union[pd.Series, pd.DataFrame]:
      if self.transform_func_params is not None:
          transform_func_params = self.transform_func_params
      else:
          transform_func_params = {}
      if self.fit_func is not None:
          return self.transform_func(
              df,
              **{
                  **self._fitted_transform_func_params,
                  **transform_func_params,
              },
          )
      else:
          return self.transform_func(df, **transform_func_params)
  
imports: from typing import Any, Callable, Dict, Optional, Tuple, Union
  import pandas
  from sklearn.decomposition import PCA
  from .._transformer_base import _NonTrainableMultivariateTransformer, _TrainableMultivariateTransformer
label_desc: Use image node_id 4 for calling the CustomizedTransformerHD obj's underlying member method code with example usage: obj._predict_core(df) and returns: self, self