class_docstr: Transformer that returns dataframe with retrospective values, i.e. a row
  at time t includes value at (t-k)'s where k's are specified by user.
  
  This transformer may be useful for cases where lagging effect should be
  taken in account. For example, a change of control u may not be reflected
  in outcome y within 2 minutes, and its effect may last for another 3
  minutes. In this case, a dataframe where each row include u_[t-3], u_[t-4],
  u_[t-5], and a series y_t are needed to learn the relationship between
  control and outcome.
  
  Parameters
  ----------
  n_steps: int, optional
      Number of retrospective steps to take. Default: 1.
  step_size: int, optional
      Length of a retrospective step. Default: 1.
  till: int, optional
      Nearest retrospective step. Default: 0, i.e. the current time step.
  
  Examples
  --------
  >>> s = pd.Series(
          np.arange(10),
          index=pd.date_range(
              start='2017-1-1',
              periods=10,
              freq='D'))
          2017-01-01    0
          2017-01-02    1
          2017-01-03    2
          2017-01-04    3
          2017-01-05    4
          2017-01-06    5
          2017-01-07    6
          2017-01-08    7
          2017-01-09    8
          2017-01-10    9
  >>> Retrospect(n_steps=3, step_size=2, till=1).transform(s)
                      t-1     t-3     t-5
          2017-01-01  NaN     NaN     NaN
          2017-01-02  0.0     NaN     NaN
          2017-01-03  1.0     NaN     NaN
          2017-01-04  2.0     0.0     NaN
          2017-01-05  3.0     1.0     NaN
          2017-01-06  4.0     2.0     0.0
          2017-01-07  5.0     3.0     1.0
          2017-01-08  6.0     4.0     2.0
          2017-01-09  7.0     5.0     3.0
          2017-01-10  8.0     6.0     4.0
code: def _param_names(self) -> Tuple[str, ...]:
      return ("n_steps", "step_size", "till")
  
imports: from typing import Any, Callable, Dict, List, Optional, Tuple, Union
  import numpy
  import pandas
  import statsmodels
  from packaging.version import parse
  from statsmodels.tsa.seasonal import seasonal_decompose
  from statsmodels.tsa.stattools import acf
  from .._transformer_base import _NonTrainableUnivariateTransformer, _TrainableUnivariateTransformer
  from .._utils import PandasBugError
label_desc: Use image node_id 2 for calling the Retrospect obj's underlying member method code with example usage: obj._param_names() and returns: str,  str,  str