MovingAverage

class dtaianomaly.preprocessing.MovingAverage(window_size: int)[source]

Compute the moving average of a time series.

To compute the moving average at time \(t\), i.e., the unweighted average of the observations within a window. The window is centered at position \(t\). For an odd window size, the number of measurements taken before and after \(t\) is equal (namely (window_size - 1 ) / 2. For an even window size, there is one additional observation taken before \(t\), to ensure a correct window size. For multivariate time series, the moving average is computed within each attribute independently.

Parameters:
window_sizeint

Length of the window in which the average should be computed.

Examples

>>> from dtaianomaly.preprocessing import MovingAverage
>>> from dtaianomaly.data import demonstration_time_series
>>> X, y = demonstration_time_series()
>>> preprocessor = MovingAverage(window_size=16)
>>> 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.