class_docstr: FrequencyPerturber performs FFT on the noise structure of the time series
  data, and removes high frequencies to from the spectra, and reconstruct the
  residual (noise) and added it back to the signal (mean) for generating the
  perturbed instance. Number of frequencies to be removed is specified by the
  truncate_frequencies argument.
class_docstr_tok: ["FrequencyPerturber","performs","FFT","on","the","noise","structure","of","the","time","series","data",",","and","removes","high","frequencies","to","from","the","spectra",",","and","reconstruct","the","residual","(","noise",")","and","added","it","back","to","the","signal","(","mean",")","for","generating","the","perturbed","instance",".","Number","of","frequencies","to","be","removed","is","specified","by","the","truncate_frequencies","argument","."]
docstr: FrequencyPerturber initialization
  
  Args:
      window_length (int): window length for noise estimation. Defaults to 5.
      truncate_frequencies (int): number of frequencies to truncate. Defaults to 4.
      block_length (int): length of the contiguous time window (block) to perturb. Defaults to 5.
docstr_tok: ["FrequencyPerturber","initialization","Args",":","window_length","(","int",")",":","window","length","for","noise","estimation",".","Defaults","to","5.","truncate_frequencies","(","int",")",":","number","of","frequencies","to","truncate",".","Defaults","to","4.","block_length","(","int",")",":","length","of","the","contiguous","time","window","(","block",")","to","perturb",".","Defaults","to","5","."]
code: def __init__(
      self,
      window_length: int = 5,
      truncate_frequencies: int = 5,
      block_length: int = 5,
  ):
      """FrequencyPerturber initialization
  
      Args:
          window_length (int): window length for noise estimation. Defaults to 5.
          truncate_frequencies (int): number of frequencies to truncate. Defaults to 4.
          block_length (int): length of the contiguous time window (block) to perturb. Defaults to 5.
      """
      super(FrequencyPerturber, self).__init__()
      self._mean = None
      self._residual = None
      self._data_length = None
      self._parameters = dict()
      self._parameters["window_length"] = window_length
      self._parameters["truncate_frequencies"] = truncate_frequencies
      self._parameters["block_length"] = block_length
  
file_path: AIX360/aix360/algorithms/tsutils/tsperturbers/frequency_perturber.py
imports: import numpy
  import pandas
  from typing import Union
  from aix360.algorithms.tsutils.tsframe import tsFrame
  from aix360.algorithms.tsutils.tsperturbers.tsperturber import BlockSelector, TSPerturber
  from aix360.algorithms.tsutils.tsperturbers.perturber_utils import ts_split_mean_residual
label_desc: Use image node_id 1 to create a new FrequencyPerturber object from inherited base classes: TSPerturber with example: obj = FrequencyPerturber(window_length, truncate_frequencies, block_length)