PiecewiseAggregateApproximation
- class dtaianomaly.preprocessing.PiecewiseAggregateApproximation(n: int)[source]
Perform piecewise aggregate approximation [19].
Piecewise Aggregate Approximation (PAA) is a form of dimensionality reduction of time series, originally proposed for fast indexing of time series in large databases. Given a value for \(n\), PAA divides the time series in \(n\) equi-sized frames. Next, each frame is replaced by its mean value. Specifically, for a time series \(x\) of length \(N\), position \(i\) in the transformed time series \(y\) equals:
\[y_i = \frac{n}{N} \displaystyle\sum_{j=N/N(i-1)+1}^{(n/N)i} x_j\]For multivariate time series, the dimension of each attribute is reduced independently, but the same frames are used.
- Parameters:
- nint
The number of equi-sized frames to generate.
Examples
>>> from dtaianomaly.preprocessing import PiecewiseAggregateApproximation >>> from dtaianomaly.data import demonstration_time_series >>> X, y = demonstration_time_series() >>> preprocessor = PiecewiseAggregateApproximation(n=8) >>> X_, y_ = preprocessor.fit_transform(X, y)
- check_is_fitted() None
Raise an error if this object is not fitted.
Check whether this object is fitted, and if it is not fitted, an exception is thrown.
- Raises:
- NotFittedError
If this object is not fitted.
- fit(X: ndarray, y: ndarray = None) Preprocessor
Fit this preprocessor.
First checks the inputs with
check_preprocessing_inputs(), and then fits this preprocessor.- Parameters:
- Xarray-like of shape (n_samples, n_attributes)
Raw time series.
- yarray-like, default=None
Ground-truth information.
- Returns:
- Preprocessor
Returns the fitted instance self.
- fit_transform(X: ~numpy.ndarray, y: ~numpy.ndarray = None) -> (<class 'numpy.ndarray'>, numpy.ndarray | None)
Fit this preprocessor and transform the given time series.
First checks the inputs with
check_preprocessing_inputs(), and then chains the fit and transform methods on the given data, i.e., first fit this preprocessor on the given X and y, after which the given X and y will be transformed.- Parameters:
- Xarray-like of shape (n_samples, n_attributes)
Raw time series.
- yarray-like of shape (n_samples), default=None
Ground-truth information.
- Returns:
- X_transformednp.ndarray of shape (n_samples, n_attributes)
Preprocessed raw time series.
- y_transformednp.ndarray of shape (n_samples)
The transformed ground truth. If no ground truth was provided (y=None), then None will be returned as well.
- is_fitted() bool
Check whether this object is fitted.
Check whether all the attributes of this object that end with an underscore (‘_’) has been initialized.
- Returns:
- bool
True if and only if all the attributes of this object ending with ‘_’ are initialized.
- requires_fitting() bool
Check whether this object requires fitting.
Check whether any of the attributes of this object ends with an underscore (‘_’), which indicates that the attribute is set when the object is fitted. Note that this method does not check whether the object is fitted, i.e., whether the attributes have been set.
- Returns:
- bool
True if and only if this object has attributes that end with ‘_’.
- transform(X: ~numpy.ndarray, y: ~numpy.ndarray = None) -> (<class 'numpy.ndarray'>, numpy.ndarray | None)
Transform the given time series.
First checks the inputs with
check_preprocessing_inputs(), and then transforms (i.e., preprocesses) the given time series.- Parameters:
- Xarray-like of shape (n_samples, n_attributes)
Raw time series.
- yarray-like of shape (n_samples), default=None
Ground-truth information.
- Returns:
- X_transformednp.ndarray of shape (n_samples, n_attributes)
Preprocessed raw time series.
- y_transformednp.ndarray of shape (n_samples)
The transformed ground truth. If no ground truth was provided (y=None), then None will be returned as well.