class_docstr: Transformer that rolls a sliding window along a time series, and
  aggregates using a user-selected operation.
  
  Parameters
  ----------
  window: int or str
      Size of the rolling time window.
  
      - If int, it is the number of time point in this time window.
      - If str, it must be able to be converted into a pandas Timedelta
        object.
  
  agg: str or function
      Aggregation method applied to series.
      If str, must be one of supported built-in methods:
  
      - 'mean': mean of all values in a rolling window.
      - 'median': median of all values in a rolling window.
      - 'sum': summation of all values in a rolling window.
      - 'min': minimum of all values in a rolling window.
      - 'max': maximum of all values in a rolling window.
      - 'std': sample standard deviation of all values in a rolling window.
      - 'var': sample variance of all values in a rolling window.
      - 'skew': skewness of all values in a rolling window.
      - 'kurt': kurtosis of all values in a rolling window.
      - 'count': number of non-nan values in a rolling window.
      - 'nnz': number of non-zero values in a rolling window.
      - 'nunique': number of unique values in a rolling window.
      - 'quantile': quantile of all values in a rolling window. Require
        percentile parameter `q` in in parameter `agg_params`, which is a
        float or a list of float between 0 and 1 inclusive.
      - 'iqr': interquartile range, i.e. difference between 75% and 25%
        quantiles.
      - 'idr': interdecile range, i.e. difference between 90% and 10%
        quantiles.
      - 'hist': histogram of all values in a rolling window. Require
        parameter `bins` in parameter `agg_params` to define the bins. `bins`
        is either a list of floats, b1, ..., bn, which defines n-1 bins
        [b1, b2), [b2, b3), ..., [b{n-2}, b{n-1}), [b{n-1}, bn], or an
        integer that defines the number of equal-width bins in the range of
        input series.
  
      If function, it should accept a rolling window in form of a pandas
      Series, and return either a scalar or a 1D numpy array. To specify
      names of outputs, specify a list of strings as a parameter `names` in
      parameter `agg_params`.
  
      Default: 'mean'
  
  agg_params: dict, optional
      Parameters of aggregation function. Default: None.
  
  center: bool, optional
      Whether the calculation is at the center of time window or on the right
      edge. Default: False.
  
  min_periods: int, optional
      Minimum number of observations in window required to have a value.
      Default: None, i.e. all observations must have values.
code: def __init__(
      self,
      window: Union[int, str],
      agg: Union[
          str, Callable[[pd.Series], Union[float, np.ndarray]]
      ] = "mean",
      agg_params: Optional[Dict[str, Any]] = None,
      center: bool = False,
      min_periods: Optional[int] = None,
  ) -> None:
      super().__init__()
      self.agg = agg
      self.agg_params = agg_params
      self.window = window
      self.center = center
      self.min_periods = min_periods
      self._closed = None
  
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 1 to create a new RollingAggregate object from inherited base classes: _NonTrainableUnivariateTransformer with example: obj = RollingAggregate(window, agg, agg_params, center, min_periods)