class_docstr: Multivariate detector derived from a user-given function and parameters.
  
  Parameters
  ----------
  detect_func: function
      A function detecting anomalies from multivariate time series.
  
      The first input argument must be a pandas DataFrame, optional input
      argument may be accepted through parameter `detect_func_params` and the
      output of `fit_func`, and the output must be a binary pandas Series
      with the same index as input.
  
  detect_func_params: dict, optional
      Parameters of `detect_func`. Default: None.
  
  fit_func: function, optional
      A function training parameters of `detect_func` with multivariate time
      series.
  
      The first input argument must be a pandas Series, optional input
      argument may be accepted through parameter `fit_func_params`, and the
      output must be a dict that can be used by `detect_func` as parameters.
      Default: None.
  
  fit_func_params: dict, optional
      Parameters of `fit_func`. Default: None.
class_docstr_tok: ["Multivariate","detector","derived","from","a","user-given","function","and","parameters",".","Parameters","--","--","--","--","--","detect_func",":","function","A","function","detecting","anomalies","from","multivariate","time","series",".","The","first","input","argument","must","be","a","pandas","DataFrame",",","optional","input","argument","may","be","accepted","through","parameter","`","detect_func_params","`","and","the","output","of","`","fit_func","`",",","and","the","output","must","be","a","binary","pandas","Series","with","the","same","index","as","input",".","detect_func_params",":","dict",",","optional","Parameters","of","`","detect_func","`",".","Default",":","None",".","fit_func",":","function",",","optional","A","function","training","parameters","of","`","detect_func","`","with","multivariate","time","series",".","The","first","input","argument","must","be","a","pandas","Series",",","optional","input","argument","may","be","accepted","through","parameter","`","fit_func_params","`",",","and","the","output","must","be","a","dict","that","can","be","used","by","`","detect_func","`","as","parameters",".","Default",":","None",".","fit_func_params",":","dict",",","optional","Parameters","of","`","fit_func","`",".","Default",":","None","."]
code: def _param_names(self) -> Tuple[str, ...]:
      return (
          "detect_func",
          "detect_func_params",
          "fit_func",
          "fit_func_params",
      )
  
imports: from collections import Counter
  from typing import Any, Callable, Dict, Optional, Tuple
  import pandas
  from .._detector_base import _TrainableMultivariateDetector
  from ..aggregator import AndAggregator
  from ..detector import InterQuartileRangeAD, ThresholdAD
  from ..pipe import Pipeline, Pipenet
  from ..transformer import CustomizedTransformer1D, PcaReconstructionError, RegressionResidual
label_desc: Use image node_id 2 for calling the CustomizedDetectorHD obj's underlying member method code with example usage: obj._param_names() and returns: str,  str,  str,  str