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
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
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
data
Union[pd.Series, pd.DataFrame]
Time series data with possible anomalies
required
Returns
pd.Series or pd.DataFrame
Time series with bools, True == anomaly.
fit
CombinedDetector.fit(data)
Set detector parameters based on data.
Parameters
data
Union[pd.Series, pd.DataFrame]
Normal (non-anomalous) time series data for training. If DataFrame, must contain exactly one column
required
save
CombinedDetector.save(path)
Save a detector for later use.
Parameters
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
data
pd.Series or pd.DataFrame
Input data to validate.
required
Returns
pd.DataFrame
Validated data.
Raises
WrongInputDataTypeError
If data is not a pd.Series or pd.DataFrame.