Baselines

class dtaianomaly.anomaly_detection.baselines.AlwaysNormal[source]

Baseline anomaly detector, which predicts that all observations are normal. This detector should only be used for sanity-check, and not to effectively detect anomalies in time series data.

decision_function(X: ndarray) ndarray[source]

Predicts ‘always normal’ anomaly scores, i.e., always returns a ‘0.0’.

Parameters:

X (array-like of shape (n_samples, n_attributes)) – Input time series.

Returns:

normal_scores – All normal anomaly scores.

Return type:

array-like of shape (n_samples)

Raises:

ValueError – If X is not a valid array.

fit(X: ndarray, y: ndarray | None = None) AlwaysNormal[source]

Simply return this detector, because no fitting is required.

Parameters:
  • X (array-like of shape (n_samples, n_attributes)) – Input time series.

  • y (ignored) – Not used, present for API consistency by convention.

Returns:

self – Returns the instance itself

Return type:

AlwaysNormal

predict_proba(X: ndarray) ndarray

Predict anomaly probabilities

Estimate the probability of a sample of X being anomalous, based on the anomaly scores obtained from decision_function by rescaling them to the range of [0, 1] via min-max scaling.

Parameters:

X (array-like of shape (n_samples, n_attributes)) – Input time series.

Returns:

anomaly_scores – 1D array with the same length as X, with values in the interval [0, 1], in which a higher value implies that the instance is more likely to be anomalous.

Return type:

array-like of shape (n_samples)

Raises:
  • ValueError – If scores is not a valid array.

  • ValueError – If the prediction scores from ‘decision_function’ are constant, but not in the interval [0, 1], because these values can not unambiguously be transformed to an anomaly probability.

save(path: str | Path) None

Save detector to disk as a pickle file with extension .dtai. If the given path consists of multiple subdirectories, then the not existing subdirectories are created.

Parameters:

path (str or Path) – Location where to store the detector.

class dtaianomaly.anomaly_detection.baselines.AlwaysAnomalous[source]

Baseline anomaly detector, which predicts that all observations are anomalous. This detector should only be used for sanity-check, and not to effectively detect anomalies in time series data.

decision_function(X: ndarray) ndarray[source]

Predicts ‘always anomalous’ anomaly scores, i.e., always returns a ‘1.0’.

Parameters:

X (array-like of shape (n_samples, n_attributes)) – Input time series.

Returns:

anomalous_scores – All anomalous anomaly scores.

Return type:

array-like of shape (n_samples)

Raises:

ValueError – If X is not a valid array.

fit(X: ndarray, y: ndarray | None = None) AlwaysAnomalous[source]

Simply return this detector, because no fitting is required.

Parameters:
  • X (array-like of shape (n_samples, n_attributes)) – Input time series.

  • y (ignored) – Not used, present for API consistency by convention.

Returns:

self – Returns the instance itself

Return type:

AlwaysAnomalous

predict_proba(X: ndarray) ndarray

Predict anomaly probabilities

Estimate the probability of a sample of X being anomalous, based on the anomaly scores obtained from decision_function by rescaling them to the range of [0, 1] via min-max scaling.

Parameters:

X (array-like of shape (n_samples, n_attributes)) – Input time series.

Returns:

anomaly_scores – 1D array with the same length as X, with values in the interval [0, 1], in which a higher value implies that the instance is more likely to be anomalous.

Return type:

array-like of shape (n_samples)

Raises:
  • ValueError – If scores is not a valid array.

  • ValueError – If the prediction scores from ‘decision_function’ are constant, but not in the interval [0, 1], because these values can not unambiguously be transformed to an anomaly probability.

save(path: str | Path) None

Save detector to disk as a pickle file with extension .dtai. If the given path consists of multiple subdirectories, then the not existing subdirectories are created.

Parameters:

path (str or Path) – Location where to store the detector.

class dtaianomaly.anomaly_detection.baselines.RandomDetector(seed: int | None = None)[source]

Baseline anomaly detector, which assigns random anomaly scores. This detector should only be used for sanity-check, and not to effectively detect anomalies in time series data.

Parameters:

seed (int, default=None) – The seed to use for generating anomaly scores. If None, no seed will be used.

decision_function(X: ndarray) ndarray[source]

Predicts random anomaly scores. Uses numpy random-number generator, without adjusting the internal seed of numpy.

Parameters:

X (array-like of shape (n_samples, n_attributes)) – Input time series.

Returns:

random_scores – Random anomaly scores.

Return type:

array-like of shape (n_samples)

Raises:

ValueError – If X is not a valid array.

fit(X: ndarray, y: ndarray | None = None) RandomDetector[source]

Simply return this detector, because no fitting is required.

Parameters:
  • X (array-like of shape (n_samples, n_attributes)) – Input time series.

  • y (ignored) – Not used, present for API consistency by convention.

Returns:

self – Returns the instance itself

Return type:

RandomDetector

predict_proba(X: ndarray) ndarray

Predict anomaly probabilities

Estimate the probability of a sample of X being anomalous, based on the anomaly scores obtained from decision_function by rescaling them to the range of [0, 1] via min-max scaling.

Parameters:

X (array-like of shape (n_samples, n_attributes)) – Input time series.

Returns:

anomaly_scores – 1D array with the same length as X, with values in the interval [0, 1], in which a higher value implies that the instance is more likely to be anomalous.

Return type:

array-like of shape (n_samples)

Raises:
  • ValueError – If scores is not a valid array.

  • ValueError – If the prediction scores from ‘decision_function’ are constant, but not in the interval [0, 1], because these values can not unambiguously be transformed to an anomaly probability.

save(path: str | Path) None

Save detector to disk as a pickle file with extension .dtai. If the given path consists of multiple subdirectories, then the not existing subdirectories are created.

Parameters:

path (str or Path) – Location where to store the detector.