pysad.models.integrations.ReferenceWindowModel

class pysad.models.integrations.ReferenceWindowModel(model_cls, window_size, sliding_size, initial_window_X=None, initial_window_y=None, **kwargs)[source]

This PyOD model wrapper wraps the batch anomaly detectors. This wrapper keeps track of the reference window of size window_length. For every sliding_size instnaces, it resets the model by training new model_cls instance with the reference window. This implementation is based on the reference windowing described in [BMLA18].

Parameters:
  • model_cls (class) – The model class to be instantiated.

  • window_size (int) – The size of each window.

  • sliding_size (int) – The sliding length of the windows.

  • initial_X (np.float64 array of shape (num_initial_instances, num_features)) – Initial instances to fit.

  • initial_y (np.int32 array of shape (num_initial_instances,)) – Initial window’s ground truth labels. Used if not None. Needs to be None for the unsupervised model_cls models. (Default=None).

  • **kwargs (Keyword arguments) – Keyword arguments that is passed to the model_cls.

Methods

__init__(model_cls, window_size, sliding_size)

param model_cls:

fit(X[, y])

Fits the model to all instances in order.

fit_partial(X[, y])

Fits the model to next instance.

fit_score(X[, y])

This helper method applies fit_score_partial to all instances in order.

fit_score_partial(X[, y])

Applies fit_partial and score_partial to the next instance, respectively.

reset_model()

Removes the old model from the memory and instantiates a new one.

score(X)

Scores all instaces via score_partial iteratively.

score_partial(X)

Scores the anomalousness of the next instance.

fit(X, y=None)

Fits the model to all instances in order.

Parameters:
  • X (np.float64 array of shape (num_instances, num_features)) – The instances in order to fit.

  • y (int) – The labels of the instances in order to fit (Optional for unsupervised models, default=None).

Returns:

Fitted model.

Return type:

object

fit_partial(X, y=None)[source]

Fits the model to next instance.

Parameters:
  • X (np.float64 array of shape (num_features,)) – The instance to fit.

  • y (int) – The label of the instance (Optional for unsupervised models, default=None).

Returns:

self.

Return type:

object

fit_score(X, y=None)

This helper method applies fit_score_partial to all instances in order.

Parameters:
  • X (np.float64 array of shape (num_instances, num_features)) – The instances in order to fit.

  • y (np.int32 array of shape (num_instances, )) – The labels of the instances in order to fit (Optional for unsupervised models, default=None).

Returns:

The anomalousness scores of the instances in order.

Return type:

np.float64 array of shape (num_instances,)

fit_score_partial(X, y=None)

Applies fit_partial and score_partial to the next instance, respectively.

Parameters:
  • X (np.float64 array of shape (num_features,)) – The instance to fit and score.

  • y (int) – The label of the instance (Optional for unsupervised models, default=None).

Returns:

The anomalousness score of the input instance.

Return type:

float

reset_model()

Removes the old model from the memory and instantiates a new one.

score(X)

Scores all instaces via score_partial iteratively.

Parameters:

X (np.float64 array of shape (num_instances, num_features)) – The instances in order to score.

Returns:

The anomalousness scores of the instances in order.

Return type:

np.float64 array of shape (num_instances,)

score_partial(X)[source]

Scores the anomalousness of the next instance.

Parameters:

X (np.float64 array of shape (num_features,)) – The instance to score. Higher scores represent more anomalous instances whereas lower scores correspond to more normal instances.

Returns:

The anomalousness score of the input instance.

Return type:

float