class_docstr: This class implements an algorithm for converting an original time series into a Hankel matrix.
class_docstr_tok: ["This","class","implements","an","algorithm","for","converting","an","original","time","series","into","a","Hankel","matrix","."]
code: def __init__(
      self,
      time_series: Union[pd.DataFrame, pd.Series, np.ndarray, list],
      window_size: int = None,
      strides: int = 1,
  ):
      self.__time_series = time_series
      self.__convert_ts_to_array()
      self.__window_length = window_size
      self.__strides = strides
      if len(self.__time_series.shape) > 1:
          self.__ts_length = self.__time_series[0].size
      else:
          self.__ts_length = self.__time_series.size
  
      if self.__window_length is None:
          self.__window_length = round(self.__ts_length * 0.35)
      else:
          self.__window_length = round(self.__window_length)
      self.__subseq_length = self.__ts_length - self.__window_length + 1
  
      self.__check_windows_length()
      if len(self.__time_series.shape) > 1:
          self.__trajectory_matrix = self.__get_2d_trajectory_matrix()
      else:
          self.__trajectory_matrix = self.__get_1d_trajectory_matrix()
  
file_path: FEDOT/fedot/core/operations/evaluation/operation_implementations/data_operations/topological/hankel_matrix.py
imports: from typing import Union
  import numpy
  import pandas
  from scipy.linalg import hankel
label_desc: Use image node_id 1 to create a new HankelMatrix object  with example: obj = HankelMatrix(time_series, window_size, strides)