pyts.approximation.PiecewiseAggregateApproximation

class pyts.approximation.PiecewiseAggregateApproximation(window_size=1, output_size=None, overlapping=True)[source]

Piecewise Aggregate Approximation.

Parameters:
window_size : int, float or None (default = 1)

Length of the sliding window. If float, it represents a percentage of the size of each time series and must be between 0 and 1.

output_size : int, float or None (default = None)

Size of the returned time series. If float, it represents a percentage of the size of each time series and must be between 0. and 1. Ignored if window_size is not None. It can’t be None if window_size is None. If you want to use output_size over window_size, you must set window_size=None.

overlapping : bool (default = True)

When window_size=None, output_size is used to derive the window size; the window size is fixed if overlapping=True and may vary if overlapping=False. Ignored if window_size is specified.

References

[1]E. Keogh, K. Chakrabarti, M. Pazzani, and S. Mehrotra, “Dimensionality reduction for fast similarity search in large time series databases”. Knowledge and information Systems, 3(3), 263-286 (2001).

Examples

>>> from pyts.approximation import PiecewiseAggregateApproximation
>>> X = [[0, 4, 2, 1, 7, 6, 3, 5],
...      [2, 5, 4, 5, 3, 4, 2, 3]]
>>> transformer = PiecewiseAggregateApproximation(window_size=2)
>>> transformer.transform(X)
array([[2. , 1.5, 6.5, 4. ],
       [3.5, 4.5, 3.5, 2.5]])

Methods

__init__([window_size, output_size, overlapping]) Initialize self.
fit([X, y]) Pass.
fit_transform(X[, y]) Fit to data, then transform it.
get_params([deep]) Get parameters for this estimator.
set_params(**params) Set the parameters of this estimator.
transform(X) Reduce the dimensionality of each time series.
__init__(window_size=1, output_size=None, overlapping=True)[source]

Initialize self. See help(type(self)) for accurate signature.

fit(X=None, y=None)[source]

Pass.

Parameters:
X

Ignored

y

Ignored

Returns:
self

object

fit_transform(X, y=None, **fit_params)

Fit to data, then transform it.

Fits transformer to X and y with optional parameters fit_params and returns a transformed version of X.

Parameters:
X : array-like, shape = (n_samples, n_timestamps)

Univariate time series.

y : None or array-like, shape = (n_samples,) (default = None)

Target values (None for unsupervised transformations).

**fit_params : dict

Additional fit parameters.

Returns:
X_new : array

Transformed array.

get_params(deep=True)

Get parameters for this estimator.

Parameters:
deep : bool, default=True

If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns:
params : dict

Parameter names mapped to their values.

set_params(**params)

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as Pipeline). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Parameters:
**params : dict

Estimator parameters.

Returns:
self : estimator instance

Estimator instance.

transform(X)[source]

Reduce the dimensionality of each time series.

Parameters:
X : array-like, shape = (n_samples, n_timestamps)
Returns:
X_new : array, shape = (n_samples, n_timestamps_new)

Examples using pyts.approximation.PiecewiseAggregateApproximation