CombinedDetector

CombinedDetector(detectors)

Combine detectors.

It is possible to combine several anomaly detection strategies into a combined detector. Anomalies are detected if ANY of the constituent detectors flags an anomaly (OR logic).

Parameters

Name Type Description Default
detectors list of Detector List of detector instances to combine. required

Examples

>>> normal_data = pd.Series(np.random.normal(size=100))
>>> abnormal_data = pd.Series(np.random.normal(size=100))
>>> abnormal_data[[2, 6, 15, 57, 60, 73]] = 5
>>> anomaly_detector = CombinedDetector([RangeDetector(), DiffDetector()])
>>> anomaly_detector.fit(normal_data)
>>> detected_anomalies = anomaly_detector.detect(abnormal_data)

Methods

Name Description
detect Detect anomalies
fit Set detector parameters based on data.
save Save a detector for later use.
validate Check that input data is in correct format and possibly adjust.

detect

CombinedDetector.detect(data)

Detect anomalies

Parameters

Name Type Description Default
data Union[pd.Series, pd.DataFrame] Time series data with possible anomalies required

Returns

Name Type Description
pd.Series or pd.DataFrame Time series with bools, True == anomaly.

fit

CombinedDetector.fit(data)

Set detector parameters based on data.

Parameters

Name Type Description Default
data Union[pd.Series, pd.DataFrame] Normal (non-anomalous) time series data for training. If DataFrame, must contain exactly one column required

Returns

Name Type Description
Self

save

CombinedDetector.save(path)

Save a detector for later use.

Parameters

Name Type Description Default
path str or Path File path to save the detector to. required

validate

CombinedDetector.validate(data)

Check that input data is in correct format and possibly adjust.

Parameters

Name Type Description Default
data pd.Series or pd.DataFrame Input data to validate. required

Returns

Name Type Description
pd.DataFrame Validated data.

Raises

Name Type Description
WrongInputDataTypeError If data is not a pd.Series or pd.DataFrame.